Standards-based mastery.
A number on a report card says how much; it rarely says what. Standards-based grading answers the second question — it grades a student against what they can do, on a named scale of proficiency, standard by standard. YESS runs this alongside the classic numeric gradebook, not instead of it: the same assessments, a second lens. This handbook walks the four-table chain from a rating scale to a proficiency mark a teacher clicks in during grade entry.
- 4data tables
- 5framework presets
- 3permissions
- Anyschool-authored scales
Prologue
A second lens on the grade#
Standards-based grading does not replace the percentage in the gradebook. It hangs a second record off the same assessments — a per-standard proficiency rating, recorded on a scale the school authors itself. A maths test still earns 14 out of 20; it also, separately, tells you the student is Proficient on "applies the Pythagorean theorem" and Approaching on "interprets a word problem." Both records coexist on the one assessment.
One honest note up front. YESS carries two "standards" code paths. The one this handbook documents in depth — with an admin screen, a grade-entry surface, and a report-card hook — is the standards-based grading system at /dashboard/standards, built on four tables. A second, newer path tags LMS assignments with learning standards; its data layer exists but it has no screens yet, and we flag it plainly in its own chapter rather than pretend it is live.
Grade against what a student can do — on the school's own scale, standard by standard, beside the number that never quite said it.
Chapter one
The vocabulary of mastery#
Everything starts with a rating scale: the words a school uses to describe proficiency. A scale is a named, reusable list of levels, each a value and a label — the admin page seeds a sensible default of 1 Beginning · 2 Approaching · 3 Proficient · 4 Advanced, but the levels are entirely school-authored. Build a 4-point scale, an 8-point IB-style scale, a 3-band rubric — whatever your reporting asks for. The levels are stored as JSONB, so a scale can be any length.
Scales are defined in the first section of /dashboard/standards. One scale can be marked the school default; individual standards either inherit it or override it with a scale of their own. This is the reuse that keeps the system coherent — define "Beginning → Advanced" once and every subject can speak the same language.
Chapter two
Standards, subject by subject#
A standard is one specific competency in one subject. In the second section of the standards page you pick a subject and add standards to it, each carrying a code (e.g. HSA.APR.A.1), a name, an optional description, an optional framework tag, and an optional rating-scale override. Standards are hierarchical — a standard can have a parent — and soft-deleted rather than erased, so historical ratings survive.
The framework field is a labelling convenience, not a constraint. The admin picker offers five presets — IB MYP, NGSS, Common Core, Cambridge, and Custom — but the value is stored as free text, so a school can record whichever curriculum a standard belongs to. It tags and groups; it does not enforce a fixed vocabulary.
Chapter three
Mapping standards to assessments#
This is the load-bearing step, and it is easy to miss. A standard only becomes rateable once it is mapped to the assessment components that measure it. The third section of the standards page is exactly this: pick an assessment component — a CA1 quiz, a term exam, a practical — and tick the standards that component assesses. Each tick writes a row into assessment_component_standards; un-ticking removes it. Mappings save instantly.
Without a mapping there is no data path: the grade-entry rating UI stays hidden, and the report-card populator finds nothing to roll up. So the standards walk is a once-per-term routine — define scales, define standards, then map each standard to the assessments it lives in. Every mapping currently carries equal weight; per-standard weighting is on the roadmap.
Chapter four
Where the teacher records a rating#
Teachers never leave the gradebook to do standards. The proficiency rating lives inside grade entry at /dashboard/grades. When the selected assessment component has standards mapped to it, each student row grows a small standards button; opening it brings up a dialog that lists every mapped standard and renders that standard's scale levels as buttons. The teacher clicks the level — Proficient, Advanced — and the rating is saved instantly to student_standard_ratings, one row per student per component per standard, with the teacher stamped as recorder.
Recording a rating needs the standards.rate permission, which teaching staff hold by default. There is no automatic conversion between the numeric score and the proficiency level — the teacher enters the number for the gradebook and, separately, clicks the proficiency. The two records are independent by design, so a school can run mastery reporting without re-engineering how it marks.
Chapter five
Standards on the report card#
Report-card templates carry a show_standards_mastery toggle, set in the template builder at /dashboard/report-cards. When it is on, the report-card data populator gathers each subject's per-standard ratings — code, description, the level and label, the date recorded — and embeds them in the report-card data so the document can carry a mastery section beside the marks.
Be precise about where this stands today. The toggle and the populator are real: enabling it makes the system collect and store the mastery rollup. The final rendering — drawing that rollup onto the printed report card and the parent portal — is the piece still in flight. So a school can configure and record standards mastery now, with the visible report-card section landing in a follow-up. That honesty matters more than a tidy claim.
Chapter six
The second, dormant path#
Alongside the grade-entry system above, YESS has a schema for tagging LMS assignments with learning standards and rolling submission grades up into a per-standard mastery view. The tables, the row-level security, and the read hooks all exist. What does not exist yet is any screen: there is no UI to tag an assignment with a standard, and nothing renders the mastery view.
We document it here only so you know the difference. When this handbook says "standards," it means the grade-entry system on /dashboard/standards. The LMS-assignment alignment path is a foundation laid for a future release, not a feature you can use today.
The differentiators
What makes standards grading elite#
Five things done right
- 1
Coexists with the number
Mastery ratings hang off the same assessment components the numeric gradebook already uses. A school adds a second lens without re-engineering how it marks — no parallel assessment, no migration.
- 2
School-authored scales
Proficiency levels are not hardcoded. A school writes its own scale — 4-point, 8-point, a named rubric — stored as JSONB, reusable across every subject, with one marked default.
- 3
Framework as a tag, not a cage
IB, NGSS, Common Core, Cambridge or a school's own — the framework is a free-text label that groups standards without forcing a single curriculum's structure on the school.
- 4
Rated in the flow of grading
The teacher rates proficiency inside the grade-entry screen, one click per standard, with the rating saved instantly. No separate tool, no double data-entry trip.
- 5
Honest about the last mile
The chain — scales, standards, mappings, ratings, populator — is real and wired end to end. We tell you plainly that the printed mastery section and the LMS path are still landing, rather than overstate.
Honest roadmap
What comes next#
Four honest gaps
- 1
Render mastery on the report card
The show_standards_mastery toggle and the populator collect the per-standard rollup into the report-card data, but the renderer does not yet draw it onto the PDF or the parent portal. Drawing it is the next step.
- 2
Per-standard weighting
Every assessment-to-standard mapping currently counts equally. Weighted mappings — so a major standard outweighs a minor one in a rollup — are planned.
- 3
Wire the program opt-in
Programs carry a standards_grading_enabled flag intended to switch the mastery view on per program, but no code path reads it yet; report cards branch on the template toggle instead. Honouring the program flag is on the list.
- 4
Surface the LMS standards path
The learning-standards / assignment-alignment schema and hooks exist with no UI. Screens to tag assignments with standards and view assignment-based mastery are a future release.
Where standards connects
- 07Gradebook & CAMastery ratings hang off the same assessment components the numeric gradebook uses, recorded in the same grade-entry screen.
- 09Report cardsA template's show_standards_mastery toggle pulls the per-standard rollup into the report-card data for a mastery section.
- 08ExaminationsStandards are mapped to the very assessment components — quizzes, tests, exams — that the examinations engine defines.
- 04Academic structureStandards belong to subjects, and the per-program standards-grading flag is set against the programmes academic structure defines.
- 12LMS & virtual classesThe second, dormant path tags LMS assignments with learning standards — schema laid, screens to come.
- 16Parent & student portalsWhen the mastery render lands, families will read each child's per-standard proficiency in the portal report card.
Tutorial
Do it step by step#
Stand up standards-based grading for one subject — from the scale that names proficiency to the rating a teacher clicks during grade entry.
- 1
Author a rating scale
In the first section of /dashboard/standards, build a scale — name it, add its levels (e.g. 1 Beginning → 4 Advanced), and save. Mark one scale the school default so subjects can inherit it.Start with one short scale. A clean 4-point scale reads well on a report and is fast to click through during marking.
- 2
Add the subject's standards
Pick a subject in the second section and add each standard — a code, a name, an optional framework tag (IB MYP, NGSS, Common Core, Cambridge, or Custom), and a scale (inherit the default or override it). - 3
Map standards to assessments
In the third section, choose an assessment component — a CA quiz, a term exam, a practical — and tick the standards it assesses. This mapping is what makes the standards rateable; without it nothing surfaces.If the grade-entry standards button never appears, check this step first — an unmapped standard is invisible to teachers.
- 4
Rate students in grade entry
Open /dashboard/grades, select that assessment component, and use the per-student standards button to click each child's proficiency level. Each click saves instantly. - 5
Switch it on for the report
In the report-card template builder at /dashboard/report-cards, enable Show standards mastery. The populator gathers the per-standard rollup into the report-card data — ready for the mastery section as the render lands.
The same assessments now carry two records — a number for the mark, and a proficiency for the skill — recorded in one flow, on the school's own scale.