{
  "schemaVersion": "praxis-capabilities/v1",
  "app": "staff-spot",
  "version": "0.3.0",
  "privacy": {
    "accountRequired": false,
    "localOnly": true,
    "automaticSubmission": false,
    "analytics": false,
    "cloudProgress": false
  },
  "configurableSettings": [
    "direction",
    "clef",
    "range",
    "steps",
    "accidentals",
    "responseRule",
    "questionCount",
    "seed"
  ],
  "lockableSettings": [
    "direction",
    "clef",
    "range",
    "steps",
    "accidentals",
    "responseRule",
    "questionCount",
    "threshold",
    "seed"
  ],
  "teachingSequences": {
    "home": "https://staffspot.backwerdrhythmshop.com/sequences",
    "sequenceCount": 9,
    "levelCount": 36,
    "progressStorage": "local-browser-only",
    "progressFields": [
      "levelId",
      "bestScore",
      "questionCount",
      "passed",
      "attempts",
      "completionDate"
    ],
    "gates": "reported, never enforced — a level states its threshold and the result card says whether it was met; no level is held shut and nothing is transmitted",
    "sequences": [
      {
        "id": "treble-foundations",
        "title": "Treble Foundations",
        "objective": "Find the lines and spaces of the treble staff, then name any note on it.",
        "clef": "treble",
        "url": "https://staffspot.backwerdrhythmshop.com/sequences?sequence=treble-foundations",
        "levels": [
          {
            "id": "treble-foundations-1",
            "order": 1,
            "title": "Treble Spaces",
            "questionCount": 8,
            "threshold": 6,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-spaces&direction=staff-to-note&clef=treble&range=staff&steps=spaces&accidentals=naturals&responseRule=letter&questionCount=8&threshold=6&seed=ss-treble-spaces&sequence=treble-foundations&level=treble-foundations-1"
          },
          {
            "id": "treble-foundations-2",
            "order": 2,
            "title": "Treble Lines",
            "questionCount": 8,
            "threshold": 6,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-lines&direction=staff-to-note&clef=treble&range=staff&steps=lines&accidentals=naturals&responseRule=letter&questionCount=8&threshold=6&seed=ss-treble-lines&sequence=treble-foundations&level=treble-foundations-2"
          },
          {
            "id": "treble-foundations-3",
            "order": 3,
            "title": "Treble Whole Staff",
            "questionCount": 10,
            "threshold": 8,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-whole-staff&direction=staff-to-note&clef=treble&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=10&threshold=8&seed=ss-treble-whole-staff&sequence=treble-foundations&level=treble-foundations-3"
          },
          {
            "id": "treble-foundations-4",
            "order": 4,
            "title": "Treble Staff → Note Check",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-staff-check&direction=staff-to-note&clef=treble&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=12&threshold=10&seed=ss-treble-staff-check&sequence=treble-foundations&level=treble-foundations-4"
          }
        ]
      },
      {
        "id": "treble-reading",
        "title": "Treble Reading",
        "objective": "Read treble naturals quickly, then add ledger lines and octave numbers.",
        "clef": "treble",
        "url": "https://staffspot.backwerdrhythmshop.com/sequences?sequence=treble-reading",
        "levels": [
          {
            "id": "treble-reading-1",
            "order": 1,
            "title": "Staff-only naturals",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-read-staff&direction=staff-to-note&clef=treble&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=12&threshold=10&seed=ss-treble-read-staff&sequence=treble-reading&level=treble-reading-1"
          },
          {
            "id": "treble-reading-2",
            "order": 2,
            "title": "One-ledger-line naturals",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-read-ledger-one&direction=staff-to-note&clef=treble&range=ledger-one&steps=all&accidentals=naturals&responseRule=letter&questionCount=12&threshold=10&seed=ss-treble-read-ledger-one&sequence=treble-reading&level=treble-reading-2"
          },
          {
            "id": "treble-reading-3",
            "order": 3,
            "title": "Register-aware reading",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-read-register&direction=staff-to-note&clef=treble&range=ledger-one&steps=all&accidentals=naturals&responseRule=scientific&questionCount=12&threshold=10&seed=ss-treble-read-register&sequence=treble-reading&level=treble-reading-3"
          },
          {
            "id": "treble-reading-4",
            "order": 4,
            "title": "Treble reading knowledge check",
            "questionCount": 16,
            "threshold": 13,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-read-check&direction=staff-to-note&clef=treble&range=ledger-one&steps=all&accidentals=naturals&responseRule=scientific&questionCount=16&threshold=13&seed=ss-treble-read-check&sequence=treble-reading&level=treble-reading-4"
          }
        ]
      },
      {
        "id": "treble-placement",
        "title": "Treble Note Placement",
        "objective": "Build notes on the treble staff from their written names.",
        "clef": "treble",
        "url": "https://staffspot.backwerdrhythmshop.com/sequences?sequence=treble-placement",
        "levels": [
          {
            "id": "treble-placement-1",
            "order": 1,
            "title": "Place notes in spaces",
            "questionCount": 8,
            "threshold": 6,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-place-spaces&direction=note-to-staff&clef=treble&range=staff&steps=spaces&accidentals=naturals&responseRule=letter&questionCount=8&threshold=6&seed=ss-treble-place-spaces&sequence=treble-placement&level=treble-placement-1"
          },
          {
            "id": "treble-placement-2",
            "order": 2,
            "title": "Place notes on lines",
            "questionCount": 8,
            "threshold": 6,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-place-lines&direction=note-to-staff&clef=treble&range=staff&steps=lines&accidentals=naturals&responseRule=letter&questionCount=8&threshold=6&seed=ss-treble-place-lines&sequence=treble-placement&level=treble-placement-2"
          },
          {
            "id": "treble-placement-3",
            "order": 3,
            "title": "Place notes across the staff",
            "questionCount": 10,
            "threshold": 8,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-place-staff&direction=note-to-staff&clef=treble&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=10&threshold=8&seed=ss-treble-place-staff&sequence=treble-placement&level=treble-placement-3"
          },
          {
            "id": "treble-placement-4",
            "order": 4,
            "title": "Treble placement knowledge check",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-place-check&direction=note-to-staff&clef=treble&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=12&threshold=10&seed=ss-treble-place-check&sequence=treble-placement&level=treble-placement-4"
          }
        ]
      },
      {
        "id": "treble-ledger",
        "title": "Treble Ledger Notes",
        "objective": "Work outward from middle C into the ledger lines above and below the treble staff.",
        "clef": "treble",
        "url": "https://staffspot.backwerdrhythmshop.com/sequences?sequence=treble-ledger",
        "levels": [
          {
            "id": "treble-ledger-1",
            "order": 1,
            "title": "Middle C and nearby notes",
            "questionCount": 8,
            "threshold": 6,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-ledger-middle-c&direction=staff-to-note&clef=treble&range=extended&steps=-4%2C-3%2C-2%2C-1%2C0&accidentals=naturals&responseRule=letter&questionCount=8&threshold=6&seed=ss-treble-ledger-middle-c&sequence=treble-ledger&level=treble-ledger-1"
          },
          {
            "id": "treble-ledger-2",
            "order": 2,
            "title": "One ledger line",
            "questionCount": 10,
            "threshold": 8,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-ledger-one&direction=mixed&clef=treble&range=ledger-one&steps=all&accidentals=naturals&responseRule=letter&questionCount=10&threshold=8&seed=ss-treble-ledger-one&sequence=treble-ledger&level=treble-ledger-2"
          },
          {
            "id": "treble-ledger-3",
            "order": 3,
            "title": "Extended ledger range",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-ledger-extended&direction=mixed&clef=treble&range=extended&steps=all&accidentals=naturals&responseRule=scientific&questionCount=12&threshold=10&seed=ss-treble-ledger-extended&sequence=treble-ledger&level=treble-ledger-3"
          },
          {
            "id": "treble-ledger-4",
            "order": 4,
            "title": "Ledger-note knowledge check",
            "questionCount": 16,
            "threshold": 13,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-ledger-check&direction=mixed&clef=treble&range=extended&steps=all&accidentals=naturals&responseRule=scientific&questionCount=16&threshold=13&seed=ss-treble-ledger-check&sequence=treble-ledger&level=treble-ledger-4"
          }
        ]
      },
      {
        "id": "treble-accidentals",
        "title": "Treble Accidentals",
        "objective": "Read and place sharps and flats with exact written spelling.",
        "clef": "treble",
        "url": "https://staffspot.backwerdrhythmshop.com/sequences?sequence=treble-accidentals",
        "levels": [
          {
            "id": "treble-accidentals-1",
            "order": 1,
            "title": "Naturals and sharps",
            "questionCount": 10,
            "threshold": 8,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-sharps&direction=mixed&clef=treble&range=staff&steps=all&accidentals=sharps&responseRule=spelling&questionCount=10&threshold=8&seed=ss-treble-sharps&sequence=treble-accidentals&level=treble-accidentals-1"
          },
          {
            "id": "treble-accidentals-2",
            "order": 2,
            "title": "Naturals and flats",
            "questionCount": 10,
            "threshold": 8,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-flats&direction=mixed&clef=treble&range=staff&steps=all&accidentals=flats&responseRule=spelling&questionCount=10&threshold=8&seed=ss-treble-flats&sequence=treble-accidentals&level=treble-accidentals-2"
          },
          {
            "id": "treble-accidentals-3",
            "order": 3,
            "title": "Mixed accidentals",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-mixed-accidentals&direction=mixed&clef=treble&range=staff&steps=all&accidentals=mixed&responseRule=spelling&questionCount=12&threshold=10&seed=ss-treble-mixed-accidentals&sequence=treble-accidentals&level=treble-accidentals-3"
          },
          {
            "id": "treble-accidentals-4",
            "order": 4,
            "title": "Exact-spelling knowledge check",
            "questionCount": 16,
            "threshold": 13,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=treble-spelling-check&direction=mixed&clef=treble&range=ledger-one&steps=all&accidentals=mixed&responseRule=spelling&questionCount=16&threshold=13&seed=ss-treble-spelling-check&sequence=treble-accidentals&level=treble-accidentals-4"
          }
        ]
      },
      {
        "id": "bass-foundations",
        "title": "Bass Foundations",
        "objective": "Find the lines and spaces of the bass staff, then name any note on it.",
        "clef": "bass",
        "url": "https://staffspot.backwerdrhythmshop.com/sequences?sequence=bass-foundations",
        "levels": [
          {
            "id": "bass-foundations-1",
            "order": 1,
            "title": "Bass spaces",
            "questionCount": 8,
            "threshold": 6,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-spaces&direction=staff-to-note&clef=bass&range=staff&steps=spaces&accidentals=naturals&responseRule=letter&questionCount=8&threshold=6&seed=ss-bass-spaces&sequence=bass-foundations&level=bass-foundations-1"
          },
          {
            "id": "bass-foundations-2",
            "order": 2,
            "title": "Bass lines",
            "questionCount": 8,
            "threshold": 6,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-lines&direction=staff-to-note&clef=bass&range=staff&steps=lines&accidentals=naturals&responseRule=letter&questionCount=8&threshold=6&seed=ss-bass-lines&sequence=bass-foundations&level=bass-foundations-2"
          },
          {
            "id": "bass-foundations-3",
            "order": 3,
            "title": "Bass whole staff",
            "questionCount": 10,
            "threshold": 8,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-whole-staff&direction=staff-to-note&clef=bass&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=10&threshold=8&seed=ss-bass-whole-staff&sequence=bass-foundations&level=bass-foundations-3"
          },
          {
            "id": "bass-foundations-4",
            "order": 4,
            "title": "Bass Staff → Note Check",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-staff-check&direction=staff-to-note&clef=bass&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=12&threshold=10&seed=ss-bass-staff-check&sequence=bass-foundations&level=bass-foundations-4"
          }
        ]
      },
      {
        "id": "bass-reading",
        "title": "Bass Reading",
        "objective": "Read bass naturals quickly, then add ledger lines and octave numbers.",
        "clef": "bass",
        "url": "https://staffspot.backwerdrhythmshop.com/sequences?sequence=bass-reading",
        "levels": [
          {
            "id": "bass-reading-1",
            "order": 1,
            "title": "Staff-only naturals",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-read-staff&direction=staff-to-note&clef=bass&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=12&threshold=10&seed=ss-bass-read-staff&sequence=bass-reading&level=bass-reading-1"
          },
          {
            "id": "bass-reading-2",
            "order": 2,
            "title": "One-ledger-line naturals",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-read-ledger-one&direction=staff-to-note&clef=bass&range=ledger-one&steps=all&accidentals=naturals&responseRule=letter&questionCount=12&threshold=10&seed=ss-bass-read-ledger-one&sequence=bass-reading&level=bass-reading-2"
          },
          {
            "id": "bass-reading-3",
            "order": 3,
            "title": "Register-aware reading",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-read-register&direction=staff-to-note&clef=bass&range=ledger-one&steps=all&accidentals=naturals&responseRule=scientific&questionCount=12&threshold=10&seed=ss-bass-read-register&sequence=bass-reading&level=bass-reading-3"
          },
          {
            "id": "bass-reading-4",
            "order": 4,
            "title": "Bass reading knowledge check",
            "questionCount": 16,
            "threshold": 13,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-read-check&direction=staff-to-note&clef=bass&range=ledger-one&steps=all&accidentals=naturals&responseRule=scientific&questionCount=16&threshold=13&seed=ss-bass-read-check&sequence=bass-reading&level=bass-reading-4"
          }
        ]
      },
      {
        "id": "bass-placement",
        "title": "Bass Note Placement",
        "objective": "Build notes on the bass staff from their written names.",
        "clef": "bass",
        "url": "https://staffspot.backwerdrhythmshop.com/sequences?sequence=bass-placement",
        "levels": [
          {
            "id": "bass-placement-1",
            "order": 1,
            "title": "Place notes in spaces",
            "questionCount": 8,
            "threshold": 6,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-place-spaces&direction=note-to-staff&clef=bass&range=staff&steps=spaces&accidentals=naturals&responseRule=letter&questionCount=8&threshold=6&seed=ss-bass-place-spaces&sequence=bass-placement&level=bass-placement-1"
          },
          {
            "id": "bass-placement-2",
            "order": 2,
            "title": "Place notes on lines",
            "questionCount": 8,
            "threshold": 6,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-place-lines&direction=note-to-staff&clef=bass&range=staff&steps=lines&accidentals=naturals&responseRule=letter&questionCount=8&threshold=6&seed=ss-bass-place-lines&sequence=bass-placement&level=bass-placement-2"
          },
          {
            "id": "bass-placement-3",
            "order": 3,
            "title": "Place notes across the staff",
            "questionCount": 10,
            "threshold": 8,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-place-staff&direction=note-to-staff&clef=bass&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=10&threshold=8&seed=ss-bass-place-staff&sequence=bass-placement&level=bass-placement-3"
          },
          {
            "id": "bass-placement-4",
            "order": 4,
            "title": "Bass placement knowledge check",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=bass-place-check&direction=note-to-staff&clef=bass&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=12&threshold=10&seed=ss-bass-place-check&sequence=bass-placement&level=bass-placement-4"
          }
        ]
      },
      {
        "id": "mixed-clef-reading",
        "title": "Mixed-Clef Reading",
        "objective": "Keep the clef in mind when the staff can change from question to question.",
        "clef": "mixed",
        "url": "https://staffspot.backwerdrhythmshop.com/sequences?sequence=mixed-clef-reading",
        "levels": [
          {
            "id": "mixed-clef-reading-1",
            "order": 1,
            "title": "Treble and bass landmarks",
            "questionCount": 10,
            "threshold": 8,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=mixed-landmarks&direction=staff-to-note&clef=mixed&range=ledger-one&steps=-2%2C0%2C4%2C8%2C10&accidentals=naturals&responseRule=letter&questionCount=10&threshold=8&seed=ss-mixed-landmarks&sequence=mixed-clef-reading&level=mixed-clef-reading-1"
          },
          {
            "id": "mixed-clef-reading-2",
            "order": 2,
            "title": "Mixed staff-only reading",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=mixed-read-staff&direction=staff-to-note&clef=mixed&range=staff&steps=all&accidentals=naturals&responseRule=letter&questionCount=12&threshold=10&seed=ss-mixed-read-staff&sequence=mixed-clef-reading&level=mixed-clef-reading-2"
          },
          {
            "id": "mixed-clef-reading-3",
            "order": 3,
            "title": "Mixed one-ledger-line reading",
            "questionCount": 12,
            "threshold": 10,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=mixed-read-ledger-one&direction=staff-to-note&clef=mixed&range=ledger-one&steps=all&accidentals=naturals&responseRule=scientific&questionCount=12&threshold=10&seed=ss-mixed-read-ledger-one&sequence=mixed-clef-reading&level=mixed-clef-reading-3"
          },
          {
            "id": "mixed-clef-reading-4",
            "order": 4,
            "title": "Mixed-clef knowledge check",
            "questionCount": 16,
            "threshold": 13,
            "url": "https://staffspot.backwerdrhythmshop.com/?assignment=mixed-read-check&direction=mixed&clef=mixed&range=ledger-one&steps=all&accidentals=naturals&responseRule=scientific&questionCount=16&threshold=13&seed=ss-mixed-read-check&sequence=mixed-clef-reading&level=mixed-clef-reading-4"
          }
        ]
      }
    ]
  },
  "worksheet": {
    "url": "https://staffspot.backwerdrhythmshop.com/worksheet",
    "summary": "Any assignment or level link renders as a printable paper worksheet with a matching teacher answer key.",
    "sameQuestionsAsOnline": true,
    "parameters": [
      "key",
      "bank",
      "cols"
    ],
    "paper": "US Letter portrait, black and white safe",
    "carriesOntoPaper": [
      "seed",
      "app version",
      "generation date",
      "classroom-use terms",
      "copyright"
    ],
    "notDone": [
      "no student identity is collected, printed, or transmitted",
      "the sheet is not scored by the app — a printed sheet is graded by the teacher",
      "no PDF is generated server-side; the browser's print dialog produces the file"
    ]
  },
  "evidence": {
    "measured": [
      "notation.line-space-recognition",
      "notation.staff-position-recognition",
      "notation.pitch-name-recognition",
      "notation.staff-position-construction",
      "notation.clef-reading",
      "notation.register-discrimination",
      "notation.accidental-reading",
      "notation.accidental-placement"
    ],
    "notMeasured": [
      "keyboard-location",
      "mallet-bar-location",
      "live-playing",
      "tone",
      "stroke",
      "grip",
      "sticking",
      "tempo",
      "pulse",
      "sight-reading-fluency",
      "verified-identity"
    ]
  }
}
