Masār — the quality gates, live Three checks a lesson must pass before Masār publishes it. They run here, in your browser, on the real files from the repository.
| Gate | Refuses |
|---|---|
validate.py | schema violations, a lesson claiming bilingual support while repeating its English, forbidden real-world code sets |
concept_log.py | a lesson that re-teaches a concept an earlier lesson introduced, or uses one before it is taught |
qa_gate.py | a judge's verdict below the rubric thresholds (mean ≥ 4.0, every criterion ≥ 3) |
No model is called on this page. The judge that produces a verdict runs separately and never sees the generation prompt; the gate only applies thresholds that live in version control. Source, tests and the public record of what failed while building this: github.com/MostafaFathy1527/masar-platform.
Three layers, deliberately separated: structure (JSON Schema generated from the renderer's Zod schema), semantics (level completeness, prose budget between acting blocks, objective references), content (forbidden licensed code sets). Try a sample, then break it: delete a level's blocks, paste English into an Arabic field, or add a real CPT code.
A course-level invariant no editor can hold in their head: across the authored course, each concept may be introduced once, by the earliest lesson, and only recalled or applied afterwards. Checked mechanically over every lesson in sequence.
The judge scores a draft against the instructional-design rubric in a fresh context. This gate consumes that verdict and applies the thresholds. Which criteria apply is derived from the lesson's declared levels, never from the judge, so a judge cannot excuse itself from a criterion. Edit the verdict's scores to see it accepted or refused.