{
  "title": "Programme adaptatif : évaluation après améliorations",
  "version": "2026-09-25",
  "license": "CC BY 4.0",
  "design": "Internal technical evaluation on constructed histories, not measured learning outcomes",
  "protocol": {
    "design": "Internal synthetic technical evaluation; no human learning outcomes",
    "groups": [
      {
        "id": "cp-spelling",
        "label": "CP · syllable spelling",
        "level": "CP",
        "notion": "dictee-syllabes",
        "category": "orthographe",
        "format": "words",
        "highCount": 3,
        "texts": [
          {
            "reference": "ma, mi, la, lu",
            "edits": [
              {
                "index": 0,
                "wrong": "na",
                "type": "orthographe"
              },
              {
                "index": 1,
                "wrong": "ni",
                "type": "orthographe"
              },
              {
                "index": 2,
                "wrong": "ra",
                "type": "orthographe"
              },
              {
                "index": 3,
                "wrong": "ru",
                "type": "orthographe"
              }
            ],
            "scores": {
              "0": 100,
              "1": 75,
              "3": 25
            }
          },
          {
            "reference": "mo, mu, li, lo",
            "edits": [
              {
                "index": 0,
                "wrong": "no",
                "type": "orthographe"
              },
              {
                "index": 1,
                "wrong": "nu",
                "type": "orthographe"
              },
              {
                "index": 2,
                "wrong": "ri",
                "type": "orthographe"
              },
              {
                "index": 3,
                "wrong": "ro",
                "type": "orthographe"
              }
            ],
            "scores": {
              "0": 100,
              "1": 75,
              "3": 25
            }
          },
          {
            "reference": "la, mi, lo, ma",
            "edits": [
              {
                "index": 0,
                "wrong": "ra",
                "type": "orthographe"
              },
              {
                "index": 1,
                "wrong": "ni",
                "type": "orthographe"
              },
              {
                "index": 2,
                "wrong": "ro",
                "type": "orthographe"
              },
              {
                "index": 3,
                "wrong": "na",
                "type": "orthographe"
              }
            ],
            "scores": {
              "0": 100,
              "1": 75,
              "3": 25
            }
          }
        ]
      },
      {
        "id": "ce1-accents",
        "label": "CE1 · accents",
        "level": "CE1",
        "notion": "accents-e",
        "category": "accent",
        "format": "words",
        "highCount": 3,
        "texts": [
          {
            "reference": "école, été, bébé, vélo, café",
            "edits": [
              {
                "index": 0,
                "wrong": "ecole",
                "type": "accent"
              },
              {
                "index": 1,
                "wrong": "ete",
                "type": "accent"
              },
              {
                "index": 2,
                "wrong": "bebe",
                "type": "accent"
              },
              {
                "index": 3,
                "wrong": "velo",
                "type": "accent"
              },
              {
                "index": 4,
                "wrong": "cafe",
                "type": "accent"
              }
            ],
            "scores": {
              "0": 100,
              "1": 80,
              "3": 40
            }
          },
          {
            "reference": "élève, frère, mère, père, tête",
            "edits": [
              {
                "index": 0,
                "wrong": "eleve",
                "type": "accent"
              },
              {
                "index": 1,
                "wrong": "frere",
                "type": "accent"
              },
              {
                "index": 2,
                "wrong": "mere",
                "type": "accent"
              },
              {
                "index": 3,
                "wrong": "pere",
                "type": "accent"
              },
              {
                "index": 4,
                "wrong": "tete",
                "type": "accent"
              }
            ],
            "scores": {
              "0": 100,
              "1": 80,
              "3": 40
            }
          },
          {
            "reference": "forêt, fête, rêve, pêche, fenêtre",
            "edits": [
              {
                "index": 0,
                "wrong": "foret",
                "type": "accent"
              },
              {
                "index": 1,
                "wrong": "fete",
                "type": "accent"
              },
              {
                "index": 2,
                "wrong": "reve",
                "type": "accent"
              },
              {
                "index": 3,
                "wrong": "peche",
                "type": "accent"
              },
              {
                "index": 4,
                "wrong": "fenetre",
                "type": "accent"
              }
            ],
            "scores": {
              "0": 100,
              "1": 80,
              "3": 40
            }
          }
        ]
      },
      {
        "id": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "level": "CE2",
        "notion": "genre-nombre-nom",
        "category": "accord",
        "format": "words",
        "highCount": 5,
        "texts": [
          {
            "reference": "les chats, les chiens, les lapins, les poules, les canards",
            "edits": [
              {
                "index": 1,
                "wrong": "chat",
                "type": "accord"
              },
              {
                "index": 3,
                "wrong": "chien",
                "type": "accord"
              },
              {
                "index": 5,
                "wrong": "lapin",
                "type": "accord"
              },
              {
                "index": 7,
                "wrong": "poule",
                "type": "accord"
              },
              {
                "index": 9,
                "wrong": "canard",
                "type": "accord"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "des fleurs, des arbres, des livres, des portes, des tables",
            "edits": [
              {
                "index": 1,
                "wrong": "fleur",
                "type": "accord"
              },
              {
                "index": 3,
                "wrong": "arbre",
                "type": "accord"
              },
              {
                "index": 5,
                "wrong": "livre",
                "type": "accord"
              },
              {
                "index": 7,
                "wrong": "porte",
                "type": "accord"
              },
              {
                "index": 9,
                "wrong": "table",
                "type": "accord"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "les vélos, les routes, les maisons, les jardins, les voitures",
            "edits": [
              {
                "index": 1,
                "wrong": "vélo",
                "type": "accord"
              },
              {
                "index": 3,
                "wrong": "route",
                "type": "accord"
              },
              {
                "index": 5,
                "wrong": "maison",
                "type": "accord"
              },
              {
                "index": 7,
                "wrong": "jardin",
                "type": "accord"
              },
              {
                "index": 9,
                "wrong": "voiture",
                "type": "accord"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          }
        ]
      },
      {
        "id": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "level": "CM1",
        "notion": "present-etre-avoir",
        "category": "conjugaison",
        "format": "sentences",
        "highCount": 5,
        "texts": [
          {
            "reference": "Je suis là. Tu as faim. Nous sommes très calmes.",
            "edits": [
              {
                "index": 1,
                "wrong": "sui",
                "type": "conjugaison"
              },
              {
                "index": 4,
                "wrong": "a",
                "type": "conjugaison"
              },
              {
                "index": 7,
                "wrong": "somme",
                "type": "conjugaison"
              },
              {
                "index": 5,
                "wrong": "fain",
                "type": "orthographe"
              },
              {
                "index": 9,
                "wrong": "calme",
                "type": "accord"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "Ils ont faim. Je suis ici. Nous sommes très calmes.",
            "edits": [
              {
                "index": 1,
                "wrong": "avons",
                "type": "conjugaison"
              },
              {
                "index": 4,
                "wrong": "sui",
                "type": "conjugaison"
              },
              {
                "index": 7,
                "wrong": "somme",
                "type": "conjugaison"
              },
              {
                "index": 2,
                "wrong": "fain",
                "type": "orthographe"
              },
              {
                "index": 9,
                "wrong": "calme",
                "type": "accord"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "Tu es là. Nous avons faim. Vous êtes très calmes.",
            "edits": [
              {
                "index": 1,
                "wrong": "est",
                "type": "conjugaison"
              },
              {
                "index": 4,
                "wrong": "avon",
                "type": "conjugaison"
              },
              {
                "index": 7,
                "wrong": "ête",
                "type": "conjugaison"
              },
              {
                "index": 5,
                "wrong": "fain",
                "type": "orthographe"
              },
              {
                "index": 9,
                "wrong": "calme",
                "type": "accord"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          }
        ]
      },
      {
        "id": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "level": "CM2",
        "notion": "majuscules",
        "category": "majuscule",
        "format": "sentences",
        "highCount": 5,
        "texts": [
          {
            "reference": "Paul et Marie retrouvent Luc, Anne et Jean au parc.",
            "edits": [
              {
                "index": 0,
                "wrong": "paul",
                "type": "majuscule"
              },
              {
                "index": 2,
                "wrong": "marie",
                "type": "majuscule"
              },
              {
                "index": 4,
                "wrong": "luc",
                "type": "majuscule"
              },
              {
                "index": 5,
                "wrong": "anne",
                "type": "majuscule"
              },
              {
                "index": 7,
                "wrong": "jean",
                "type": "majuscule"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "Julie et Hugo invitent Léa, Louis et Emma au jardin.",
            "edits": [
              {
                "index": 0,
                "wrong": "julie",
                "type": "majuscule"
              },
              {
                "index": 2,
                "wrong": "hugo",
                "type": "majuscule"
              },
              {
                "index": 4,
                "wrong": "léa",
                "type": "majuscule"
              },
              {
                "index": 5,
                "wrong": "louis",
                "type": "majuscule"
              },
              {
                "index": 7,
                "wrong": "emma",
                "type": "majuscule"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "Alice et Marc accompagnent Sarah, Tom et Nina au musée.",
            "edits": [
              {
                "index": 0,
                "wrong": "alice",
                "type": "majuscule"
              },
              {
                "index": 2,
                "wrong": "marc",
                "type": "majuscule"
              },
              {
                "index": 4,
                "wrong": "sarah",
                "type": "majuscule"
              },
              {
                "index": 5,
                "wrong": "tom",
                "type": "majuscule"
              },
              {
                "index": 7,
                "wrong": "nina",
                "type": "majuscule"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          }
        ]
      },
      {
        "id": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "level": "6e",
        "notion": "ponctuation-phrase",
        "category": "ponctuation",
        "format": "sentences",
        "highCount": 5,
        "texts": [
          {
            "reference": "Paul arrive. Marie sourit. Luc écoute. Anne lit. Jean écrit.",
            "edits": [
              {
                "index": 1,
                "wrong": "arrive",
                "type": "ponctuation"
              },
              {
                "index": 3,
                "wrong": "sourit",
                "type": "ponctuation"
              },
              {
                "index": 5,
                "wrong": "écoute",
                "type": "ponctuation"
              },
              {
                "index": 7,
                "wrong": "lit",
                "type": "ponctuation"
              },
              {
                "index": 9,
                "wrong": "écrit",
                "type": "ponctuation"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "Julie marche. Hugo court. Léa dessine. Louis chante. Emma danse.",
            "edits": [
              {
                "index": 1,
                "wrong": "marche",
                "type": "ponctuation"
              },
              {
                "index": 3,
                "wrong": "court",
                "type": "ponctuation"
              },
              {
                "index": 5,
                "wrong": "dessine",
                "type": "ponctuation"
              },
              {
                "index": 7,
                "wrong": "chante",
                "type": "ponctuation"
              },
              {
                "index": 9,
                "wrong": "danse",
                "type": "ponctuation"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "Alice lit. Marc écoute. Sarah écrit. Tom observe. Nina sourit.",
            "edits": [
              {
                "index": 1,
                "wrong": "lit",
                "type": "ponctuation"
              },
              {
                "index": 3,
                "wrong": "écoute",
                "type": "ponctuation"
              },
              {
                "index": 5,
                "wrong": "écrit",
                "type": "ponctuation"
              },
              {
                "index": 7,
                "wrong": "observe",
                "type": "ponctuation"
              },
              {
                "index": 9,
                "wrong": "sourit",
                "type": "ponctuation"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          }
        ]
      },
      {
        "id": "6e-homophones",
        "label": "6e · a/à in context",
        "level": "6e",
        "notion": "homophones-a-a",
        "category": "homophone",
        "format": "sentences",
        "highCount": 3,
        "texts": [
          {
            "reference": "Paul a faim. Il va à Paris avec sa sœur.",
            "edits": [
              {
                "index": 1,
                "wrong": "à",
                "type": "homophone"
              },
              {
                "index": 5,
                "wrong": "a",
                "type": "homophone"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "Il a mal à la tête à cause du bruit.",
            "edits": [
              {
                "index": 1,
                "wrong": "à",
                "type": "homophone"
              },
              {
                "index": 3,
                "wrong": "a",
                "type": "homophone"
              },
              {
                "index": 6,
                "wrong": "a",
                "type": "homophone"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          },
          {
            "reference": "Elle a appris à lire à voix haute ce matin.",
            "edits": [
              {
                "index": 1,
                "wrong": "à",
                "type": "homophone"
              },
              {
                "index": 3,
                "wrong": "a",
                "type": "homophone"
              },
              {
                "index": 5,
                "wrong": "a",
                "type": "homophone"
              }
            ],
            "scores": {
              "0": 100,
              "1": 90,
              "2": 80,
              "3": 70,
              "4": 60,
              "5": 50
            }
          }
        ]
      }
    ],
    "patterns": [
      "persistent-high",
      "persistent-low",
      "perfect",
      "scripted-improvement",
      "scripted-relapse",
      "variable",
      "irregular-attendance",
      "no-support",
      "scarce-support",
      "seeded-variable",
      "seeded-improvement",
      "seeded-relapse"
    ],
    "seeds": 20,
    "sessions": 90,
    "plannedHistories": 1680,
    "plannedSessions": 151200,
    "liveCalls": 0,
    "limits": [
      "21 controlled reference texts",
      "Fixture provider; no additional language model evaluation",
      "Prescribed progress, not educational efficacy",
      "JSON persistence adapter, not D1",
      "Single-notion controlled catalogues",
      "Seeds are not independent human participants"
    ]
  },
  "simulation": {
    "overall": {
      "learners": 1680,
      "sessions": 151200,
      "exactScores": 151200,
      "strictCorrectionPasses": 151200,
      "persistencePasses": 151200,
      "failingLadderAttempts": 46909,
      "targetedAfterFailure": 27469
    },
    "distinctContentDateHistories": 1023,
    "distinctSeveritySchedules": 430,
    "cells": [
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "persistent-high",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 5400,
        "reportedErrors": 5400,
        "matchedErrors": 5400,
        "categoryMatches": 5400,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 900,
        "targetedAfterFailure": 900,
        "nextSupportRecommendations": 900,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "persistent-low",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1800,
        "reportedErrors": 1800,
        "matchedErrors": 1800,
        "categoryMatches": 1800,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 3.5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 7.5
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 11
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 14.5
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 18.5
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 22.5
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 26
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 29.5
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 33.5
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 37.5
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 41
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 44.5
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 48.5
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 52.5
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 56
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 59.5
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 63.5
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 67.5
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "perfect",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 0,
        "reportedErrors": 0,
        "matchedErrors": 0,
        "categoryMatches": 0,
        "strictSpanPrecision": null,
        "strictSpanRecall": null,
        "categoryAgreementOnMatchedErrors": null,
        "cleanSubmissions": 1800,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 6
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 16
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 26
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 36
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 46
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 56
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 66
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 76
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 86
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 96
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 106
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 116
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 126
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 136
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 146
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 156
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 166
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 176
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "scripted-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2400,
        "reportedErrors": 2400,
        "matchedErrors": 2400,
        "categoryMatches": 2400,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 600,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 300,
        "targetedAfterFailure": 300,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 3.5
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 7.5
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 11
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 14.5
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 18.5
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 75,
            "opportunities": 400,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 22.5
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 29
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 39
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 49
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 59
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 69
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 79
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "scripted-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2340,
        "reportedErrors": 2340,
        "matchedErrors": 2340,
        "categoryMatches": 2340,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 1020,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 400,
        "targetedAfterFailure": 400,
        "nextSupportRecommendations": 400,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 55,
            "opportunities": 400,
            "injectedErrors": 180,
            "reportedTargetErrors": 180,
            "meanNextRung": 2
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 10
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 20
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 30
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 40
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 50
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 60
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 70
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 80
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 400,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 90
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 85,
            "opportunities": 400,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 99
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 101.33333333333333
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 100
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 98.66666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 97.5
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2880,
        "reportedErrors": 2880,
        "matchedErrors": 2880,
        "categoryMatches": 2880,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 1.9333333333333333
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "irregular-attendance",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2880,
        "reportedErrors": 2880,
        "matchedErrors": 2880,
        "categoryMatches": 2880,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 1.9333333333333333
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 60,
            "opportunities": 400,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "no-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 5400,
        "reportedErrors": 5400,
        "matchedErrors": 5400,
        "categoryMatches": 5400,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1800,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "scarce-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 5400,
        "reportedErrors": 5400,
        "matchedErrors": 5400,
        "categoryMatches": 5400,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1620,
        "targetedAfterFailure": 180,
        "nextSupportRecommendations": 180,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 25,
            "opportunities": 400,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "seeded-variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3034,
        "reportedErrors": 3034,
        "matchedErrors": 3034,
        "categoryMatches": 3034,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 548,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 588,
        "targetedAfterFailure": 588,
        "nextSupportRecommendations": 595,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 55.5,
            "opportunities": 400,
            "injectedErrors": 178,
            "reportedTargetErrors": 178,
            "meanNextRung": 2.2131147540983607
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 63.5,
            "opportunities": 400,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 4.123287671232877
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 57.25,
            "opportunities": 400,
            "injectedErrors": 171,
            "reportedTargetErrors": 171,
            "meanNextRung": 5.984375
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 57,
            "opportunities": 400,
            "injectedErrors": 172,
            "reportedTargetErrors": 172,
            "meanNextRung": 7.507462686567164
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 58.75,
            "opportunities": 400,
            "injectedErrors": 165,
            "reportedTargetErrors": 165,
            "meanNextRung": 8.651515151515152
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 59.75,
            "opportunities": 400,
            "injectedErrors": 161,
            "reportedTargetErrors": 161,
            "meanNextRung": 10.835820895522389
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 57.25,
            "opportunities": 400,
            "injectedErrors": 171,
            "reportedTargetErrors": 171,
            "meanNextRung": 12.279411764705882
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 54,
            "opportunities": 400,
            "injectedErrors": 184,
            "reportedTargetErrors": 184,
            "meanNextRung": 13.863636363636363
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 57.75,
            "opportunities": 400,
            "injectedErrors": 169,
            "reportedTargetErrors": 169,
            "meanNextRung": 15.55072463768116
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 57.25,
            "opportunities": 400,
            "injectedErrors": 171,
            "reportedTargetErrors": 171,
            "meanNextRung": 17.453125
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 63.25,
            "opportunities": 400,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 18.86764705882353
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 61,
            "opportunities": 400,
            "injectedErrors": 156,
            "reportedTargetErrors": 156,
            "meanNextRung": 20.246376811594203
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 61.25,
            "opportunities": 400,
            "injectedErrors": 155,
            "reportedTargetErrors": 155,
            "meanNextRung": 23.217391304347824
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 58.75,
            "opportunities": 400,
            "injectedErrors": 165,
            "reportedTargetErrors": 165,
            "meanNextRung": 24.119402985074625
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 56,
            "opportunities": 400,
            "injectedErrors": 176,
            "reportedTargetErrors": 176,
            "meanNextRung": 25.985294117647058
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 61.5,
            "opportunities": 400,
            "injectedErrors": 154,
            "reportedTargetErrors": 154,
            "meanNextRung": 28.042857142857144
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 49.75,
            "opportunities": 400,
            "injectedErrors": 201,
            "reportedTargetErrors": 201,
            "meanNextRung": 31.258064516129032
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 52,
            "opportunities": 400,
            "injectedErrors": 192,
            "reportedTargetErrors": 192,
            "meanNextRung": 29.567164179104477
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "seeded-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1908,
        "reportedErrors": 1908,
        "matchedErrors": 1908,
        "categoryMatches": 1908,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 894,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 365,
        "targetedAfterFailure": 365,
        "nextSupportRecommendations": 382,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 44.75,
            "opportunities": 400,
            "injectedErrors": 221,
            "reportedTargetErrors": 221,
            "meanNextRung": 1.8070175438596492
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 47.5,
            "opportunities": 400,
            "injectedErrors": 210,
            "reportedTargetErrors": 210,
            "meanNextRung": 2.4126984126984126
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 51,
            "opportunities": 400,
            "injectedErrors": 196,
            "reportedTargetErrors": 196,
            "meanNextRung": 3.0163934426229506
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 59.25,
            "opportunities": 400,
            "injectedErrors": 163,
            "reportedTargetErrors": 163,
            "meanNextRung": 4.550724637681159
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 57.5,
            "opportunities": 400,
            "injectedErrors": 170,
            "reportedTargetErrors": 170,
            "meanNextRung": 6.367647058823529
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 62.25,
            "opportunities": 400,
            "injectedErrors": 151,
            "reportedTargetErrors": 151,
            "meanNextRung": 8.264705882352942
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 70.5,
            "opportunities": 400,
            "injectedErrors": 118,
            "reportedTargetErrors": 118,
            "meanNextRung": 10.16
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 68.25,
            "opportunities": 400,
            "injectedErrors": 127,
            "reportedTargetErrors": 127,
            "meanNextRung": 13.586666666666666
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 75.25,
            "opportunities": 400,
            "injectedErrors": 99,
            "reportedTargetErrors": 99,
            "meanNextRung": 16.531645569620252
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 77,
            "opportunities": 400,
            "injectedErrors": 92,
            "reportedTargetErrors": 92,
            "meanNextRung": 20.074074074074073
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 78.75,
            "opportunities": 400,
            "injectedErrors": 85,
            "reportedTargetErrors": 85,
            "meanNextRung": 24.70886075949367
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 86,
            "opportunities": 400,
            "injectedErrors": 56,
            "reportedTargetErrors": 56,
            "meanNextRung": 29.831460674157302
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 88.5,
            "opportunities": 400,
            "injectedErrors": 46,
            "reportedTargetErrors": 46,
            "meanNextRung": 35.142857142857146
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 89.75,
            "opportunities": 400,
            "injectedErrors": 41,
            "reportedTargetErrors": 41,
            "meanNextRung": 42.31868131868132
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 85.25,
            "opportunities": 400,
            "injectedErrors": 59,
            "reportedTargetErrors": 59,
            "meanNextRung": 48.22093023255814
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 91.75,
            "opportunities": 400,
            "injectedErrors": 33,
            "reportedTargetErrors": 33,
            "meanNextRung": 55.191489361702125
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 95.25,
            "opportunities": 400,
            "injectedErrors": 19,
            "reportedTargetErrors": 19,
            "meanNextRung": 62.916666666666664
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 94.5,
            "opportunities": 400,
            "injectedErrors": 22,
            "reportedTargetErrors": 22,
            "meanNextRung": 71.36458333333333
          }
        ]
      },
      {
        "group": "cp-spelling",
        "label": "CP · syllable spelling",
        "pattern": "seeded-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2336,
        "reportedErrors": 2336,
        "matchedErrors": 2336,
        "categoryMatches": 2336,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 792,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 413,
        "targetedAfterFailure": 413,
        "nextSupportRecommendations": 418,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 52.25,
            "opportunities": 400,
            "injectedErrors": 191,
            "reportedTargetErrors": 191,
            "meanNextRung": 2.05
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 41.25,
            "opportunities": 400,
            "injectedErrors": 235,
            "reportedTargetErrors": 235,
            "meanNextRung": 2.7903225806451615
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 51.25,
            "opportunities": 400,
            "injectedErrors": 195,
            "reportedTargetErrors": 195,
            "meanNextRung": 3.1147540983606556
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 69,
            "opportunities": 400,
            "injectedErrors": 124,
            "reportedTargetErrors": 124,
            "meanNextRung": 4.9
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 92.25,
            "opportunities": 400,
            "injectedErrors": 31,
            "reportedTargetErrors": 31,
            "meanNextRung": 11.178947368421053
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 90.75,
            "opportunities": 400,
            "injectedErrors": 37,
            "reportedTargetErrors": 37,
            "meanNextRung": 18.22340425531915
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 89.5,
            "opportunities": 400,
            "injectedErrors": 42,
            "reportedTargetErrors": 42,
            "meanNextRung": 25.307692307692307
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 91,
            "opportunities": 400,
            "injectedErrors": 36,
            "reportedTargetErrors": 36,
            "meanNextRung": 31.904255319148938
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 91.25,
            "opportunities": 400,
            "injectedErrors": 35,
            "reportedTargetErrors": 35,
            "meanNextRung": 39.04210526315789
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 93.25,
            "opportunities": 400,
            "injectedErrors": 27,
            "reportedTargetErrors": 27,
            "meanNextRung": 46.43434343434343
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 93.5,
            "opportunities": 400,
            "injectedErrors": 26,
            "reportedTargetErrors": 26,
            "meanNextRung": 54.618556701030926
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 73.5,
            "opportunities": 400,
            "injectedErrors": 106,
            "reportedTargetErrors": 106,
            "meanNextRung": 60.41025641025641
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 61,
            "opportunities": 400,
            "injectedErrors": 156,
            "reportedTargetErrors": 156,
            "meanNextRung": 64.31506849315069
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 44.5,
            "opportunities": 400,
            "injectedErrors": 222,
            "reportedTargetErrors": 222,
            "meanNextRung": 64.56666666666666
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 48,
            "opportunities": 400,
            "injectedErrors": 208,
            "reportedTargetErrors": 208,
            "meanNextRung": 66.35483870967742
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 43.75,
            "opportunities": 400,
            "injectedErrors": 225,
            "reportedTargetErrors": 225,
            "meanNextRung": 66.05084745762711
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 46,
            "opportunities": 400,
            "injectedErrors": 216,
            "reportedTargetErrors": 216,
            "meanNextRung": 66.47457627118644
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 44,
            "opportunities": 400,
            "injectedErrors": 224,
            "reportedTargetErrors": 224,
            "meanNextRung": 66.3015873015873
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "persistent-high",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 5400,
        "reportedErrors": 5400,
        "matchedErrors": 5400,
        "categoryMatches": 5400,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 900,
        "targetedAfterFailure": 900,
        "nextSupportRecommendations": 900,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "persistent-low",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1800,
        "reportedErrors": 1800,
        "matchedErrors": 1800,
        "categoryMatches": 1800,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 3.5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 7.5
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 11
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 14.5
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 18.5
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 22.5
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 26
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 29.5
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 33.5
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 37.5
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 41
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 44.5
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 48.5
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 52.5
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 56
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 59.5
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 63.5
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 67.5
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "perfect",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 0,
        "reportedErrors": 0,
        "matchedErrors": 0,
        "categoryMatches": 0,
        "strictSpanPrecision": null,
        "strictSpanRecall": null,
        "categoryAgreementOnMatchedErrors": null,
        "cleanSubmissions": 1800,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 6
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 16
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 26
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 36
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 46
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 56
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 66
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 76
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 86
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 96
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 106
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 116
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 126
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 136
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 146
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 156
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 166
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 176
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "scripted-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2400,
        "reportedErrors": 2400,
        "matchedErrors": 2400,
        "categoryMatches": 2400,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 600,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 300,
        "targetedAfterFailure": 300,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 3.5
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 7.5
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 11
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 14.5
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 18.5
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 80,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 22.5
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 29
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 39
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 49
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 59
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 69
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 79
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "scripted-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2340,
        "reportedErrors": 2340,
        "matchedErrors": 2340,
        "categoryMatches": 2340,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 1020,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 400,
        "targetedAfterFailure": 400,
        "nextSupportRecommendations": 400,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 64,
            "opportunities": 500,
            "injectedErrors": 180,
            "reportedTargetErrors": 180,
            "meanNextRung": 2
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 10
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 20
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 30
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 40
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 50
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 60
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 70
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 80
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 90
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 88,
            "opportunities": 500,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 99
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 101.33333333333333
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 100
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 98.66666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 97.5
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2880,
        "reportedErrors": 2880,
        "matchedErrors": 2880,
        "categoryMatches": 2880,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 1.9333333333333333
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "irregular-attendance",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2880,
        "reportedErrors": 2880,
        "matchedErrors": 2880,
        "categoryMatches": 2880,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 1.9333333333333333
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 2.066666666666667
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "no-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 5400,
        "reportedErrors": 5400,
        "matchedErrors": 5400,
        "categoryMatches": 5400,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1800,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "scarce-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 5400,
        "reportedErrors": 5400,
        "matchedErrors": 5400,
        "categoryMatches": 5400,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1620,
        "targetedAfterFailure": 180,
        "nextSupportRecommendations": 180,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 40,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "seeded-variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2795,
        "reportedErrors": 2795,
        "matchedErrors": 2795,
        "categoryMatches": 2795,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 621,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 549,
        "targetedAfterFailure": 549,
        "nextSupportRecommendations": 561,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 65.6,
            "opportunities": 500,
            "injectedErrors": 172,
            "reportedTargetErrors": 172,
            "meanNextRung": 2.5076923076923077
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 70.8,
            "opportunities": 500,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 4.542857142857143
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 69.2,
            "opportunities": 500,
            "injectedErrors": 154,
            "reportedTargetErrors": 154,
            "meanNextRung": 6.75
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 68.4,
            "opportunities": 500,
            "injectedErrors": 158,
            "reportedTargetErrors": 158,
            "meanNextRung": 8.850746268656716
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 68,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 10.123287671232877
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 67.6,
            "opportunities": 500,
            "injectedErrors": 162,
            "reportedTargetErrors": 162,
            "meanNextRung": 13.075757575757576
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 71,
            "opportunities": 500,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 15.647887323943662
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 68.4,
            "opportunities": 500,
            "injectedErrors": 158,
            "reportedTargetErrors": 158,
            "meanNextRung": 17.16923076923077
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 67.2,
            "opportunities": 500,
            "injectedErrors": 164,
            "reportedTargetErrors": 164,
            "meanNextRung": 19.485714285714284
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 65,
            "opportunities": 500,
            "injectedErrors": 175,
            "reportedTargetErrors": 175,
            "meanNextRung": 21.15625
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 70.6,
            "opportunities": 500,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 23.17391304347826
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 67.4,
            "opportunities": 500,
            "injectedErrors": 163,
            "reportedTargetErrors": 163,
            "meanNextRung": 24
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 62.6,
            "opportunities": 500,
            "injectedErrors": 187,
            "reportedTargetErrors": 187,
            "meanNextRung": 27.6
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 70.2,
            "opportunities": 500,
            "injectedErrors": 149,
            "reportedTargetErrors": 149,
            "meanNextRung": 28.12857142857143
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 75,
            "opportunities": 500,
            "injectedErrors": 125,
            "reportedTargetErrors": 125,
            "meanNextRung": 32.35616438356164
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 73.4,
            "opportunities": 500,
            "injectedErrors": 133,
            "reportedTargetErrors": 133,
            "meanNextRung": 34.098591549295776
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 72.8,
            "opportunities": 500,
            "injectedErrors": 136,
            "reportedTargetErrors": 136,
            "meanNextRung": 35.638888888888886
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 67.8,
            "opportunities": 500,
            "injectedErrors": 161,
            "reportedTargetErrors": 161,
            "meanNextRung": 39.11267605633803
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "seeded-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1979,
        "reportedErrors": 1979,
        "matchedErrors": 1979,
        "categoryMatches": 1979,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 847,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 363,
        "targetedAfterFailure": 363,
        "nextSupportRecommendations": 382,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 53.8,
            "opportunities": 500,
            "injectedErrors": 231,
            "reportedTargetErrors": 231,
            "meanNextRung": 1.7777777777777777
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 59,
            "opportunities": 500,
            "injectedErrors": 205,
            "reportedTargetErrors": 205,
            "meanNextRung": 2.4126984126984126
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 62.6,
            "opportunities": 500,
            "injectedErrors": 187,
            "reportedTargetErrors": 187,
            "meanNextRung": 3.909090909090909
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 62.6,
            "opportunities": 500,
            "injectedErrors": 187,
            "reportedTargetErrors": 187,
            "meanNextRung": 4.885245901639344
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 71.4,
            "opportunities": 500,
            "injectedErrors": 143,
            "reportedTargetErrors": 143,
            "meanNextRung": 6.1066666666666665
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 70.4,
            "opportunities": 500,
            "injectedErrors": 148,
            "reportedTargetErrors": 148,
            "meanNextRung": 8.314285714285715
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 74.8,
            "opportunities": 500,
            "injectedErrors": 126,
            "reportedTargetErrors": 126,
            "meanNextRung": 10.58904109589041
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 72.8,
            "opportunities": 500,
            "injectedErrors": 136,
            "reportedTargetErrors": 136,
            "meanNextRung": 13.067567567567568
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 77,
            "opportunities": 500,
            "injectedErrors": 115,
            "reportedTargetErrors": 115,
            "meanNextRung": 16.518987341772153
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 81,
            "opportunities": 500,
            "injectedErrors": 95,
            "reportedTargetErrors": 95,
            "meanNextRung": 19.825
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 85.4,
            "opportunities": 500,
            "injectedErrors": 73,
            "reportedTargetErrors": 73,
            "meanNextRung": 24.74712643678161
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 87.6,
            "opportunities": 500,
            "injectedErrors": 62,
            "reportedTargetErrors": 62,
            "meanNextRung": 30.302325581395348
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 85.6,
            "opportunities": 500,
            "injectedErrors": 72,
            "reportedTargetErrors": 72,
            "meanNextRung": 35.674418604651166
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90.6,
            "opportunities": 500,
            "injectedErrors": 47,
            "reportedTargetErrors": 47,
            "meanNextRung": 41.022222222222226
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 92.2,
            "opportunities": 500,
            "injectedErrors": 39,
            "reportedTargetErrors": 39,
            "meanNextRung": 47.774193548387096
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 91.2,
            "opportunities": 500,
            "injectedErrors": 44,
            "reportedTargetErrors": 44,
            "meanNextRung": 54.90217391304348
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 91.2,
            "opportunities": 500,
            "injectedErrors": 44,
            "reportedTargetErrors": 44,
            "meanNextRung": 61.73913043478261
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 95,
            "opportunities": 500,
            "injectedErrors": 25,
            "reportedTargetErrors": 25,
            "meanNextRung": 68.20618556701031
          }
        ]
      },
      {
        "group": "ce1-accents",
        "label": "CE1 · accents",
        "pattern": "seeded-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2322,
        "reportedErrors": 2322,
        "matchedErrors": 2322,
        "categoryMatches": 2322,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 782,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 419,
        "targetedAfterFailure": 419,
        "nextSupportRecommendations": 429,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 59.6,
            "opportunities": 500,
            "injectedErrors": 202,
            "reportedTargetErrors": 202,
            "meanNextRung": 2.1129032258064515
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 59.8,
            "opportunities": 500,
            "injectedErrors": 201,
            "reportedTargetErrors": 201,
            "meanNextRung": 3.3934426229508197
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 61,
            "opportunities": 500,
            "injectedErrors": 195,
            "reportedTargetErrors": 195,
            "meanNextRung": 4
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 78.4,
            "opportunities": 500,
            "injectedErrors": 108,
            "reportedTargetErrors": 108,
            "meanNextRung": 6
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 91.6,
            "opportunities": 500,
            "injectedErrors": 42,
            "reportedTargetErrors": 42,
            "meanNextRung": 12.311827956989248
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 93.6,
            "opportunities": 500,
            "injectedErrors": 32,
            "reportedTargetErrors": 32,
            "meanNextRung": 19.159574468085108
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 92.6,
            "opportunities": 500,
            "injectedErrors": 37,
            "reportedTargetErrors": 37,
            "meanNextRung": 26.53684210526316
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 92.6,
            "opportunities": 500,
            "injectedErrors": 37,
            "reportedTargetErrors": 37,
            "meanNextRung": 33.67741935483871
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 92.6,
            "opportunities": 500,
            "injectedErrors": 37,
            "reportedTargetErrors": 37,
            "meanNextRung": 40.52127659574468
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 91.2,
            "opportunities": 500,
            "injectedErrors": 44,
            "reportedTargetErrors": 44,
            "meanNextRung": 47.16304347826087
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 86.6,
            "opportunities": 500,
            "injectedErrors": 67,
            "reportedTargetErrors": 67,
            "meanNextRung": 54.08045977011494
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 120,
            "reportedTargetErrors": 120,
            "meanNextRung": 58.7125
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 68.8,
            "opportunities": 500,
            "injectedErrors": 156,
            "reportedTargetErrors": 156,
            "meanNextRung": 61.94202898550725
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 57.6,
            "opportunities": 500,
            "injectedErrors": 212,
            "reportedTargetErrors": 212,
            "meanNextRung": 63.225806451612904
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 60.4,
            "opportunities": 500,
            "injectedErrors": 198,
            "reportedTargetErrors": 198,
            "meanNextRung": 62.904761904761905
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 59.2,
            "opportunities": 500,
            "injectedErrors": 204,
            "reportedTargetErrors": 204,
            "meanNextRung": 63.68333333333333
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 55.4,
            "opportunities": 500,
            "injectedErrors": 223,
            "reportedTargetErrors": 223,
            "meanNextRung": 64.57142857142857
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 58.6,
            "opportunities": 500,
            "injectedErrors": 207,
            "reportedTargetErrors": 207,
            "meanNextRung": 64.359375
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "persistent-high",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 900,
        "targetedAfterFailure": 900,
        "nextSupportRecommendations": 900,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "persistent-low",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1800,
        "reportedErrors": 1800,
        "matchedErrors": 1800,
        "categoryMatches": 1800,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 13
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 20
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 27
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 35
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 43
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 50
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 57
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 65
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 73
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 80
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 87
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 95
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 103
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 110
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 117
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 125
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 133
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "perfect",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 0,
        "reportedErrors": 0,
        "matchedErrors": 0,
        "categoryMatches": 0,
        "strictSpanPrecision": null,
        "strictSpanRecall": null,
        "categoryAgreementOnMatchedErrors": null,
        "cleanSubmissions": 1800,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 6
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 16
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 26
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 36
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 46
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 56
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 66
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 76
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 86
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 96
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 106
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 116
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 126
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 136
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 146
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 156
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 166
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 176
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "scripted-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3600,
        "reportedErrors": 3600,
        "matchedErrors": 3600,
        "categoryMatches": 3600,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 600,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 300,
        "targetedAfterFailure": 300,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 5
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 13
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 20
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 27
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 35
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 43
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 52
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 62
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 72
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 82
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 92
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 102
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "scripted-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3900,
        "reportedErrors": 3900,
        "matchedErrors": 3900,
        "categoryMatches": 3900,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 1020,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 400,
        "targetedAfterFailure": 400,
        "nextSupportRecommendations": 400,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 70,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 2
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 10
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 20
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 30
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 40
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 50
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 60
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 70
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 80
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 90
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 99
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 101.33333333333333
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 100
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 98.66666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 97.5
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4320,
        "reportedErrors": 4320,
        "matchedErrors": 4320,
        "categoryMatches": 4320,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "irregular-attendance",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4320,
        "reportedErrors": 4320,
        "matchedErrors": 4320,
        "categoryMatches": 4320,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "no-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1800,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "scarce-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1620,
        "targetedAfterFailure": 180,
        "nextSupportRecommendations": 180,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "seeded-variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4172,
        "reportedErrors": 4172,
        "matchedErrors": 4172,
        "categoryMatches": 4172,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 676,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 508,
        "targetedAfterFailure": 508,
        "nextSupportRecommendations": 514,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 78.7,
            "opportunities": 500,
            "injectedErrors": 213,
            "reportedTargetErrors": 213,
            "meanNextRung": 3.7183098591549295
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 73.7,
            "opportunities": 500,
            "injectedErrors": 263,
            "reportedTargetErrors": 263,
            "meanNextRung": 7.043478260869565
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 77,
            "opportunities": 500,
            "injectedErrors": 230,
            "reportedTargetErrors": 230,
            "meanNextRung": 10.684931506849315
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 78.7,
            "opportunities": 500,
            "injectedErrors": 213,
            "reportedTargetErrors": 213,
            "meanNextRung": 14.722222222222221
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 77.9,
            "opportunities": 500,
            "injectedErrors": 221,
            "reportedTargetErrors": 221,
            "meanNextRung": 17.64864864864865
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 78.5,
            "opportunities": 500,
            "injectedErrors": 215,
            "reportedTargetErrors": 215,
            "meanNextRung": 21.19178082191781
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 75.8,
            "opportunities": 500,
            "injectedErrors": 242,
            "reportedTargetErrors": 242,
            "meanNextRung": 24.514285714285716
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 79.1,
            "opportunities": 500,
            "injectedErrors": 209,
            "reportedTargetErrors": 209,
            "meanNextRung": 28.77027027027027
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 74.1,
            "opportunities": 500,
            "injectedErrors": 259,
            "reportedTargetErrors": 259,
            "meanNextRung": 31.611940298507463
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 34.06153846153846
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 76.4,
            "opportunities": 500,
            "injectedErrors": 236,
            "reportedTargetErrors": 236,
            "meanNextRung": 38.80821917808219
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 78.4,
            "opportunities": 500,
            "injectedErrors": 216,
            "reportedTargetErrors": 216,
            "meanNextRung": 40.68
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 75.5,
            "opportunities": 500,
            "injectedErrors": 245,
            "reportedTargetErrors": 245,
            "meanNextRung": 46.87323943661972
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 77.4,
            "opportunities": 500,
            "injectedErrors": 226,
            "reportedTargetErrors": 226,
            "meanNextRung": 48.465753424657535
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 73.3,
            "opportunities": 500,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 53.70422535211268
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 75,
            "opportunities": 500,
            "injectedErrors": 250,
            "reportedTargetErrors": 250,
            "meanNextRung": 57.289855072463766
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 78.5,
            "opportunities": 500,
            "injectedErrors": 215,
            "reportedTargetErrors": 215,
            "meanNextRung": 56.75675675675676
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 78.8,
            "opportunities": 500,
            "injectedErrors": 212,
            "reportedTargetErrors": 212,
            "meanNextRung": 63.208333333333336
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "seeded-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3228,
        "reportedErrors": 3228,
        "matchedErrors": 3228,
        "categoryMatches": 3228,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 828,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 393,
        "targetedAfterFailure": 393,
        "nextSupportRecommendations": 408,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 66.8,
            "opportunities": 500,
            "injectedErrors": 332,
            "reportedTargetErrors": 332,
            "meanNextRung": 2.365079365079365
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 65.7,
            "opportunities": 500,
            "injectedErrors": 343,
            "reportedTargetErrors": 343,
            "meanNextRung": 3.793103448275862
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 68.2,
            "opportunities": 500,
            "injectedErrors": 318,
            "reportedTargetErrors": 318,
            "meanNextRung": 5.125
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 71.7,
            "opportunities": 500,
            "injectedErrors": 283,
            "reportedTargetErrors": 283,
            "meanNextRung": 6.852941176470588
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 74.6,
            "opportunities": 500,
            "injectedErrors": 254,
            "reportedTargetErrors": 254,
            "meanNextRung": 9.28125
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 73.5,
            "opportunities": 500,
            "injectedErrors": 265,
            "reportedTargetErrors": 265,
            "meanNextRung": 10.927536231884059
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 76.7,
            "opportunities": 500,
            "injectedErrors": 233,
            "reportedTargetErrors": 233,
            "meanNextRung": 13.72463768115942
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 81.7,
            "opportunities": 500,
            "injectedErrors": 183,
            "reportedTargetErrors": 183,
            "meanNextRung": 18.025316455696203
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 84.9,
            "opportunities": 500,
            "injectedErrors": 151,
            "reportedTargetErrors": 151,
            "meanNextRung": 22.2125
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 79,
            "opportunities": 500,
            "injectedErrors": 210,
            "reportedTargetErrors": 210,
            "meanNextRung": 27.11111111111111
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 86.8,
            "opportunities": 500,
            "injectedErrors": 132,
            "reportedTargetErrors": 132,
            "meanNextRung": 31.45679012345679
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 87.7,
            "opportunities": 500,
            "injectedErrors": 123,
            "reportedTargetErrors": 123,
            "meanNextRung": 37.40963855421687
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 92.8,
            "opportunities": 500,
            "injectedErrors": 72,
            "reportedTargetErrors": 72,
            "meanNextRung": 43.54945054945055
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90.3,
            "opportunities": 500,
            "injectedErrors": 97,
            "reportedTargetErrors": 97,
            "meanNextRung": 50.395348837209305
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 91.4,
            "opportunities": 500,
            "injectedErrors": 86,
            "reportedTargetErrors": 86,
            "meanNextRung": 58.4367816091954
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 96,
            "opportunities": 500,
            "injectedErrors": 40,
            "reportedTargetErrors": 40,
            "meanNextRung": 64.6421052631579
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 92.1,
            "opportunities": 500,
            "injectedErrors": 79,
            "reportedTargetErrors": 79,
            "meanNextRung": 73.36046511627907
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 97.3,
            "opportunities": 500,
            "injectedErrors": 27,
            "reportedTargetErrors": 27,
            "meanNextRung": 79.49484536082474
          }
        ]
      },
      {
        "group": "ce2-agreement",
        "label": "CE2 · plural agreement",
        "pattern": "seeded-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3740,
        "reportedErrors": 3740,
        "matchedErrors": 3740,
        "categoryMatches": 3740,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 756,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 440,
        "targetedAfterFailure": 440,
        "nextSupportRecommendations": 451,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 68.8,
            "opportunities": 500,
            "injectedErrors": 312,
            "reportedTargetErrors": 312,
            "meanNextRung": 2.1166666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 64.3,
            "opportunities": 500,
            "injectedErrors": 357,
            "reportedTargetErrors": 357,
            "meanNextRung": 2.896551724137931
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 69.1,
            "opportunities": 500,
            "injectedErrors": 309,
            "reportedTargetErrors": 309,
            "meanNextRung": 3.6774193548387095
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 78.9,
            "opportunities": 500,
            "injectedErrors": 211,
            "reportedTargetErrors": 211,
            "meanNextRung": 5.613333333333333
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 94.5,
            "opportunities": 500,
            "injectedErrors": 55,
            "reportedTargetErrors": 55,
            "meanNextRung": 12.387096774193548
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 96.9,
            "opportunities": 500,
            "injectedErrors": 31,
            "reportedTargetErrors": 31,
            "meanNextRung": 20.824742268041238
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 94.4,
            "opportunities": 500,
            "injectedErrors": 56,
            "reportedTargetErrors": 56,
            "meanNextRung": 29.428571428571427
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 94,
            "opportunities": 500,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 37.824175824175825
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 94.4,
            "opportunities": 500,
            "injectedErrors": 56,
            "reportedTargetErrors": 56,
            "meanNextRung": 45.69892473118279
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 95.2,
            "opportunities": 500,
            "injectedErrors": 48,
            "reportedTargetErrors": 48,
            "meanNextRung": 53.924731182795696
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 88.3,
            "opportunities": 500,
            "injectedErrors": 117,
            "reportedTargetErrors": 117,
            "meanNextRung": 61
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 81.2,
            "opportunities": 500,
            "injectedErrors": 188,
            "reportedTargetErrors": 188,
            "meanNextRung": 67.42666666666666
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 72.3,
            "opportunities": 500,
            "injectedErrors": 277,
            "reportedTargetErrors": 277,
            "meanNextRung": 71.77272727272727
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 64.9,
            "opportunities": 500,
            "injectedErrors": 351,
            "reportedTargetErrors": 351,
            "meanNextRung": 71.77049180327869
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 65.2,
            "opportunities": 500,
            "injectedErrors": 348,
            "reportedTargetErrors": 348,
            "meanNextRung": 72.6774193548387
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 69.2,
            "opportunities": 500,
            "injectedErrors": 308,
            "reportedTargetErrors": 308,
            "meanNextRung": 73.84848484848484
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 65.3,
            "opportunities": 500,
            "injectedErrors": 347,
            "reportedTargetErrors": 347,
            "meanNextRung": 75.2280701754386
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 69.1,
            "opportunities": 500,
            "injectedErrors": 309,
            "reportedTargetErrors": 309,
            "meanNextRung": 74.8125
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "persistent-high",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 900,
        "targetedAfterFailure": 900,
        "nextSupportRecommendations": 900,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "persistent-low",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1800,
        "reportedErrors": 1800,
        "matchedErrors": 1800,
        "categoryMatches": 1800,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 356,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 5.238095238095238
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 13.4
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 21.4
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 29.4
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 37.4
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 45.4
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 53.4
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 61.4
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 69.4
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 77.4
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 85.4
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 93.4
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 101.4
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 109.4
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 117.4
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 125.4
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 133.4
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 141.4
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "perfect",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 0,
        "reportedErrors": 0,
        "matchedErrors": 0,
        "categoryMatches": 0,
        "strictSpanPrecision": null,
        "strictSpanRecall": null,
        "categoryAgreementOnMatchedErrors": null,
        "cleanSubmissions": 1800,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 6
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 16
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 26
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 36
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 46
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 56
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 66
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 76
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 86
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 96
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 106
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 116
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 126
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 136
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 146
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 156
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 166
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 176
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "scripted-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3600,
        "reportedErrors": 3600,
        "matchedErrors": 3600,
        "categoryMatches": 3600,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 600,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 300,
        "targetedAfterFailure": 300,
        "nextSupportRecommendations": 416,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 5.238095238095238
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 13.4
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 21.4
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 29.4
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 37.4
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 45.4
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 54.4
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 64.4
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 74.4
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 84.4
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 94.4
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 104.4
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "scripted-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3900,
        "reportedErrors": 3900,
        "matchedErrors": 3900,
        "categoryMatches": 3900,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 1020,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 400,
        "targetedAfterFailure": 400,
        "nextSupportRecommendations": 400,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 70,
            "opportunities": 300,
            "injectedErrors": 180,
            "reportedTargetErrors": 180,
            "meanNextRung": 2
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 10
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 20
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 30
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 40
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 50
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 60
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 70
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 80
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 300,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 90
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90,
            "opportunities": 300,
            "injectedErrors": 60,
            "reportedTargetErrors": 60,
            "meanNextRung": 99
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 101.33333333333333
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 100
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 98.66666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 97.5
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4320,
        "reportedErrors": 4320,
        "matchedErrors": 4320,
        "categoryMatches": 4320,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "irregular-attendance",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4320,
        "reportedErrors": 4320,
        "matchedErrors": 4320,
        "categoryMatches": 4320,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 76,
            "opportunities": 300,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 2.2666666666666666
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "no-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1800,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "scarce-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1620,
        "targetedAfterFailure": 180,
        "nextSupportRecommendations": 180,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 300,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "seeded-variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 5217,
        "reportedErrors": 5217,
        "matchedErrors": 5217,
        "categoryMatches": 5217,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 471,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 613,
        "targetedAfterFailure": 613,
        "nextSupportRecommendations": 616,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 66,
            "opportunities": 300,
            "injectedErrors": 204,
            "reportedTargetErrors": 204,
            "meanNextRung": 2.3448275862068964
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 71.8,
            "opportunities": 300,
            "injectedErrors": 171,
            "reportedTargetErrors": 171,
            "meanNextRung": 3.955223880597015
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 72.4,
            "opportunities": 300,
            "injectedErrors": 165,
            "reportedTargetErrors": 165,
            "meanNextRung": 5.951612903225806
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 74.2,
            "opportunities": 300,
            "injectedErrors": 158,
            "reportedTargetErrors": 158,
            "meanNextRung": 7.888888888888889
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 71.3,
            "opportunities": 300,
            "injectedErrors": 174,
            "reportedTargetErrors": 174,
            "meanNextRung": 10.107692307692307
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 72.8,
            "opportunities": 300,
            "injectedErrors": 161,
            "reportedTargetErrors": 161,
            "meanNextRung": 12.26086956521739
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 71.2,
            "opportunities": 300,
            "injectedErrors": 171,
            "reportedTargetErrors": 171,
            "meanNextRung": 15.136363636363637
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 73,
            "opportunities": 300,
            "injectedErrors": 164,
            "reportedTargetErrors": 164,
            "meanNextRung": 16.205882352941178
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 73,
            "opportunities": 300,
            "injectedErrors": 165,
            "reportedTargetErrors": 165,
            "meanNextRung": 18.87878787878788
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 67.3,
            "opportunities": 300,
            "injectedErrors": 196,
            "reportedTargetErrors": 196,
            "meanNextRung": 20.0625
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 67.7,
            "opportunities": 300,
            "injectedErrors": 197,
            "reportedTargetErrors": 197,
            "meanNextRung": 22.936507936507937
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 72.6,
            "opportunities": 300,
            "injectedErrors": 165,
            "reportedTargetErrors": 165,
            "meanNextRung": 24.196969696969695
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 73.4,
            "opportunities": 300,
            "injectedErrors": 157,
            "reportedTargetErrors": 157,
            "meanNextRung": 27.27536231884058
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 73.5,
            "opportunities": 300,
            "injectedErrors": 161,
            "reportedTargetErrors": 161,
            "meanNextRung": 30.180555555555557
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 71.4,
            "opportunities": 300,
            "injectedErrors": 172,
            "reportedTargetErrors": 172,
            "meanNextRung": 34.19047619047619
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 69.1,
            "opportunities": 300,
            "injectedErrors": 183,
            "reportedTargetErrors": 183,
            "meanNextRung": 32.68181818181818
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 67.3,
            "opportunities": 300,
            "injectedErrors": 194,
            "reportedTargetErrors": 194,
            "meanNextRung": 34.774193548387096
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 70.3,
            "opportunities": 300,
            "injectedErrors": 181,
            "reportedTargetErrors": 181,
            "meanNextRung": 37.333333333333336
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "seeded-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2799,
        "reportedErrors": 2799,
        "matchedErrors": 2799,
        "categoryMatches": 2799,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 873,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 341,
        "targetedAfterFailure": 341,
        "nextSupportRecommendations": 349,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 65.2,
            "opportunities": 300,
            "injectedErrors": 213,
            "reportedTargetErrors": 213,
            "meanNextRung": 2.15
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 69.4,
            "opportunities": 300,
            "injectedErrors": 180,
            "reportedTargetErrors": 180,
            "meanNextRung": 3.8153846153846156
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 74.2,
            "opportunities": 300,
            "injectedErrors": 152,
            "reportedTargetErrors": 152,
            "meanNextRung": 6.542857142857143
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 75.6,
            "opportunities": 300,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 9.277777777777779
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 76.2,
            "opportunities": 300,
            "injectedErrors": 142,
            "reportedTargetErrors": 142,
            "meanNextRung": 12.625
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 78.1,
            "opportunities": 300,
            "injectedErrors": 130,
            "reportedTargetErrors": 130,
            "meanNextRung": 15.602941176470589
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 81.4,
            "opportunities": 300,
            "injectedErrors": 112,
            "reportedTargetErrors": 112,
            "meanNextRung": 18.265822784810126
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 82.7,
            "opportunities": 300,
            "injectedErrors": 99,
            "reportedTargetErrors": 99,
            "meanNextRung": 23.116883116883116
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 87.7,
            "opportunities": 300,
            "injectedErrors": 75,
            "reportedTargetErrors": 75,
            "meanNextRung": 28.75294117647059
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 86.1,
            "opportunities": 300,
            "injectedErrors": 84,
            "reportedTargetErrors": 84,
            "meanNextRung": 35.7710843373494
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 91.9,
            "opportunities": 300,
            "injectedErrors": 48,
            "reportedTargetErrors": 48,
            "meanNextRung": 42.05555555555556
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90.2,
            "opportunities": 300,
            "injectedErrors": 61,
            "reportedTargetErrors": 61,
            "meanNextRung": 48.616279069767444
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 88.9,
            "opportunities": 300,
            "injectedErrors": 68,
            "reportedTargetErrors": 68,
            "meanNextRung": 54.265060240963855
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 92,
            "opportunities": 300,
            "injectedErrors": 46,
            "reportedTargetErrors": 46,
            "meanNextRung": 61.51136363636363
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 92,
            "opportunities": 300,
            "injectedErrors": 45,
            "reportedTargetErrors": 45,
            "meanNextRung": 68.7159090909091
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 95.9,
            "opportunities": 300,
            "injectedErrors": 27,
            "reportedTargetErrors": 27,
            "meanNextRung": 76.11578947368422
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 96.9,
            "opportunities": 300,
            "injectedErrors": 18,
            "reportedTargetErrors": 18,
            "meanNextRung": 84.875
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 95.7,
            "opportunities": 300,
            "injectedErrors": 26,
            "reportedTargetErrors": 26,
            "meanNextRung": 93.77659574468085
          }
        ]
      },
      {
        "group": "cm1-conjugation",
        "label": "CM1 · conjugation with mixed errors",
        "pattern": "seeded-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3586,
        "reportedErrors": 3586,
        "matchedErrors": 3586,
        "categoryMatches": 3586,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 802,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 416,
        "targetedAfterFailure": 416,
        "nextSupportRecommendations": 420,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 68.9,
            "opportunities": 300,
            "injectedErrors": 185,
            "reportedTargetErrors": 185,
            "meanNextRung": 2.5238095238095237
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 68.2,
            "opportunities": 300,
            "injectedErrors": 188,
            "reportedTargetErrors": 188,
            "meanNextRung": 3.8870967741935485
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 68.9,
            "opportunities": 300,
            "injectedErrors": 186,
            "reportedTargetErrors": 186,
            "meanNextRung": 4.344262295081967
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 77,
            "opportunities": 300,
            "injectedErrors": 137,
            "reportedTargetErrors": 137,
            "meanNextRung": 5.986486486486487
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 93,
            "opportunities": 300,
            "injectedErrors": 43,
            "reportedTargetErrors": 43,
            "meanNextRung": 12.1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 94.7,
            "opportunities": 300,
            "injectedErrors": 35,
            "reportedTargetErrors": 35,
            "meanNextRung": 20.117021276595743
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 95.9,
            "opportunities": 300,
            "injectedErrors": 27,
            "reportedTargetErrors": 27,
            "meanNextRung": 28.875
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 94.9,
            "opportunities": 300,
            "injectedErrors": 32,
            "reportedTargetErrors": 32,
            "meanNextRung": 37.42391304347826
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 95.8,
            "opportunities": 300,
            "injectedErrors": 25,
            "reportedTargetErrors": 25,
            "meanNextRung": 45.84375
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 96.4,
            "opportunities": 300,
            "injectedErrors": 22,
            "reportedTargetErrors": 22,
            "meanNextRung": 54.76288659793814
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 94.3,
            "opportunities": 300,
            "injectedErrors": 32,
            "reportedTargetErrors": 32,
            "meanNextRung": 63.90425531914894
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 88.8,
            "opportunities": 300,
            "injectedErrors": 66,
            "reportedTargetErrors": 66,
            "meanNextRung": 72.27906976744185
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 81,
            "opportunities": 300,
            "injectedErrors": 115,
            "reportedTargetErrors": 115,
            "meanNextRung": 78.42105263157895
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 66.7,
            "opportunities": 300,
            "injectedErrors": 199,
            "reportedTargetErrors": 199,
            "meanNextRung": 80.11290322580645
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 65.6,
            "opportunities": 300,
            "injectedErrors": 206,
            "reportedTargetErrors": 206,
            "meanNextRung": 81.03389830508475
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 64.1,
            "opportunities": 300,
            "injectedErrors": 214,
            "reportedTargetErrors": 214,
            "meanNextRung": 82.14754098360656
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 63.2,
            "opportunities": 300,
            "injectedErrors": 220,
            "reportedTargetErrors": 220,
            "meanNextRung": 81.84482758620689
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 64,
            "opportunities": 300,
            "injectedErrors": 216,
            "reportedTargetErrors": 216,
            "meanNextRung": 82.37288135593221
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "persistent-high",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 900,
        "targetedAfterFailure": 900,
        "nextSupportRecommendations": 900,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "persistent-low",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1800,
        "reportedErrors": 1800,
        "matchedErrors": 1800,
        "categoryMatches": 1800,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 13
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 20
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 27
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 35
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 43
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 50
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 57
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 65
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 73
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 80
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 87
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 95
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 103
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 110
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 117
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 125
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 133
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "perfect",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 0,
        "reportedErrors": 0,
        "matchedErrors": 0,
        "categoryMatches": 0,
        "strictSpanPrecision": null,
        "strictSpanRecall": null,
        "categoryAgreementOnMatchedErrors": null,
        "cleanSubmissions": 1800,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 6
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 16
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 26
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 36
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 46
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 56
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 66
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 76
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 86
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 96
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 106
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 116
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 126
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 136
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 146
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 156
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 166
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 176
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "scripted-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3600,
        "reportedErrors": 3600,
        "matchedErrors": 3600,
        "categoryMatches": 3600,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 600,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 300,
        "targetedAfterFailure": 300,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 5
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 13
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 20
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 27
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 35
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 43
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 52
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 62
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 72
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 82
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 92
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 102
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "scripted-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3900,
        "reportedErrors": 3900,
        "matchedErrors": 3900,
        "categoryMatches": 3900,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 1020,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 400,
        "targetedAfterFailure": 400,
        "nextSupportRecommendations": 400,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 70,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 2
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 10
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 20
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 30
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 40
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 50
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 60
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 70
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 80
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 90
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 99
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 101.33333333333333
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 100
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 98.66666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 97.5
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4320,
        "reportedErrors": 4320,
        "matchedErrors": 4320,
        "categoryMatches": 4320,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "irregular-attendance",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4320,
        "reportedErrors": 4320,
        "matchedErrors": 4320,
        "categoryMatches": 4320,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "no-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1800,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "scarce-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1620,
        "targetedAfterFailure": 180,
        "nextSupportRecommendations": 180,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "seeded-variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 5189,
        "reportedErrors": 5189,
        "matchedErrors": 5189,
        "categoryMatches": 5189,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 471,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 603,
        "targetedAfterFailure": 603,
        "nextSupportRecommendations": 611,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 71.5,
            "opportunities": 500,
            "injectedErrors": 285,
            "reportedTargetErrors": 285,
            "meanNextRung": 2.625
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 68.7,
            "opportunities": 500,
            "injectedErrors": 313,
            "reportedTargetErrors": 313,
            "meanNextRung": 4.548387096774194
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 70,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 6.590909090909091
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 66.1,
            "opportunities": 500,
            "injectedErrors": 339,
            "reportedTargetErrors": 339,
            "meanNextRung": 7.936507936507937
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 70.6,
            "opportunities": 500,
            "injectedErrors": 294,
            "reportedTargetErrors": 294,
            "meanNextRung": 10.061538461538461
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 73.5,
            "opportunities": 500,
            "injectedErrors": 265,
            "reportedTargetErrors": 265,
            "meanNextRung": 11.852941176470589
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 71.6,
            "opportunities": 500,
            "injectedErrors": 284,
            "reportedTargetErrors": 284,
            "meanNextRung": 13.8
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 71.7,
            "opportunities": 500,
            "injectedErrors": 283,
            "reportedTargetErrors": 283,
            "meanNextRung": 15.942857142857143
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 71.9,
            "opportunities": 500,
            "injectedErrors": 281,
            "reportedTargetErrors": 281,
            "meanNextRung": 19.53731343283582
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 70,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 20.8125
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 74.3,
            "opportunities": 500,
            "injectedErrors": 257,
            "reportedTargetErrors": 257,
            "meanNextRung": 24.37142857142857
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 71.5,
            "opportunities": 500,
            "injectedErrors": 285,
            "reportedTargetErrors": 285,
            "meanNextRung": 27.242424242424242
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 70.1,
            "opportunities": 500,
            "injectedErrors": 299,
            "reportedTargetErrors": 299,
            "meanNextRung": 25.70769230769231
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 69.9,
            "opportunities": 500,
            "injectedErrors": 301,
            "reportedTargetErrors": 301,
            "meanNextRung": 29.615384615384617
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 72,
            "opportunities": 500,
            "injectedErrors": 280,
            "reportedTargetErrors": 280,
            "meanNextRung": 30.784615384615385
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 73.1,
            "opportunities": 500,
            "injectedErrors": 269,
            "reportedTargetErrors": 269,
            "meanNextRung": 34.878787878787875
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 73.5,
            "opportunities": 500,
            "injectedErrors": 265,
            "reportedTargetErrors": 265,
            "meanNextRung": 36.27536231884058
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 71.1,
            "opportunities": 500,
            "injectedErrors": 289,
            "reportedTargetErrors": 289,
            "meanNextRung": 38.43478260869565
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "seeded-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2941,
        "reportedErrors": 2941,
        "matchedErrors": 2941,
        "categoryMatches": 2941,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 895,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 372,
        "targetedAfterFailure": 372,
        "nextSupportRecommendations": 381,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 67.3,
            "opportunities": 500,
            "injectedErrors": 327,
            "reportedTargetErrors": 327,
            "meanNextRung": 2.316666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 67.7,
            "opportunities": 500,
            "injectedErrors": 323,
            "reportedTargetErrors": 323,
            "meanNextRung": 3.9344262295081966
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 71.4,
            "opportunities": 500,
            "injectedErrors": 286,
            "reportedTargetErrors": 286,
            "meanNextRung": 4.818181818181818
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 73.5,
            "opportunities": 500,
            "injectedErrors": 265,
            "reportedTargetErrors": 265,
            "meanNextRung": 7.5588235294117645
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 72.7,
            "opportunities": 500,
            "injectedErrors": 273,
            "reportedTargetErrors": 273,
            "meanNextRung": 9.558823529411764
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 79.1,
            "opportunities": 500,
            "injectedErrors": 209,
            "reportedTargetErrors": 209,
            "meanNextRung": 13.027397260273972
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 78.8,
            "opportunities": 500,
            "injectedErrors": 212,
            "reportedTargetErrors": 212,
            "meanNextRung": 16.602739726027398
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 81.2,
            "opportunities": 500,
            "injectedErrors": 188,
            "reportedTargetErrors": 188,
            "meanNextRung": 19.546666666666667
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 87.6,
            "opportunities": 500,
            "injectedErrors": 124,
            "reportedTargetErrors": 124,
            "meanNextRung": 24.317073170731707
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 81.3,
            "opportunities": 500,
            "injectedErrors": 187,
            "reportedTargetErrors": 187,
            "meanNextRung": 29.7972972972973
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 86.9,
            "opportunities": 500,
            "injectedErrors": 131,
            "reportedTargetErrors": 131,
            "meanNextRung": 33.91358024691358
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 93.7,
            "opportunities": 500,
            "injectedErrors": 63,
            "reportedTargetErrors": 63,
            "meanNextRung": 40.51648351648352
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 49.03529411764706
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 93.3,
            "opportunities": 500,
            "injectedErrors": 67,
            "reportedTargetErrors": 67,
            "meanNextRung": 55.37777777777778
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 94.6,
            "opportunities": 500,
            "injectedErrors": 54,
            "reportedTargetErrors": 54,
            "meanNextRung": 62.26086956521739
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 93.7,
            "opportunities": 500,
            "injectedErrors": 63,
            "reportedTargetErrors": 63,
            "meanNextRung": 71.21348314606742
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 95.2,
            "opportunities": 500,
            "injectedErrors": 48,
            "reportedTargetErrors": 48,
            "meanNextRung": 77.31182795698925
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 97.9,
            "opportunities": 500,
            "injectedErrors": 21,
            "reportedTargetErrors": 21,
            "meanNextRung": 85.60204081632654
          }
        ]
      },
      {
        "group": "cm2-capitals",
        "label": "CM2 · proper-name capitals",
        "pattern": "seeded-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3484,
        "reportedErrors": 3484,
        "matchedErrors": 3484,
        "categoryMatches": 3484,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 788,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 405,
        "targetedAfterFailure": 405,
        "nextSupportRecommendations": 416,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 65.7,
            "opportunities": 500,
            "injectedErrors": 343,
            "reportedTargetErrors": 343,
            "meanNextRung": 2
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 71.5,
            "opportunities": 500,
            "injectedErrors": 285,
            "reportedTargetErrors": 285,
            "meanNextRung": 3.7846153846153845
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 71.4,
            "opportunities": 500,
            "injectedErrors": 286,
            "reportedTargetErrors": 286,
            "meanNextRung": 5.131147540983607
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 78.5,
            "opportunities": 500,
            "injectedErrors": 215,
            "reportedTargetErrors": 215,
            "meanNextRung": 6.621621621621622
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 93.7,
            "opportunities": 500,
            "injectedErrors": 63,
            "reportedTargetErrors": 63,
            "meanNextRung": 13.380434782608695
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 94.7,
            "opportunities": 500,
            "injectedErrors": 53,
            "reportedTargetErrors": 53,
            "meanNextRung": 21.318681318681318
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 95.9,
            "opportunities": 500,
            "injectedErrors": 41,
            "reportedTargetErrors": 41,
            "meanNextRung": 30.04123711340206
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 95.1,
            "opportunities": 500,
            "injectedErrors": 49,
            "reportedTargetErrors": 49,
            "meanNextRung": 39.46808510638298
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 94.2,
            "opportunities": 500,
            "injectedErrors": 58,
            "reportedTargetErrors": 58,
            "meanNextRung": 47.72631578947368
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 96.2,
            "opportunities": 500,
            "injectedErrors": 38,
            "reportedTargetErrors": 38,
            "meanNextRung": 56.63265306122449
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 94.6,
            "opportunities": 500,
            "injectedErrors": 54,
            "reportedTargetErrors": 54,
            "meanNextRung": 65.95698924731182
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 89.5,
            "opportunities": 500,
            "injectedErrors": 105,
            "reportedTargetErrors": 105,
            "meanNextRung": 74.05747126436782
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 78.1,
            "opportunities": 500,
            "injectedErrors": 219,
            "reportedTargetErrors": 219,
            "meanNextRung": 80.18666666666667
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 66.1,
            "opportunities": 500,
            "injectedErrors": 339,
            "reportedTargetErrors": 339,
            "meanNextRung": 81.43548387096774
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 67.1,
            "opportunities": 500,
            "injectedErrors": 329,
            "reportedTargetErrors": 329,
            "meanNextRung": 82.22413793103448
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 65,
            "opportunities": 500,
            "injectedErrors": 350,
            "reportedTargetErrors": 350,
            "meanNextRung": 82.44642857142857
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 66.8,
            "opportunities": 500,
            "injectedErrors": 332,
            "reportedTargetErrors": 332,
            "meanNextRung": 83.12121212121212
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 67.5,
            "opportunities": 500,
            "injectedErrors": 325,
            "reportedTargetErrors": 325,
            "meanNextRung": 84.93333333333334
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "persistent-high",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 900,
        "targetedAfterFailure": 900,
        "nextSupportRecommendations": 900,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "persistent-low",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1800,
        "reportedErrors": 1800,
        "matchedErrors": 1800,
        "categoryMatches": 1800,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 13
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 20
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 27
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 35
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 43
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 50
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 57
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 65
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 73
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 80
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 87
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 95
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 103
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 110
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 117
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 125
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 133
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "perfect",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 0,
        "reportedErrors": 0,
        "matchedErrors": 0,
        "categoryMatches": 0,
        "strictSpanPrecision": null,
        "strictSpanRecall": null,
        "categoryAgreementOnMatchedErrors": null,
        "cleanSubmissions": 1800,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 6
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 16
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 26
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 36
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 46
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 56
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 66
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 76
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 86
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 96
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 106
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 116
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 126
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 136
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 146
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 156
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 166
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 176
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "scripted-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3600,
        "reportedErrors": 3600,
        "matchedErrors": 3600,
        "categoryMatches": 3600,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 600,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 300,
        "targetedAfterFailure": 300,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 5
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 13
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 20
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 27
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 35
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 43
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 52
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 62
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 72
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 82
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 92
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 102
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "scripted-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3900,
        "reportedErrors": 3900,
        "matchedErrors": 3900,
        "categoryMatches": 3900,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 1020,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 400,
        "targetedAfterFailure": 400,
        "nextSupportRecommendations": 400,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 70,
            "opportunities": 500,
            "injectedErrors": 300,
            "reportedTargetErrors": 300,
            "meanNextRung": 2
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 10
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 20
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 30
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 40
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 50
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 60
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 70
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 80
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 500,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 90
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90,
            "opportunities": 500,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 99
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 101.33333333333333
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 100
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 98.66666666666667
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 97.5
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4320,
        "reportedErrors": 4320,
        "matchedErrors": 4320,
        "categoryMatches": 4320,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "irregular-attendance",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4320,
        "reportedErrors": 4320,
        "matchedErrors": 4320,
        "categoryMatches": 4320,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 720,
        "targetedAfterFailure": 720,
        "nextSupportRecommendations": 720,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.066666666666667
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 2.2666666666666666
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "no-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1800,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "scarce-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 9000,
        "reportedErrors": 9000,
        "matchedErrors": 9000,
        "categoryMatches": 9000,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 1620,
        "targetedAfterFailure": 180,
        "nextSupportRecommendations": 180,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 50,
            "opportunities": 500,
            "injectedErrors": 500,
            "reportedTargetErrors": 500,
            "meanNextRung": 1
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "seeded-variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4318,
        "reportedErrors": 4318,
        "matchedErrors": 4318,
        "categoryMatches": 4318,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 638,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 544,
        "targetedAfterFailure": 544,
        "nextSupportRecommendations": 554,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 73.1,
            "opportunities": 500,
            "injectedErrors": 269,
            "reportedTargetErrors": 269,
            "meanNextRung": 2.5245901639344264
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 74.8,
            "opportunities": 500,
            "injectedErrors": 252,
            "reportedTargetErrors": 252,
            "meanNextRung": 5.260869565217392
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 73.7,
            "opportunities": 500,
            "injectedErrors": 263,
            "reportedTargetErrors": 263,
            "meanNextRung": 7.352941176470588
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 74.1,
            "opportunities": 500,
            "injectedErrors": 259,
            "reportedTargetErrors": 259,
            "meanNextRung": 10.848484848484848
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 77.7,
            "opportunities": 500,
            "injectedErrors": 223,
            "reportedTargetErrors": 223,
            "meanNextRung": 13.438356164383562
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 74.1,
            "opportunities": 500,
            "injectedErrors": 259,
            "reportedTargetErrors": 259,
            "meanNextRung": 16.044776119402986
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 77.6,
            "opportunities": 500,
            "injectedErrors": 224,
            "reportedTargetErrors": 224,
            "meanNextRung": 19.602739726027398
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 79.2,
            "opportunities": 500,
            "injectedErrors": 208,
            "reportedTargetErrors": 208,
            "meanNextRung": 23.18421052631579
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 78.4,
            "opportunities": 500,
            "injectedErrors": 216,
            "reportedTargetErrors": 216,
            "meanNextRung": 27.04054054054054
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 76.1,
            "opportunities": 500,
            "injectedErrors": 239,
            "reportedTargetErrors": 239,
            "meanNextRung": 29.91304347826087
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 72.3,
            "opportunities": 500,
            "injectedErrors": 277,
            "reportedTargetErrors": 277,
            "meanNextRung": 31.677419354838708
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 77.3,
            "opportunities": 500,
            "injectedErrors": 227,
            "reportedTargetErrors": 227,
            "meanNextRung": 34.73913043478261
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 77.5,
            "opportunities": 500,
            "injectedErrors": 225,
            "reportedTargetErrors": 225,
            "meanNextRung": 37.58904109589041
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 77,
            "opportunities": 500,
            "injectedErrors": 230,
            "reportedTargetErrors": 230,
            "meanNextRung": 39.84057971014493
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 76.9,
            "opportunities": 500,
            "injectedErrors": 231,
            "reportedTargetErrors": 231,
            "meanNextRung": 45.01470588235294
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 76.5,
            "opportunities": 500,
            "injectedErrors": 235,
            "reportedTargetErrors": 235,
            "meanNextRung": 46.070422535211264
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 75.9,
            "opportunities": 500,
            "injectedErrors": 241,
            "reportedTargetErrors": 241,
            "meanNextRung": 48.98571428571429
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 76,
            "opportunities": 500,
            "injectedErrors": 240,
            "reportedTargetErrors": 240,
            "meanNextRung": 49.5735294117647
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "seeded-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3171,
        "reportedErrors": 3171,
        "matchedErrors": 3171,
        "categoryMatches": 3171,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 845,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 394,
        "targetedAfterFailure": 394,
        "nextSupportRecommendations": 402,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 63.8,
            "opportunities": 500,
            "injectedErrors": 362,
            "reportedTargetErrors": 362,
            "meanNextRung": 1.8545454545454545
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 68.7,
            "opportunities": 500,
            "injectedErrors": 313,
            "reportedTargetErrors": 313,
            "meanNextRung": 2.3548387096774195
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 69.1,
            "opportunities": 500,
            "injectedErrors": 309,
            "reportedTargetErrors": 309,
            "meanNextRung": 4.015151515151516
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 70.5,
            "opportunities": 500,
            "injectedErrors": 295,
            "reportedTargetErrors": 295,
            "meanNextRung": 6.205882352941177
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 75.3,
            "opportunities": 500,
            "injectedErrors": 247,
            "reportedTargetErrors": 247,
            "meanNextRung": 8.75
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 74.6,
            "opportunities": 500,
            "injectedErrors": 254,
            "reportedTargetErrors": 254,
            "meanNextRung": 11.196969696969697
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 77.6,
            "opportunities": 500,
            "injectedErrors": 224,
            "reportedTargetErrors": 224,
            "meanNextRung": 13.945945945945946
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 81.1,
            "opportunities": 500,
            "injectedErrors": 189,
            "reportedTargetErrors": 189,
            "meanNextRung": 17.08
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 84,
            "opportunities": 500,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 21.632911392405063
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 85.7,
            "opportunities": 500,
            "injectedErrors": 143,
            "reportedTargetErrors": 143,
            "meanNextRung": 27.7875
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 85.8,
            "opportunities": 500,
            "injectedErrors": 142,
            "reportedTargetErrors": 142,
            "meanNextRung": 32.975
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 87.1,
            "opportunities": 500,
            "injectedErrors": 129,
            "reportedTargetErrors": 129,
            "meanNextRung": 37.926829268292686
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 91.1,
            "opportunities": 500,
            "injectedErrors": 89,
            "reportedTargetErrors": 89,
            "meanNextRung": 44.5
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 88.8,
            "opportunities": 500,
            "injectedErrors": 112,
            "reportedTargetErrors": 112,
            "meanNextRung": 51.54117647058823
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 93.5,
            "opportunities": 500,
            "injectedErrors": 65,
            "reportedTargetErrors": 65,
            "meanNextRung": 57.16483516483517
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 95.1,
            "opportunities": 500,
            "injectedErrors": 49,
            "reportedTargetErrors": 49,
            "meanNextRung": 65.58064516129032
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 95.8,
            "opportunities": 500,
            "injectedErrors": 42,
            "reportedTargetErrors": 42,
            "meanNextRung": 74.15053763440861
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 95.3,
            "opportunities": 500,
            "injectedErrors": 47,
            "reportedTargetErrors": 47,
            "meanNextRung": 82.34408602150538
          }
        ]
      },
      {
        "group": "6e-punctuation",
        "label": "6e · sentence punctuation",
        "pattern": "seeded-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 3697,
        "reportedErrors": 3697,
        "matchedErrors": 3697,
        "categoryMatches": 3697,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 783,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 423,
        "targetedAfterFailure": 423,
        "nextSupportRecommendations": 431,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 67.1,
            "opportunities": 500,
            "injectedErrors": 329,
            "reportedTargetErrors": 329,
            "meanNextRung": 2.0508474576271185
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 67,
            "opportunities": 500,
            "injectedErrors": 330,
            "reportedTargetErrors": 330,
            "meanNextRung": 3.2131147540983607
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 65.9,
            "opportunities": 500,
            "injectedErrors": 341,
            "reportedTargetErrors": 341,
            "meanNextRung": 4.366666666666666
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 81.2,
            "opportunities": 500,
            "injectedErrors": 188,
            "reportedTargetErrors": 188,
            "meanNextRung": 6.333333333333333
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 96.2,
            "opportunities": 500,
            "injectedErrors": 38,
            "reportedTargetErrors": 38,
            "meanNextRung": 14.051546391752577
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 95.8,
            "opportunities": 500,
            "injectedErrors": 42,
            "reportedTargetErrors": 42,
            "meanNextRung": 22.827956989247312
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 95.7,
            "opportunities": 500,
            "injectedErrors": 43,
            "reportedTargetErrors": 43,
            "meanNextRung": 32.084210526315786
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 94.4,
            "opportunities": 500,
            "injectedErrors": 56,
            "reportedTargetErrors": 56,
            "meanNextRung": 40.505376344086024
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 95.9,
            "opportunities": 500,
            "injectedErrors": 41,
            "reportedTargetErrors": 41,
            "meanNextRung": 48.8936170212766
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 97.2,
            "opportunities": 500,
            "injectedErrors": 28,
            "reportedTargetErrors": 28,
            "meanNextRung": 58.234693877551024
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 91.2,
            "opportunities": 500,
            "injectedErrors": 88,
            "reportedTargetErrors": 88,
            "meanNextRung": 66.72727272727273
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 81.8,
            "opportunities": 500,
            "injectedErrors": 182,
            "reportedTargetErrors": 182,
            "meanNextRung": 73.84210526315789
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 72.1,
            "opportunities": 500,
            "injectedErrors": 279,
            "reportedTargetErrors": 279,
            "meanNextRung": 76.47826086956522
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 66,
            "opportunities": 500,
            "injectedErrors": 340,
            "reportedTargetErrors": 340,
            "meanNextRung": 78.60655737704919
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 65.3,
            "opportunities": 500,
            "injectedErrors": 347,
            "reportedTargetErrors": 347,
            "meanNextRung": 77.81967213114754
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 64.9,
            "opportunities": 500,
            "injectedErrors": 351,
            "reportedTargetErrors": 351,
            "meanNextRung": 79.45901639344262
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 67.6,
            "opportunities": 500,
            "injectedErrors": 324,
            "reportedTargetErrors": 324,
            "meanNextRung": 78.96825396825396
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 65,
            "opportunities": 500,
            "injectedErrors": 350,
            "reportedTargetErrors": 350,
            "meanNextRung": 81.33898305084746
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "persistent-high",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4800,
        "reportedErrors": 4800,
        "matchedErrors": 4800,
        "categoryMatches": 4800,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 3.5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 7.5
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 11
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 14.5
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 18.5
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 22.5
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 26
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 73.2,
            "opportunities": 268,
            "injectedErrors": 268,
            "reportedTargetErrors": 268,
            "meanNextRung": 29.5
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 33.5
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 37.5
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 41
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 44.5
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 48.5
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 52.5
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 56
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 73.2,
            "opportunities": 268,
            "injectedErrors": 268,
            "reportedTargetErrors": 268,
            "meanNextRung": 59.5
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 63.5
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 67.5
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "persistent-low",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1800,
        "reportedErrors": 1800,
        "matchedErrors": 1800,
        "categoryMatches": 1800,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 440,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 13
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 20
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 27
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 35
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 43
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 50
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 268,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 57
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 65
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 73
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 80
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 87
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 95
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 103
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 110
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 90,
            "opportunities": 268,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 117
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 125
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 133
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "perfect",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 0,
        "reportedErrors": 0,
        "matchedErrors": 0,
        "categoryMatches": 0,
        "strictSpanPrecision": null,
        "strictSpanRecall": null,
        "categoryAgreementOnMatchedErrors": null,
        "cleanSubmissions": 1800,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 6
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 16
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 26
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 36
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 46
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 56
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 66
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 76
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 86
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 96
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 106
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 116
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 126
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 136
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 146
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 156
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 166
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 176
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "scripted-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2200,
        "reportedErrors": 2200,
        "matchedErrors": 2200,
        "categoryMatches": 2200,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 600,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 300,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 3.5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 7.5
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 11
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 14.5
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 18.5
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 22.5
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 27
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90,
            "opportunities": 268,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 34
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 42
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 90,
            "opportunities": 266,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 50
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 57
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 90,
            "opportunities": 267,
            "injectedErrors": 100,
            "reportedTargetErrors": 100,
            "meanNextRung": 64
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 73
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 83
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 93
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 103
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 113
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 123
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "scripted-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2081,
        "reportedErrors": 2081,
        "matchedErrors": 2081,
        "categoryMatches": 2081,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 1020,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 180,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 3.5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 7.5
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 11
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 84,
            "opportunities": 266,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 15.2
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 24
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 34
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 44
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 54
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 64
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 74
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 84
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 100,
            "opportunities": 266,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 94
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 100,
            "opportunities": 267,
            "injectedErrors": 0,
            "reportedTargetErrors": 0,
            "meanNextRung": 104
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 94.6,
            "opportunities": 267,
            "injectedErrors": 54,
            "reportedTargetErrors": 54,
            "meanNextRung": 113.8
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 119.5
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 123
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 126.5
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 73.2,
            "opportunities": 268,
            "injectedErrors": 268,
            "reportedTargetErrors": 268,
            "meanNextRung": 130.5
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2632,
        "reportedErrors": 2632,
        "matchedErrors": 2632,
        "categoryMatches": 2632,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 356,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 3.9523809523809526
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 9.85
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 85.3,
            "opportunities": 267,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 15.85
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 21.85
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 27.85
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 85.2,
            "opportunities": 268,
            "injectedErrors": 148,
            "reportedTargetErrors": 148,
            "meanNextRung": 33.85
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 39.85
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 45.85
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 85.3,
            "opportunities": 267,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 51.85
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 57.85
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 85.2,
            "opportunities": 268,
            "injectedErrors": 148,
            "reportedTargetErrors": 148,
            "meanNextRung": 63.85
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 69.85
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 75.85
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 85.3,
            "opportunities": 267,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 81.85
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 87.85
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 85.2,
            "opportunities": 268,
            "injectedErrors": 148,
            "reportedTargetErrors": 148,
            "meanNextRung": 93.85
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 99.85
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 105.85
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "irregular-attendance",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2632,
        "reportedErrors": 2632,
        "matchedErrors": 2632,
        "categoryMatches": 2632,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 360,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 356,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 3.9523809523809526
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 9.85
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 85.3,
            "opportunities": 267,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 15.85
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 21.85
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 27.85
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 85.2,
            "opportunities": 268,
            "injectedErrors": 148,
            "reportedTargetErrors": 148,
            "meanNextRung": 33.85
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 39.85
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 45.85
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 85.3,
            "opportunities": 267,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 51.85
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 57.85
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 85.2,
            "opportunities": 268,
            "injectedErrors": 148,
            "reportedTargetErrors": 148,
            "meanNextRung": 63.85
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 69.85
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 75.85
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 85.3,
            "opportunities": 267,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 81.85
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 87.85
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 85.2,
            "opportunities": 268,
            "injectedErrors": 148,
            "reportedTargetErrors": 148,
            "meanNextRung": 93.85
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 85.5,
            "opportunities": 265,
            "injectedErrors": 145,
            "reportedTargetErrors": 145,
            "meanNextRung": 99.85
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 85.4,
            "opportunities": 266,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 105.85
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "no-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4800,
        "reportedErrors": 4800,
        "matchedErrors": 4800,
        "categoryMatches": 4800,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 0,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 4
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 9
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 14
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 19
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 24
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 29
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 34
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 39
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 44
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 49
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 54
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 59
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 64
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 69
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 74
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 79
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 84
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 89
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "scarce-support",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 4805,
        "reportedErrors": 4805,
        "matchedErrors": 4805,
        "categoryMatches": 4805,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 0,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 160,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 3.5
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 8
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 12.5
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 17
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 21.5
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 26
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 31
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 35.5
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 40
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 44.5
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 49
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 53.5
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 58
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 62.5
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 73.3,
            "opportunities": 267,
            "injectedErrors": 267,
            "reportedTargetErrors": 267,
            "meanNextRung": 67
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 71.5
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 73.2,
            "opportunities": 268,
            "injectedErrors": 268,
            "reportedTargetErrors": 268,
            "meanNextRung": 76
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 73.4,
            "opportunities": 266,
            "injectedErrors": 266,
            "reportedTargetErrors": 266,
            "meanNextRung": 81
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "seeded-variable",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2681,
        "reportedErrors": 2681,
        "matchedErrors": 2681,
        "categoryMatches": 2681,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 575,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 246,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 84.3,
            "opportunities": 271,
            "injectedErrors": 157,
            "reportedTargetErrors": 157,
            "meanNextRung": 4.244186046511628
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 87.4,
            "opportunities": 260,
            "injectedErrors": 126,
            "reportedTargetErrors": 126,
            "meanNextRung": 10.184782608695652
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 85.6,
            "opportunities": 268,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 15.929411764705883
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 85.3,
            "opportunities": 263,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 21.50574712643678
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 84.8,
            "opportunities": 261,
            "injectedErrors": 152,
            "reportedTargetErrors": 152,
            "meanNextRung": 27.325581395348838
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 84.6,
            "opportunities": 266,
            "injectedErrors": 154,
            "reportedTargetErrors": 154,
            "meanNextRung": 32.464285714285715
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 85.1,
            "opportunities": 264,
            "injectedErrors": 149,
            "reportedTargetErrors": 149,
            "meanNextRung": 37.793103448275865
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 84.9,
            "opportunities": 265,
            "injectedErrors": 151,
            "reportedTargetErrors": 151,
            "meanNextRung": 43.23863636363637
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 84.6,
            "opportunities": 269,
            "injectedErrors": 154,
            "reportedTargetErrors": 154,
            "meanNextRung": 48.56470588235294
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 84.2,
            "opportunities": 262,
            "injectedErrors": 158,
            "reportedTargetErrors": 158,
            "meanNextRung": 54.21176470588235
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 85.4,
            "opportunities": 262,
            "injectedErrors": 146,
            "reportedTargetErrors": 146,
            "meanNextRung": 59.733333333333334
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 83.7,
            "opportunities": 267,
            "injectedErrors": 163,
            "reportedTargetErrors": 163,
            "meanNextRung": 65.21686746987952
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 84.7,
            "opportunities": 263,
            "injectedErrors": 153,
            "reportedTargetErrors": 153,
            "meanNextRung": 70.73255813953489
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 86.3,
            "opportunities": 266,
            "injectedErrors": 137,
            "reportedTargetErrors": 137,
            "meanNextRung": 76.77011494252874
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 85.6,
            "opportunities": 265,
            "injectedErrors": 144,
            "reportedTargetErrors": 144,
            "meanNextRung": 83.03571428571429
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 86,
            "opportunities": 266,
            "injectedErrors": 140,
            "reportedTargetErrors": 140,
            "meanNextRung": 88.55681818181819
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 84.1,
            "opportunities": 268,
            "injectedErrors": 159,
            "reportedTargetErrors": 159,
            "meanNextRung": 94.03488372093024
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 85.3,
            "opportunities": 264,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 100.24705882352941
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "seeded-improvement",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 1803,
        "reportedErrors": 1803,
        "matchedErrors": 1803,
        "categoryMatches": 1803,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 877,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 156,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 80.8,
            "opportunities": 266,
            "injectedErrors": 192,
            "reportedTargetErrors": 192,
            "meanNextRung": 3.768292682926829
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 82.1,
            "opportunities": 266,
            "injectedErrors": 179,
            "reportedTargetErrors": 179,
            "meanNextRung": 8.8625
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 82,
            "opportunities": 264,
            "injectedErrors": 180,
            "reportedTargetErrors": 180,
            "meanNextRung": 13.547945205479452
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 84,
            "opportunities": 266,
            "injectedErrors": 160,
            "reportedTargetErrors": 160,
            "meanNextRung": 18.730337078651687
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 85.3,
            "opportunities": 269,
            "injectedErrors": 147,
            "reportedTargetErrors": 147,
            "meanNextRung": 23.97590361445783
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 86.8,
            "opportunities": 268,
            "injectedErrors": 132,
            "reportedTargetErrors": 132,
            "meanNextRung": 29.558139534883722
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 87.4,
            "opportunities": 263,
            "injectedErrors": 126,
            "reportedTargetErrors": 126,
            "meanNextRung": 35.39784946236559
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 90.2,
            "opportunities": 263,
            "injectedErrors": 98,
            "reportedTargetErrors": 98,
            "meanNextRung": 42.644444444444446
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 90.1,
            "opportunities": 271,
            "injectedErrors": 99,
            "reportedTargetErrors": 99,
            "meanNextRung": 49.53333333333333
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 89.1,
            "opportunities": 271,
            "injectedErrors": 109,
            "reportedTargetErrors": 109,
            "meanNextRung": 56.56043956043956
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 92.6,
            "opportunities": 262,
            "injectedErrors": 74,
            "reportedTargetErrors": 74,
            "meanNextRung": 63.656565656565654
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 94.6,
            "opportunities": 267,
            "injectedErrors": 54,
            "reportedTargetErrors": 54,
            "meanNextRung": 72.06315789473685
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 93.7,
            "opportunities": 262,
            "injectedErrors": 63,
            "reportedTargetErrors": 63,
            "meanNextRung": 79.87755102040816
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 95.7,
            "opportunities": 269,
            "injectedErrors": 43,
            "reportedTargetErrors": 43,
            "meanNextRung": 88.57575757575758
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 95.5,
            "opportunities": 267,
            "injectedErrors": 45,
            "reportedTargetErrors": 45,
            "meanNextRung": 97.37373737373737
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 95.3,
            "opportunities": 262,
            "injectedErrors": 47,
            "reportedTargetErrors": 47,
            "meanNextRung": 105.98979591836735
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 97.8,
            "opportunities": 270,
            "injectedErrors": 22,
            "reportedTargetErrors": 22,
            "meanNextRung": 115.28282828282828
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 96.7,
            "opportunities": 266,
            "injectedErrors": 33,
            "reportedTargetErrors": 33,
            "meanNextRung": 124.52
          }
        ]
      },
      {
        "group": "6e-homophones",
        "label": "6e · a/à in context",
        "pattern": "seeded-relapse",
        "learners": 20,
        "sessions": 1800,
        "exactScores": 1800,
        "strictCorrectionPasses": 1800,
        "persistencePasses": 1800,
        "expectedErrors": 2110,
        "reportedErrors": 2110,
        "matchedErrors": 2110,
        "categoryMatches": 2110,
        "strictSpanPrecision": 1,
        "strictSpanRecall": 1,
        "categoryAgreementOnMatchedErrors": 1,
        "cleanSubmissions": 764,
        "cleanSubmissionsWithFalseAlarms": 0,
        "failingLadderAttempts": 0,
        "targetedAfterFailure": 0,
        "nextSupportRecommendations": 186,
        "feedbackFlags": 0,
        "phaseProgress": [
          {
            "fromSession": 1,
            "throughSession": 5,
            "meanScore": 82.5,
            "opportunities": 264,
            "injectedErrors": 175,
            "reportedTargetErrors": 175,
            "meanNextRung": 4.011904761904762
          },
          {
            "fromSession": 6,
            "throughSession": 10,
            "meanScore": 83.1,
            "opportunities": 272,
            "injectedErrors": 169,
            "reportedTargetErrors": 169,
            "meanNextRung": 8.767441860465116
          },
          {
            "fromSession": 11,
            "throughSession": 15,
            "meanScore": 81.7,
            "opportunities": 269,
            "injectedErrors": 183,
            "reportedTargetErrors": 183,
            "meanNextRung": 13.695121951219512
          },
          {
            "fromSession": 16,
            "throughSession": 20,
            "meanScore": 88.7,
            "opportunities": 270,
            "injectedErrors": 113,
            "reportedTargetErrors": 113,
            "meanNextRung": 18.863636363636363
          },
          {
            "fromSession": 21,
            "throughSession": 25,
            "meanScore": 96.9,
            "opportunities": 266,
            "injectedErrors": 31,
            "reportedTargetErrors": 31,
            "meanNextRung": 27.5
          },
          {
            "fromSession": 26,
            "throughSession": 30,
            "meanScore": 97.2,
            "opportunities": 266,
            "injectedErrors": 28,
            "reportedTargetErrors": 28,
            "meanNextRung": 37.224489795918366
          },
          {
            "fromSession": 31,
            "throughSession": 35,
            "meanScore": 96.6,
            "opportunities": 267,
            "injectedErrors": 34,
            "reportedTargetErrors": 34,
            "meanNextRung": 46.676767676767675
          },
          {
            "fromSession": 36,
            "throughSession": 40,
            "meanScore": 95.5,
            "opportunities": 266,
            "injectedErrors": 45,
            "reportedTargetErrors": 45,
            "meanNextRung": 56.041666666666664
          },
          {
            "fromSession": 41,
            "throughSession": 45,
            "meanScore": 96.4,
            "opportunities": 268,
            "injectedErrors": 36,
            "reportedTargetErrors": 36,
            "meanNextRung": 65.27551020408163
          },
          {
            "fromSession": 46,
            "throughSession": 50,
            "meanScore": 97.1,
            "opportunities": 265,
            "injectedErrors": 29,
            "reportedTargetErrors": 29,
            "meanNextRung": 74.9
          },
          {
            "fromSession": 51,
            "throughSession": 55,
            "meanScore": 95.4,
            "opportunities": 266,
            "injectedErrors": 46,
            "reportedTargetErrors": 46,
            "meanNextRung": 84.22448979591837
          },
          {
            "fromSession": 56,
            "throughSession": 60,
            "meanScore": 89.9,
            "opportunities": 263,
            "injectedErrors": 101,
            "reportedTargetErrors": 101,
            "meanNextRung": 92.65217391304348
          },
          {
            "fromSession": 61,
            "throughSession": 65,
            "meanScore": 84.4,
            "opportunities": 265,
            "injectedErrors": 156,
            "reportedTargetErrors": 156,
            "meanNextRung": 99.05747126436782
          },
          {
            "fromSession": 66,
            "throughSession": 70,
            "meanScore": 82.2,
            "opportunities": 266,
            "injectedErrors": 178,
            "reportedTargetErrors": 178,
            "meanNextRung": 104.49397590361446
          },
          {
            "fromSession": 71,
            "throughSession": 75,
            "meanScore": 80.3,
            "opportunities": 269,
            "injectedErrors": 197,
            "reportedTargetErrors": 197,
            "meanNextRung": 108.97435897435898
          },
          {
            "fromSession": 76,
            "throughSession": 80,
            "meanScore": 80.1,
            "opportunities": 267,
            "injectedErrors": 199,
            "reportedTargetErrors": 199,
            "meanNextRung": 113.51807228915662
          },
          {
            "fromSession": 81,
            "throughSession": 85,
            "meanScore": 81.1,
            "opportunities": 260,
            "injectedErrors": 189,
            "reportedTargetErrors": 189,
            "meanNextRung": 117.97590361445783
          },
          {
            "fromSession": 86,
            "throughSession": 90,
            "meanScore": 79.9,
            "opportunities": 265,
            "injectedErrors": 201,
            "reportedTargetErrors": 201,
            "meanNextRung": 122.9873417721519
          }
        ]
      }
    ]
  },
  "comparison": {
    "recurringHomophones": {
      "historiesPerVersion": 20,
      "sessionsPerHistory": 90,
      "beforeSupportedAfterThirdAttempt": 0,
      "afterSupportedAfterThirdAttempt": 20,
      "beforeSupportRecommendations": 0,
      "afterSupportRecommendations": 440
    },
    "addedWord": {
      "identicalCallsPerVersion": 2,
      "beforeExplained": 0,
      "afterExplained": 2
    },
    "strictAnnotationAgreement": {
      "before": 83,
      "after": 100,
      "callsPerVersion": 100,
      "uniqueInputsPerVersion": 50,
      "note": "Not general linguistic accuracy; strict matching to internally authored gold."
    }
  },
  "liveEvaluation": {
    "calls": 100,
    "uniqueInputs": 50,
    "exactScores": 100,
    "strictPasses": 100,
    "cleanCalls": 36,
    "falseAlarms": 0,
    "missingFeedback": [],
    "mismatches": [],
    "estimatedUsd": 0.7359300000000001
  },
  "weeklySelection": {
    "observations": [
      {
        "category": "accord",
        "focus": {
          "category": "accord",
          "label": "Accords"
        },
        "selectorCalls": [
          [
            "CE2",
            "2026-09-21:child:same-learner:1",
            [],
            "accord"
          ],
          [
            "CE2",
            "2026-09-21:child:same-learner:2",
            [
              "selection-1"
            ],
            "accord"
          ],
          [
            "CE2",
            "2026-09-21:child:same-learner:3",
            [
              "selection-1",
              "selection-2"
            ],
            "accord"
          ]
        ]
      },
      {
        "category": "conjugaison",
        "focus": {
          "category": "conjugaison",
          "label": "Conjugaison"
        },
        "selectorCalls": [
          [
            "CE2",
            "2026-09-21:child:same-learner:1",
            [],
            "conjugaison"
          ],
          [
            "CE2",
            "2026-09-21:child:same-learner:2",
            [
              "selection-1"
            ],
            "conjugaison"
          ],
          [
            "CE2",
            "2026-09-21:child:same-learner:3",
            [
              "selection-1",
              "selection-2"
            ],
            "conjugaison"
          ]
        ]
      }
    ],
    "selectionInputsChanged": true
  },
  "priorVersions": {
    "initial": "resultats-2026-09-24.json",
    "intermediateLive": {
      "calls": 100,
      "uniqueInputs": 50,
      "exactScores": 100,
      "strictPasses": 89,
      "cleanCalls": 36,
      "falseAlarms": 0,
      "missingFeedback": [],
      "mismatches": [
        38,
        40,
        42,
        56,
        57,
        59,
        60,
        62,
        64,
        65,
        67
      ],
      "estimatedUsd": 0.7351399999999999
    }
  }
}
