CBSE Fractions G3-G8 β Knowledge Graph v2
Review surface for the v2 Learning-Objective catalog covering CBSE Mathematics fractions, Grades 3 through 8. Each LO is shown as a card with its full v2 structure (Levels Γ Facets Γ Solving Schemas). Use the comment button on any card to flag a concern, suggestion, or verdict.
How to use this portal
- Skim sections 2-4 first β they explain the v2 model so the LO cards make sense.
- Open section 9 (LO Catalog) β 35 LOs grouped by introducing grade. Each card has the canonical statement, Bloom verb, Levels (with grades and scopes), Facets (with assessability), Solving Schema (with variants), source citations, edges, and a comment button.
- Section 10 (Interactive Explorer) β Cytoscape graph view; click nodes to drill in.
- Click "π¬ Comment on this LO" on any card you want to flag. The button opens a Google Form pre-filled with the LO ID.
- Bulk comments β use the catch-all form in section 15.
Quick jump
Why we're building a Knowledge Graph (and not just another curriculum doc)
An AI tutor needs to answer three questions on every turn: What does this student already know? What should they learn next? Did this last interaction actually help? A flat curriculum outline can't answer those β a structured catalog of atomic skills with dependencies can.
The problem an AI tutor faces
When a 12-year-old student sits with the tutor on a Tuesday evening, the tutor has to decide β in real time β whether to introduce a new fractions skill, drill an existing one, or back up because a prerequisite is shaky. Doing that well needs three things:
- A list of the atomic skills in the curriculum, fine enough that "mastered / not mastered" is a meaningful binary for each.
- The dependencies between them β what must be in place before what can be taught.
- A way to attach every piece of content (every video, every applet, every quiz item) to the specific skill it teaches or tests, so the system can pick the right next thing.
Together, those three are a knowledge graph. Atomic skills are the nodes; prerequisites and other relationships are the edges; content hangs off the nodes as evidence that the skill was taught or assessed.
Why not just use NCERT's competencies?
NCERT's Learning Outcomes 2017 document is excellent β but it's written for teachers and policy. Each NCERT learning outcome typically bundles 3-8 distinct cognitive moves into one entry, on purpose. That's right for "did this teacher cover the chapter" reporting. It's wrong for "did this student master comparing unit fractions specifically" runtime decisions.
Our catalog consumes NCERT (and NCF-SE 2023, and CBSE-CBE) via framework_alignments on every LO β every entry tells you which NCERT clause it implements. We're not replacing the standard; we're decomposing it into the teaching-level chunks a teacher would actually diagnose independently.
What this catalog is β and isn't
| It IS | It is NOT |
|---|---|
| A persistent, append-only catalog of atomic mathematical skills | A textbook or lesson plan |
| A scaffold for content tagging β every video, applet, quiz tags to its primary skill | A question bank or content store (those live elsewhere; this just labels them) |
| The structure the AI tutor traverses to decide "what to teach next" | A curriculum standard (standards are upstream regulatory documents; this is downstream of them) |
| One per curriculum (CBSE has one; KM Indonesia has its own; CCSS has its own β see next section) | A global / universal taxonomy (those collapse on contact with curriculum-specific scope and sequence) |
| Reviewed and ratified by domain experts β that's why we're asking you | Autogenerated and shipped without review |
What we built it for, concretely
- Byjus.AI β pre-launch B2C AI math tutor (India, CBSE Math, G6-G8 first, eventually K-12). This catalog is the spine.
- CERDAS Indonesia β proposed B2G program with Indonesia's Kurikulum Merdeka. Same product, different curriculum KG bridged via the UKG (next section).
- Future research β multi-year longitudinal mastery data per student, sitting as an overlay on this curriculum graph.
Why this matters for your review
Every concern you raise improves the runtime decisions the tutor will make for thousands of students. An LO that's too compound means the tutor can't tell which sub-skill is shaky. A missing prerequisite edge means the tutor introduces a skill before the foundation is ready. A wrongly-scoped Level means the wrong assessable items get assigned. Your domain expertise translates directly into the quality of every personalized session.
One catalog per curriculum, federated into a Universal Knowledge Graph
CBSE Math is its own catalog. Kurikulum Merdeka (Indonesia) is its own catalog. Common Core, Cambridge β same. The Universal Knowledge Graph (UKG) is what stitches them all together β not by collapsing them, but by drawing equivalence edges between LOs that name the same underlying skill.
Why not one global catalog?
Tempting β but it doesn't survive contact with reality. Curricula differ in scope, sequence, and emphasis in ways that aren't pedagogically arbitrary:
- KM Indonesia introduces unit fractions in Fase B (β G3-G4). CBSE introduces them in G3 too, but the formal denominators 1/100 and 1/200 appear only at G6. Flatten them and you've lost where the difficulty actually lives for each curriculum.
- CBSE G8 has Compound Interest as a full chapter applied to fractions. KM doesn't teach compound interest until secondary school. There's no shared "G8 fractions" node β they teach different things at the same age.
- CCSS-M has the "Number & Operations β Fractions" domain organised by year-by-year clusters; CBSE organises by topical chapters. Forcing them into one taxonomy means choosing whose pedagogy wins.
Federation preserves each curriculum's integrity. The UKG just records: "this LO in CBSE is the same skill as this LO in KM, even if the grade differs."
Where the equivalence edges go
An edge typed cross_curriculum_equivalent connects two LOs in different curriculum KGs that name the same underlying skill. The edge carries a strength field (strong / moderate / weak) and a notes field explaining the bridge.
Example (future): CBSE's cbse-math-compare-unit-fractions would bridge to KM's km-math-bandingkan-pecahan-satuan as strong equivalence. The bridge means: an applet authored once, with two language tracks, serves both curricula.
Layer model
| Layer | What lives there | State for Fractions (this catalog) |
|---|---|---|
| L1 Backbone | Curriculum β Grade β Textbook β Chapter β Section + Strands + Threads | β Done β 12 grades, 20 textbooks, 202 chapters, 972 sections, 12 strands, 35 threads |
| L2 LO catalog | LOs anchored to sections; intra-LO edges (this portal) | β Pilot done β 35 LOs Β· 65 edges Β· 27 schemas (G3-G8). Your review. |
| L3 Content tagging | Modules + Components tagged to LOs via 1 primary + 0-2 secondary | Deferred until L2 v2 ratified |
How fine is "fine" β calibrating LO grain
A common reaction to this catalog is "this is more granular than NCERT". That's by design. The grain is set by what an AI tutor needs to track independently, not by what fits on a policy document.
Where this catalog sits
| Reference | Their grain | This catalog (v2) | Previous v1 (deprecated) |
|---|---|---|---|
| NCERT Learning Outcomes 2017 | ~17-22 compound competencies per grade. Each clause like "6.M.LO3 classifies triangles by sides and angles" is one bullet covering 4-6 distinct cognitive moves. | 1 NCERT LO β 1-3 of our LOs (each with internal Levels and Facets capturing the variations). | 1 NCERT LO β 3-8 v1 LOs (over-decomposed). |
| NCF-SE 2023 (Middle Stage curricular expectations) | Phase-level competencies (e.g., "Middle Stage / Number / CE-3"). Coarser still than NCERT-LO-2017. | 1 NCF-SE CE β 2-5 of our LOs. | 1 NCF-SE CE β 8-15 v1 LOs. |
| CCSS-M K-8 (United States) | ~360 standards K-8; each standard averages 2-4 verbs per sub-standard. | 1 CCSS-M standard β 2-3 of our LOs. | 6-9 v1 LOs (too fine). |
| Singapore MOE Primary | Sub-topic gerund phrases (e.g., "comparing and ordering fractions, denominators β€ 12") β one line per skill family. | 1 Singapore line β 2-3 of our LOs. | 6-10 v1 LOs. |
| Achieve Coherence Map (Zimba) | Standard-level nodes with prerequisite edges β same grain as CCSS-M. | Comparable grain. | ~10x finer than v2 (over-decomposed). |
Why finer than published standards
Standards are written for human teachers, who can read "classify triangles by sides and angles" and mentally expand it into "I'll teach equilateral/isosceles/scalene, then acute/right/obtuse, then combinations". The AI tutor can't do that mental expansion β it needs each sub-skill named explicitly to know what to drill, what to assign, and how to score mastery.
So the rule is: the unit of an LO is the smallest distinct teachable skill a teacher would diagnose independently. If a teacher would say "Rahul has the rule for equilateral down but isn't catching when an isosceles is also right" β those are two separate LOs in this catalog.
Why coarser than v1
v1's grain was too fine. Three triggers for that, all addressed by v2:
- Number-range splits. v1 created a separate LO for "Compare unit fractions a,b β€ 12" and "Compare unit fractions a,b β€ 200". v2 fuses them as Levels of one LO. A wider scope at a higher grade is a Level, not a new LO β unless the procedure changes fundamentally (rare).
- Representation splits. v1 created separate LOs for "Compare via area model", "Compare via number line", "Compare via verbal share-size reasoning" β all linked by
equivalent_toedges. v2 fuses these as Facets of one LO. The skill is the same; the representation is a teaching/assessment choice. - Compound competency over-split. v1 took NCERT's "classifies triangles" and made 8 LOs for it. v2 has 2-3 LOs and uses Levels and Facets to capture the variations.
What this means for your review
Two failure modes to watch for, in opposite directions:
- "This LO is still too compound" β flag if a single LO bundles cognitive moves that you'd diagnose separately. Example: a hypothetical "Solve word problems involving fraction operations" would be too compound β addition, subtraction, multiplication of fractions in word contexts are distinct LOs already; "solve word problems" isn't an LO at all, it's a teaching format.
- "This LO is unnecessarily split" β flag if two LOs name the same cognitive move at different scopes/representations, and could be fused via Levels or Facets. We've tried to catch these in authoring β flag any survivors.
What we capture in every LO β and why
An LO card looks dense at first. Every field on it earns its place β each one feeds something concrete downstream (tutor decisions, content tagging, mastery tracking, cross-curriculum bridges). This section walks the card field-by-field, explains the rationale for each design choice, and gives authors the heuristic for picking the right value.
The five criteria β what makes something an LO at all
Before any structure: every entry in this catalog must pass five tests. Fail any one and it's not an LO.
| # | Criterion | Rule | Why this criterion |
|---|---|---|---|
| 1 | Demonstrable | States an observable action via a Bloom verb. Banned: understand, know, grasp. | If we can't observe it, the tutor can't assess it, and we can't track mastery. "Understand fractions" is not measurable; "compare two fractions with unlike denominators" is. |
| 2 | Atomic | One cognitive move on one conceptual object. No method clauses (by, via); no multi-verb. | If two skills are bundled, the tutor can't tell which one is shaky when a student fails. Atomicity is what makes diagnosis possible. |
| 3 | Unique by canonical statement | Same canonical statement = same LO. Scope and representation variations live INSIDE the LO via Levels and Facets. | Two LOs with the same canonical statement is a sign of catalog drift β duplicate effort, duplicate edges, ambiguous tagging. Uniqueness is the integrity constraint. |
| 4 | Scope-bounded at the Level | Numeric scope on Levels; canonical statement names the concept. | "Compare unit fractions" is the same skill at a/bβ€12 and at a/bβ€200. The bound is grade-dependent; the skill isn't. Putting bounds in the canonical statement leaks grade-specifics into the LO identity (the v1 mistake). |
| 5 | Pedagogically meaningful | Reflects a skill a teacher would actually test or assign. | If no teacher would set a question on it alone, it isn't a teaching unit. Avoids over-decomposition into things like "write the numerator on the line above" (mechanical, not pedagogical). |
What's on every LO card β annotated
Open any LO in the Catalog (section 9). The card has eight blocks. Here's what each captures, and why:
| Block on the card | What we capture | Why we capture it |
|---|---|---|
| ID + canonical statement | A stable slug (cbse-math-compare-unit-fractions) and the one-line action statement. | The slug is the immutable handle other systems join on (content tagging, edge targets, Student KG nodes). The canonical statement is what humans read; together they pin the LO's identity for the life of the catalog. |
| Pills β Bloom, concept, thread | One Bloom verb level Β· one concept type Β· one primary thread. | Bloom level controls how the tutor frames the question stem. Concept type controls what kind of evidence counts as mastery. Thread is the navigation backbone for the runtime traversal. |
| Levels | 1-3 entries: tier (foundational/intermediate/advanced) Γ role Γ grade Γ scope Γ taught-in sections. | Encodes within-LO progression. Tutor uses tier to pick item difficulty; role tells it whether this Level is introducing the skill (don't drill yet) or reviewing it (drill is fine). |
| Facets | 1-4 entries: representational form Γ role (explanatory/assessable). | Content tagging picks which Facet a given applet teaches. Tutor rotates Facets across sessions to prevent "I've only ever seen this as bars" failure mode. |
| Solving Schema (procedural LOs only) | One reference to a global schema + variant list. | Lets the tutor recognise that two questions on the same relation, with different unknowns, are the same skill in different clothes. Prevents "skill stutter". |
| Framework alignments | Citations to NCERT-LO-2017 clauses, NCF-SE 2023 curricular expectations, CBSE-CBE codes. | Trace-back to published standards. Lets the SME verify "this LO does implement what NCERT says". Lets policy/compliance check that nothing's missing. |
| Source provenance | Textbook + chapter + page references for each cited authority. | Reviewers should be able to click straight to the page that authorises the LO. Stops "I made this up" / hallucination errors. |
| Misconceptions + tags + edges | Common student errors at this LO, free-form tags, in/out prerequisite edges. | Misconceptions drive what the tutor probes for on a wrong answer. Tags surface authoring patterns (e.g., all "applied: cooking" LOs). Edges power the runtime traversal. |
Why Bloom verbs β and why these six
The first word of every canonical statement must come from a fixed Bloom verb vocabulary. This isn't tradition for tradition's sake β it controls three downstream things:
- The kind of question stem the tutor generates.
Computedemands a numerical answer slot;justifydemands a free-text justification with a rubric. The verb determines the assessment shape. - The kind of mastery evidence we accept.
Identifycan be checked by a single MCQ.Analyserequires multi-step work the tutor can inspect. The verb sets the bar for "mastered". - The cognitive load mix per session. A session that's 100%
recallverbs is rote; one that's 100%createverbs is exhausting. The tutor balances across Bloom levels per session β only possible because every LO carries one.
The six levels we use, in increasing cognitive demand:
| Bloom level | Sample verbs | What it asks the student to do |
|---|---|---|
| recall | identify, recognise, state, list, name | Retrieve a learned fact or label from memory. "What does the denominator name?" |
| understand | describe, classify, explain, interpret, compare | Make sense of information β relate ideas, paraphrase, give examples. "Explain why β and 4/6 are equivalent." |
| apply | compute, calculate, solve, convert, construct, use | Use a known procedure on a new instance. The bulk of procedural LOs sit here. |
| analyse | compare (across), differentiate, decompose, examine | Break a situation into parts; see structure. "Decompose 7/12 into a sum of unit fractions." |
| evaluate | justify, critique, defend, judge | Make and defend a judgement. "Justify whether 3/8 < 5/12 without finding a common denominator." |
| create | compose, design, construct (novel), formulate | Produce something new that meets a constraint. "Compose three fractions whose sum is exactly 1." |
Banned: understand, know, grasp, be familiar with, master, appreciate. They name no observable behaviour β which means no way to assess, no way to track mastery, no way for the tutor to act.
Why concept types matter
Every LO is one of four concept types (Anderson & Krathwohl). They determine what evidence the tutor accepts as mastery:
| Concept type | What it names | Mastery evidence the tutor looks for |
|---|---|---|
| factual | Discrete pieces of information (terms, conventions). "The line in a fraction is called the vinculum." | A few correct recall answers, decayed over time β re-probe later. |
| conceptual | Relationships, classifications, principles. "Equivalent fractions name the same point on a number line." | Correct explanation + correct examples + correct non-examples β durable. |
| procedural | Methods, algorithms, multi-step routines. "Compute the sum of two fractions." | Correct procedure on multiple variants of the Solving Schema β marks fluency. |
| metacognitive | Strategy choice, self-monitoring. "Choose whether to find a common denominator or cross-multiply for a given comparison." | Correct strategy picks across a mix of cases β harder to measure, rarer in this catalog. |
Why this matters: a factual LO doesn't need a Solving Schema (no procedure); a procedural LO without a Schema is a linter flag (probably mis-classified); a metacognitive LO almost always pairs with an Applied facet (you can't show strategy choice in pure symbolic form).
Why Levels are tiered foundational / intermediate / advanced
Three tiers, in order. Naming was deliberate β we considered alternatives and rejected them:
| Alternative considered | Why rejected |
|---|---|
| Number of stars (1β / 2β / 3β ) | Reads as gamification; SMEs flagged it as patronising. |
| By grade alone (G3 / G4 / G5) | Two grades sometimes share a tier; some tiers span 3 grades. Decoupling tier from grade is what lets the same LO span G3-G8 naturally. |
| By numeric bound (a,bβ€12 / a,bβ€100 / a,bβ€200) | Bound is a property of the Level's scope, not the tier itself. Non-numeric LOs (geometry, justification) need tiers too. |
| By Bloom level (recall / apply / create) | Bloom level is per-LO, not per-Level β the same LO doesn't change Bloom level across grades. |
The picking heuristic:
- foundational β the first encounter with this skill in any form. Bounded scope, supportive visual, low cognitive load. Often G3-G5 in our catalog.
- intermediate β wider scope, mixed forms, expectation of unaided procedure. The "working" tier where most assessment happens. Often G5-G7.
- advanced β unrestricted scope, mixed with adjacent skills, expected to be near-instant. The "fluency" tier. Often G7-G8 or beyond.
An LO can skip tiers (an LO that's only introduced in G8 might go straight to intermediate). An LO doesn't need all three; one is fine.
Why those five Level roles
Each Level carries a role β what the curriculum is asking of this Level at this grade:
| Role | What the curriculum is doing | What the tutor does |
|---|---|---|
| introduces | First exposure. Teach, don't yet test under timed conditions. | Use explanatory facets heavily; assessable items low-stakes. |
| extends | Wider scope of an already-introduced LO at this Level's tier. | Treat as new content for assessment, but reuse known representations. |
| reviews | Re-encounter as a stepping-stone for a different LO. | Quick warm-up only β don't re-prove what's already mastered. |
| applies | Now used inside a higher-order or cross-thread skill. | Expect fluency; failure here means the underlying LO regressed. |
| assesses | Formal end-of-stage assessment of this LO. | Use assessable facets only; mark mastery state on success. |
The 25% reviews-role cap. The linter (section 06, subsection 9b) flags any grade where more than 25% of Levels added are reviews-role. Reason: a grade that's mostly review isn't teaching anything new β likely a sign that the LO catalog is over-decomposing prior content rather than adding new skills.
Why exactly these four Facets
Each LO can carry 1-4 Facets across Visual / Symbolic / Verbal / Applied. We considered three / five / six alternatives β these four are what we landed on:
- Visual β diagrammatic representations. Area model, bar/strip, number line, set diagram. Why: every fraction concept can be seen before it can be symbolised. SMEs unanimous that visual is non-negotiable.
- Symbolic β formal mathematical notation. Fraction bars, equations, inequalities, schema instances. Why: this is what high-stakes assessment uses. An LO that has no symbolic facet can't be tested in the formal exam track.
- Verbal β natural-language form. "If 3 children share 2 chappatis equallyβ¦" Why: real classroom talk lives here. Voice-first AI tutors (Byjus.AI) lean heavily on this facet for first introductions.
- Applied β real-world / contextual. Money, measurement, cooking, sport, recipes. Why: tests transfer. A student who can compute 3/4 + 1/8 symbolically but can't add 3/4 cup + 1/8 cup hasn't actually learned the LO.
Why not three? "Verbal" and "Applied" sometimes look similar but aren't β verbal is about linguistic encoding of the math; applied is about domain transfer. Collapsing them loses transfer signal.
Why not five? We tried "Procedural-Visual" (e.g., interactive applet manipulations) as a fifth β turned out it always reduced to either Visual + Symbolic interaction or Visual + Applied. Wasn't pulling its weight.
Why facets carry an explanatory vs assessable role
Same Facet, different role, very different implication for the tutor:
- explanatory β shown for teaching / intuition; never used as the test. A visual area-model is often explanatory: it makes "why β + ΒΌ β 3/7" obvious, but you don't assess by asking students to "draw the area model".
- assessable β usable as the assessment vehicle. The Symbolic facet of "add fractions" is almost always assessable: that's what end-of-chapter tests use.
Rule of thumb: every LO needs at least one assessable Facet (linter flag NO_ASSESSABLE_FACET if not). All-explanatory Facets means the LO can be taught but not tested β almost certainly an authoring error.
Why Solving Schemas only on procedural LOs
A Schema is a named mathematical relation with named variables and variants. It only makes sense where a relation exists β i.e., procedural LOs. A factual LO ("name the denominator") has no relation to solve; a conceptual LO ("explain why equivalence preserves the value") has no variables. Forcing Schemas onto them would manufacture structure where none exists.
Variants encode which variable is unknown, NOT the question's surface form. Same Schema, three variants:
equivalent_fractionsrelation:a/b = (aΒ·k)/(bΒ·k), variables {a, b, k}- Variant
find_scaling_factor: given β and 4/6, find k. - Variant
find_equivalent_with_given_denominator: convert β to a fraction with denominator 12 β find the new numerator. - Variant
verify_equivalence_symbolic: is β = 4/6? Find whether a valid k exists.
The tutor uses variants to scaffold: introduce the easiest variant first; layer in harder variants as mastery deepens. Without variants, a student who's mastered "verify equivalence" gets nominally credited for an LO they can't actually invert.
Other locked vocabularies
| Vocabulary | Values | What it controls |
|---|---|---|
| Bloom levels | recall Β· understand Β· apply Β· analyse Β· evaluate Β· create | Question stem shape; mastery bar; session balance. |
| Concept types | factual Β· conceptual Β· procedural Β· metacognitive | What evidence counts as mastery; whether the LO needs a Schema. |
| Lifecycle states | proposed Β· active Β· locked Β· superseded Β· deprecated | Whether content can tag to this LO yet; whether the LO is in runtime use. |
| Edge types (active) | prerequisite_of Β· inverse_of Β· cross_curriculum_equivalent | Tutor traversal; bridging across curricula. |
| Edge types (vestigial) | scope_extends Β· equivalent_to | Kept for rare exceptions; not load-bearing. |
The 1:1 thread constraint
Every LO has exactly one primary_thread β its terminal cognitive skill. Cross-thread USE is expressed via prerequisite_of edges, not multi-thread membership.
Why: an LO with two threads is ambiguous about what it really is. Is "compute fraction of a quantity" a Fractions LO or an Operations LO? If both, content tagging gets two equally-valid primaries β and the tutor's "what to teach next" coin-flips. Forcing one thread forces a choice; cross-thread relevance is then explicit (an edge, not a membership).
Cultural / historical content β NOT an LO
Section.cultural_callouts[] metadata. They are never LOs. See section 12 of this portal.Why: "Brahmagupta's method for fraction addition" is not a skill a student practises and demonstrates β it's curriculum context. Treating it as an LO meant the tutor would try to "assess" it, which is wrong by construction. Moving it to Section metadata means the content team can still surface the history at the right moment, without the runtime trying to test it.
What's NOT on an LO card β and why we didn't add it
A few fields were proposed and rejected; worth noting because the rejections are informative:
| Proposed | Why we don't capture it |
|---|---|
| Estimated minutes-to-mastery | Wildly student-dependent. The Student KG overlay tracks actual time; baking estimates into the catalog would create a false standard. |
| Difficulty rating (1-10) | Tiers (foundational / intermediate / advanced) already encode this categorically; a numeric rating would invite false precision. |
| Suggested teaching activities | Belongs in content (Layer 3), not in the LO. Different products may teach the same LO differently β locking activities into the LO would over-constrain. |
| Author / reviewer attribution | Catalog is institutional. Individual attribution belongs in git history / audit log, not on the public card. |
| Pass / fail thresholds | Student KG overlay manages mastery thresholds per student; baking them into the LO removes adaptivity. |
How this catalog gets authored β the operating manual
If a different person (or another LLM thread) had to recreate this work from scratch, this is everything they would need. The portal so far has shown the catalog (the output) and the spec (the rules). This section is the process β the operating procedure an author follows so the output is reproducible, audited, and defensible. Reviewers should read this so they can challenge not just "is this LO right" but "was the right procedure followed to produce it".
1. What you need before you start
| # | Input | Where it lives | What it gives you |
|---|---|---|---|
| 1 | Universal LO Definition Spec v2 | docs/superpowers/specs/2026-06-23-universal-lo-definition-v2.md (1089 lines, 14 sections) | The locked rule book β every rule cited below traces here. |
| 2 | NCERT source PDFs | ~/Desktop/Byjus AI/TextBooks/ (27 folders, 333 PDFs, 1.0 GB) β Maths Mela G3-G5, Ganita Prakash G6-G8, plus exemplars | The authoritative curriculum text. Every LO must trace to specific pages here. |
| 3 | NCERT-LO-2017 reference | NCERT Learning Outcomes document (PDF) β clauses like 6.M.LO3 | The framework_alignments for each LO. Cite by exact code. |
| 4 | NCF-SE 2023 curricular expectations | National Curriculum Framework for School Education 2023 | Higher-grain framework alignment. Cite the curricular expectation code. |
| 5 | CBSE-CBE codes (where used) | CBSE Competency-Based Education learning outcomes | Tertiary alignment. Optional but recommended for tested LOs. |
| 6 | Prior-grade catalog (if any) | curriculum/cbse/fractions/v2/fractions_los.json (cumulative state) | The catalog you're EXTENDING. Sequential per-grade authoring means G6 builds on G3-G5; never re-author what's there. |
| 7 | Solving schema library | curriculum/cbse/fractions/v2/solving_schemas.json | The reusable global schemas. Check before authoring a new one β promote local β global when shared. |
| 8 | This portal | curriculum/cbse/fractions/v2/portal/ | Sections 02-05 explain the WHY behind every design choice. Don't skip them. |
| 9 | Linter + emitters | run_linter.py Β· generate_cypher.py Β· generate_review_md.py | Three Python scripts that gate quality and emit artifacts. Linter MUST pass before anything ships. |
2. The end-to-end author loop
For each new grade (G3 β G4 β β¦ β G8, sequential, not parallel):
- Load context. Read Spec v2 Β§0-Β§9. Read this portal sections 02-05. Read the cumulative prior-grade catalog (
fractions_los.json) end-to-end. Note every existing LO, Level, Facet, Schema by ID. - Locate the source. Open the NCERT textbook for this grade. Locate the fractions chapter(s). Note the section list with page ranges.
- Walk the chapter. For each section, perform the per-section classification (subsection 3 below). This produces a list of candidate proposals: existing-LO updates + new LOs + cultural callouts.
- Draft the LOs / Levels / Facets / Schemas / Callouts. Use the naming conventions (subsection 7). For each new LO: canonical statement, Bloom verb, concept type, Level(s), Facet(s), Schema (if procedural), framework_alignments, source_provenance, misconceptions, tags.
- Run the linter (subsection 9). Fix every auto-reject before continuing. Review every borderline flag with a human; resolve to "kept" or "split" and record.
- Run the per-grade balance audit (subsection 9). If >25% of new Levels for this grade are
reviews-role, the grade is over-reviewing β revisit and replace with new content where the curriculum actually expects it. - Propose cross-thread prereqs. For any new LO whose prerequisites lie in another thread, draft a proposal with status
proposed_pending_human_review. Don't commit cross-thread edges to live; they wait until the target thread is authored. - Regenerate emissions.
python3 generate_cypher.py+python3 generate_review_md.py. Both should run clean. - Copy JSONs into the portal.
cp ../*.json portal/data/. The portal updates immediately. - Two-author governance gate. A second author reviews. LOs stay
proposeduntil ratified toactive.
3. The per-section classification protocol
For every section of every chapter, the author asks: "What is this section asking the student to do, and how does it map to the catalog?" Exactly one of these six outcomes applies (this is from Spec v2 Β§6.3):
| Outcome | Trigger | Action | Event log entry |
|---|---|---|---|
| A. Existing LO at existing Level/Facet | This section practises a skill already in the catalog at the same scope/representation. | Add this section's reference to the Level's taught_in_sections[]. No catalog growth. | section_link |
| B. Existing LO; new Level | Same skill, wider scope or new role at this grade. | Add a new Level to the existing LO. Set tier (foundational/intermediate/advanced), role (introduces/extends/reviews/applies/assesses), grade, scope, taught_in_sections. | level_extend |
| C. Existing LO; new Facet | Same skill in a new representational form (the LO never had a Visual / Symbolic / Verbal / Applied version before). | Add a new Facet to the existing LO with role (explanatory/assessable) and pedagogical notes. | facet_add |
| D. Existing Schema; new variant | This section solves the same underlying relation as an existing procedural LO, but with a different unknown. | Add a new variant to the existing Schema. Don't author a new LO. | schema_add_variant |
| E. New LO | No existing LO covers this cognitive move on this conceptual object (run the LO-vs-Level decision tree in subsection 4 to be sure). | Author a new LO with full structure. Default lifecycle state: proposed. | add |
| F. Cultural / historical / regional | The section names a mathematician, gives historical context, or introduces regional vocabulary. | Add an entry to Section.cultural_callouts[]. Never an LO. | callout_add |
Walking order within a chapter: sections in published page-order. Within a section: read the full section before classifying β don't decide on the first paragraph.
4. The hardest judgement: new LO vs new Level of an existing LO
This is the call authors get wrong most often. The default bias is "new Level, not new LO" (v1's failure mode was the opposite). The decision tree:
| Question | If YES β¦ | If NO β¦ |
|---|---|---|
| Is the cognitive move identical? (same verb, same object, same conceptual structure) | Probably a new Level. Continue checking. | New LO. Different cognitive move = different LO. |
| Does the wider scope demand a fundamentally different procedure? (e.g., comparing fractions a/b β€ 12 by drawing area-models VS comparing 1/47 and 1/53 by cross-multiplication β the procedure is different) | New LO. Per Spec v2 Β§7.1 A11. | Probably a new Level. |
| Would a teacher diagnose "X mastered but Y still shaky" between the two versions independently? | New LO. Independent diagnosability is what makes them separate. | New Level. |
| Is the only difference a numeric bound, or the size of the input, or the inclusion of an extra digit? | New Level. (This was the v1 over-decomposition trap.) | β |
| Is the only difference the representation (area model vs number line)? | New Facet, NOT a new Level or LO. | β |
| Is the only difference the variant of a procedure (find k vs find new numerator)? | New Schema variant, NOT a new Level or LO. | β |
prerequisite_of.5. New LO vs new Facet vs new Schema-variant
The same call, in two more flavours:
- New Facet, not new LO when the cognitive move and conceptual object are the same but the representational form differs. The skill of "comparing two fractions" is one LO; the area model is a Visual facet, the cross-multiplication argument is a Symbolic facet, the "who eats more pizza" reasoning is a Verbal facet, the recipe-scaling problem is an Applied facet. All four are facets of one LO.
- New Schema-variant, not new LO when the relation is the same and only the unknown differs.
a/b = (aΒ·k)/(bΒ·k): solving for new numerator, solving for new denominator, solving for k, verifying equivalence β all variants ofequivalent_fractions, one Schema, one LO. The variants live as a list inside the Schema. - New Schema, not new variant when the underlying relation is different.
a/b + c/d = (ad+bc)/bdis a different relation froma/b = (aΒ·k)/(bΒ·k)β a separate Schema, even though both involve fractions.
6. The Bloom verb selection workflow
Given a candidate canonical statement, pick the verb in this order:
- Identify the cognitive move the student must perform (not what they read or hear β what they DO).
- Pick the Bloom level that matches:
recall(retrieve) Β·understand(explain/classify) Β·apply(compute/use/solve) Β·analyse(decompose/compare-across) Β·evaluate(justify/critique) Β·create(compose/design). - Pick the verb from the controlled vocabulary for that level (section 05 of this portal has the table).
- Rewrite the canonical statement as:
[verb] [direct object] [optional qualifier]. No method (by,via,using); no multi-verb (and,or); no numeric bound; no historical attribution. - Run the linter to confirm. If it fails β back to step 2 or 3.
β Cognitive move: compute a sum. β Bloom level: apply. β Verb:
compute. β Canonical: "Compute the sum of two fractions with unlike denominators". β LCM method is a Symbolic Facet on this LO, not part of the canonical statement.7. Naming conventions
| Entity | Pattern | Example |
|---|---|---|
| LO ID (slug) | cbse-math-{verb}-{object}, kebab-case, lowercase | cbse-math-compare-unit-fractions |
| Section ID | {grade}-{subject}-c{ch}-s{sec} | g6-math-c7-s2 (G6 Math Ch 7 Sec 2) |
| Level ID (within LO) | {lo-id}#L{n} | cbse-math-compare-unit-fractions#L1 |
| Facet ID (within LO) | {lo-id}#F-{facet-name} | cbse-math-compare-unit-fractions#F-Visual |
| Solving Schema name | snake_case, names the relation | equivalent_fractions |
| Schema variant name | snake_case, names what's unknown | find_scaling_factor Β· verify_equivalence_symbolic |
| Cultural callout type | One of: historical_attribution Β· cultural_context Β· regional_terminology Β· traditional_vocabulary | β |
| Cross-thread proposal status | Always proposed_pending_human_review until the target thread is authored | β |
Slugs are immutable once an LO ratifies to active. If an LO needs renaming, it's a supersession β old LO marked superseded, new LO with new slug links back via supersedes.
8. Citation and provenance protocols
Every LO carries three citation blocks. They are not optional:
| Block | Format | Example |
|---|---|---|
framework_alignments[] | Array of {framework, code, description} | {framework: "NCERT-LO-2017", code: "6.M.LO3", description: "..."} |
source_provenance[] | Array of {textbook, chapter, section, page_range, edition} | {textbook: "Ganita Prakash Class 6", chapter: 7, section: "7.2", page_range: "143-145", edition: "2024 Reprint 2026-27"} |
misconceptions[] | Array of {description, source}. Sources: NCERT teacher manual, research lit, classroom observation. | {description: "Treats numerator as denominator under addition", source: "NCERT Teacher Manual G5 p.34"} |
Citation discipline: if you can't cite it, don't include it. Reviewers must be able to verify every claim against a primary source. Hallucinated framework codes (a common LLM failure mode) are caught by linter check UNKNOWN_FRAMEWORK_CODE β the code must exist in the loaded framework JSON.
9. Quality gates β when to run each
Four gates between "draft" and "ratified". They run in order; nothing skips ahead.
| Gate | How | When | Pass criterion |
|---|---|---|---|
| Hybrid linter | python3 run_linter.py | After every authoring pass; before any emission | 0 auto-rejects Β· all borderline flags reviewed by human |
| Per-grade balance audit | Built into the linter | End of each grade | β€ 25% of new Levels at any grade are reviews-role |
| Two-author review | Human | Before proposed β active | Second author signs off on canonical statement, Levels, Facets, Schema, alignments |
| Cross-thread prereq validation | Human | After the target thread is authored | Each proposed_pending_human_review edge confirmed or rejected; status updated |
9a Β· Linter β auto-reject (mechanical) checks
These are catalog-integrity violations the linter rejects without escalation. Fix and re-run.
| Check | Trigger |
|---|---|
| BANNED_VERB | Verbs like understand, know, grasp, be familiar with, master |
| NON_BLOOM_VERB | First word of canonical statement not in Β§2.3 vocabulary |
| MULTI_VERB | Two verbs of action in same statement (multi-skill) |
| METHOD_CLAUSE | Patterns like by β¦, via β¦, using β¦ (belongs on a Facet, not the canonical) |
| NUMERIC_BOUND_IN_CANONICAL | Grade-specific numbers like (a, b β€ 12) (belongs on a Level) |
| HISTORICAL_ATTRIBUTION | Years or names of mathematicians in canonical statement |
| DUPLICATE_CANONICAL | Exact-match canonical against existing proposed/active LO |
| NO_LEVELS / NO_FACETS | LO without 1+ Level or 1+ Facet |
| MULTI_THREAD | primary_thread as array or comma-separated (violates 1:1) |
| UNKNOWN_FRAMEWORK_CODE | A cited framework code (e.g., 6.M.LO99) not present in the loaded framework JSON β anti-hallucination guard |
9b Β· Linter β borderline flags (human review)
These flag patterns that are often wrong but sometimes intentional. Author resolves each as "kept" or "split" and records the rationale.
| Check | Trigger |
|---|---|
| LONG_CANONICAL | Canonical statement > 12 words β likely compound |
| BLOOM_CONCEPT_MISMATCH | e.g., compute on a factual LO |
| REVIEWS_ROLE_OVER_25% | At a given grade, > 25% of new Levels are reviews-role (Q6, per-grade balance audit) |
| NO_ASSESSABLE_FACET | All Facets are explanatory β almost certainly wrong |
| PROCEDURAL_NO_SCHEMA | Procedural LO without a Solving Schema β flag for review |
9c Β· Per-grade balance audit β this catalog's current state
10. Emissions β what gets generated and when
| Artifact | Generator | Where it lands | What consumes it |
|---|---|---|---|
| Cypher import (idempotent MERGE) | generate_cypher.py | fractions_layer2_import_v2.cypher | Neo4j load. Safe to re-run; produces same graph every time. |
| Human review markdown | generate_review_md.py | fractions_los_review_v2.md | Offline SME review; printable. |
| Portal JSONs | (copy) cp ../*.json data/ | portal/data/*.json | The fetch() calls in the portal index.html. |
Regenerate all three after any catalog change. They're cheap; treat them as ephemeral. The source of truth is the source JSONs in curriculum/cbse/fractions/v2/.
11. Lifecycle and supersession
| Lifecycle state | What it means | What can tag to it |
|---|---|---|
proposed | Authored, linted, awaiting two-author review | Nothing yet β content tagging blocked |
active | Ratified; in production use | Content tags freely; tutor traverses |
locked | Active and frozen against further edits (rare; for assessment-stable LOs) | Content tags freely; no edits without supersession |
superseded | Replaced by a new LO; kept for historical content tags | Old content tags retained; new content tags target the successor |
deprecated | Removed from active use entirely | Nothing new tags here; old tags get migrated or audited |
Supersession rule: never rename or rewrite an active LO in place. Mark it superseded; author a new LO with a new slug; declare supersedes on the new LO pointing back. Content team migrates tags on its own clock.
12. Common traps β what NOT to do
| Trap | How it manifests | What to do instead |
|---|---|---|
| Over-decomposition by scope | Authoring "compare fractions a,bβ€12" and "compare fractions a,bβ€200" as two LOs | One LO, two Levels β scope on the Level, not the LO |
| Over-decomposition by representation | Authoring "compare via area model" and "compare via number line" as two LOs linked by equivalent_to | One LO, two Facets |
| Over-decomposition by variant | "Find equivalent numerator" and "find equivalent denominator" as two LOs | One LO, one Schema, two variants |
| Under-decomposition | "Solve word problems involving fractions" as one LO bundling addition+subtraction+multiplication contexts | Split per operation; "word problems" is a teaching format, not an LO |
| Multi-thread leakage | Tagging an LO with primary_thread: [fractions, arithmetic] | Pick one thread. Cross-thread USE is a prerequisite_of edge. |
| Bloom verb churn | Authoring the same skill with identify in one Level and compute in another | Bloom is per-LO. Pick one; if it really changes, it's a different LO. |
| Method in canonical | "Add fractions by finding the LCM" | "Compute the sum of two fractions". LCM is a Symbolic Facet. |
| Cultural content as LO | Authoring "Apply Brahmagupta's method" as an LO | Section.cultural_callouts[]; the math behind the method is the LO, history is metadata. |
| Hallucinated framework code | Citing 6.M.LO99 when the document goes up to LO12 | Open the source. Verify every code. Linter catches this if the framework JSON is loaded. |
| Author identity in artifacts | Putting "Authored by [name]" in the LO JSON | Catalog is institutional. Attribution belongs in git history, not in the data. |
| Skipping prior-grade context | Starting G6 authoring without re-reading G3-G5 catalog | Sequential per-grade authoring is non-negotiable. Always load the cumulative state first. |
13. Worked example β one chapter, end to end
Pick G6 Ganita Prakash Chapter 7 (Fractions). Section 7.2 introduces equivalent fractions via Brahmagupta's method. Walking it:
- Read the full section. NCERT G6 Ch 7.2, pages 143-145, "Equivalent Fractions and Brahmagupta's Method".
- Identify cognitive moves. Three are in play: (a) recognise when two fractions are equivalent; (b) generate equivalent fractions by multiplying numerator and denominator by the same number; (c) reduce a fraction to lowest terms.
- Check prior catalog. G5 introduced "recognise equivalent fractions visually" β that's an existing LO,
cbse-math-recognise-equivalent-fractions, with a Visual Facet. - Classify (a): maps to existing LO. New Symbolic Facet for "verify equivalence by multiplication argument". Outcome C. Event:
facet_add. - Classify (b): NEW cognitive move (generate, not recognise). New LO
cbse-math-generate-equivalent-fractions. Bloom:applyΒ· concept type:proceduralΒ· Schema:equivalent_fractions(new global). Outcome E. Event:add. - Classify (c): NEW cognitive move (reduce, with the procedure of dividing by GCD). New LO
cbse-math-reduce-to-lowest-terms. Bloom:applyΒ· concept type:proceduralΒ· Schema:equivalent_fractions(reuses!) variantfind_smallest_equivalent. Outcome E. Event:add. - Cultural callout: "Brahmagupta (628 CE, BrΔhmasphuαΉasiddhΔnta) introduced the rule". Add to
Section.cultural_callouts[]with typehistorical_attribution. Outcome F. NOT an LO. - Cross-thread prereq:
cbse-math-reduce-to-lowest-termsdepends on knowing GCD β proposesprerequisite_ofedge fromcbse-math-find-gcdin thefactors_multiples_primesthread (not yet authored) with statusproposed_pending_human_review. - Lint. All three canonical statements pass: "Verify whether two fractions are equivalent" (recallβidentify? no β uses understanding; verify is in the apply level vocabulary; passes), "Generate an equivalent fraction", "Reduce a fraction to lowest terms". 0 auto-rejects.
- Balance audit for G6. 2 new LOs + 1 new Facet on existing. 0
reviews-role Levels. Passes. - Regenerate Cypher + markdown. Copy JSONs into portal/data/. Confirm portal still loads.
- Two-author review. Second SME confirms or revises. On confirmation, lifecycle moves
proposed β active.
14. What another author should be able to do after reading this
- Pick a new grade or thread and execute steps 1-10 without further guidance.
- Defend any catalog decision by citing a numbered rule above plus the source page.
- Detect when a candidate LO is actually a Level / Facet / Schema-variant (subsections 4-5).
- Write a canonical statement that passes the linter on the first try (subsection 6).
- Cite framework alignments and source provenance without hallucination (subsection 8).
- Avoid the 11 common traps in subsection 12.
- Reproduce this catalog from the same source PDFs, ending up with the same LOs at the same Levels with the same Facets (modulo minor wording).
From v1 to v2 β the nine review comments that reshaped this catalog
An earlier draft of this catalog (Spec v1, authored June 2026) went out for SME review. Nine recurring concerns came back. v2 is the spec that addresses each one β and the catalog you're looking at is the first re-authoring under it. This section maps each concern to the rule change it produced, with concrete fractions examples.
The nine comments at a glance
| # | Reviewer concern (v1) | v2 response |
|---|---|---|
| C1 | Verbs like understand, know, grasp appeared in canonical statements β not measurable. | Banned-verb list + Bloom controlled vocabulary (Β§2.3); linter auto-rejects. |
| C2 | Many LOs bundled multiple skills via and/or β e.g., "Compare and order fractions" (two verbs). | MULTI_VERB auto-reject; one verb = one LO. Compound competencies decompose into multiple LOs at authoring time. |
| C3 | Canonical statements named methods inline β "Add fractions by finding the LCM". The method belongs to a Facet, not the LO identity. | METHOD_CLAUSE auto-reject for by/via/using patterns. Methods move to Facets (Symbolic / Verbal / Visual variants). |
| C4 | Historical attributions baked into canonical statements β "Apply Brahmagupta's method (628 CE) for fraction addition". | HISTORICAL_ATTRIBUTION auto-reject. Years and mathematician names move to Section.cultural_callouts[] as metadata. |
| C5 | Duplicate canonical statements across LOs (text-exact or near-duplicate) β sign of catalog drift. | DUPLICATE_CANONICAL auto-reject; canonical statements are unique keys within a thread. |
| C6 | Numeric bounds in canonical β "Add fractions (a, b β€ 12)". A bound is a grade-specific scope, not part of the skill name. | NUMERIC_BOUND_IN_CANONICAL auto-reject. Bounds move to Levels[].scope. |
| C7 | Cultural / regional / historical content was being authored AS LOs β "Brahmagupta's contribution to fractions", "Traditional Indian terms bhinna / tri-pada". That's curriculum context, not an assessable skill. | Cultural callouts move out of LOs entirely; live on Section.cultural_callouts[]. Reversed from v1 Β§7.1 A5 which had treated some as LOs. |
| C8 | Representational variants exploded the catalog β "Compare via area model" / "Compare via number line" / "Compare via verbal reasoning" were three LOs linked by equivalent_to edges. Same underlying skill, three rows. | Facets (R2): one LO carries 1-4 representations (Visual / Symbolic / Verbal / Applied) with explanatory/assessable roles. equivalent_to demoted to vestigial. |
| C9 | Scope variants exploded the catalog β "Compare unit fractions (a,b β€ 12)" and "Compare unit fractions (a,b β€ 200)" were separate LOs linked by scope_extends edges. | Levels (R1): one LO carries multiple Levels (foundational/intermediate/advanced Γ roles introduces/extends/reviews/applies/assesses) capturing within-LO progression. scope_extends demoted to vestigial. |
The five core rule changes (R1-R5)
Across the nine comments, five new rules emerged. Each is the load-bearing change that makes v2 different from v1:
R1 β Levels (replaces most scope_extends edges)
A single LO carries multiple Levels for grade-by-grade progression. Each Level has a tier (foundational / intermediate / advanced), a role (introduces / extends / reviews / applies / assesses), a grade, and a scope (the bounded version at that grade).
cbse-math-compare-unit-fractions-g4 (a,bβ€12, area model) and cbse-math-compare-unit-fractions-g6 (a,bβ€200, number line). v2 has ONE LO cbse-math-compare-unit-fractions with two Levels: foundational/G4/introduces (a,bβ€12) and intermediate/G6/extends (a,bβ€200). Plus two Facets for the two representations. Catalog goes from 2 nodes + 1 edge β 1 node + 2 internal Levels + 2 internal Facets.R2 β Facets (replaces most equivalent_to edges)
A single LO carries 1-4 Facets across the four representational forms: Visual (diagrams, area models, number lines), Symbolic (formal notation, equations), Verbal (story / share-size reasoning), Applied (real-world contexts: paratha, chikki, recipe scaling). Each Facet has an explanatory or assessable role. An LO needs at least one assessable Facet.
explanatory (teaching aid); the symbolic one is assessable (the diagnostic check); verbal + applied serve as teaching variations.R3 β Solving Schema (procedural LOs only)
A procedural LO declares its underlying mathematical relation as a Solving Schema: a named relation with named variables, plus variants for which variable is unknown. Schemas are reusable across LOs and live in a hybrid library (global + per-LO local promoted on review). Conceptual / factual LOs have no Schema.
equivalent_fractions declares a/b = (aΒ·k)/(bΒ·k) with variables {a, b, k} and variants: "find k", "find new numerator", "find new denominator", "verify equivalence". It's referenced by LOs cbse-math-generate-equivalent-fractions, cbse-math-reduce-to-lowest-terms, and cbse-math-cross-multiply-compare-fractions. Authoring a new variant once benefits all three LOs.R4 β Strict canonical-statement linter (hybrid mode)
Every proposed LO runs through the linter (section 06, subsection 9). Auto-reject on mechanical violations β multi-verb, method clauses, banned verbs, numeric bounds in canonical, historical attribution, duplicate canonical. Flag for human review on borderline cases β long canonical, missing assessable facet, procedural LO without schema, >25% reviews role at a grade.
R5 β Sequential per-grade authoring + hard 1:1 LO-to-Thread
v2 is authored G3 β G4 β G5 β G6 β G7 β G8 in order, each grade receiving the cumulative prior catalog as context. New LOs can extend prior LOs (via new Levels/Facets) rather than duplicate. Every LO belongs to exactly one Thread; cross-thread USE relationships are prerequisite_of edges, not multi-thread membership.
cbse-math-add-fractions doesn't re-author G5's understanding of equivalent fractions β it declares a prerequisite_of edge from cbse-math-generate-equivalent-fractions. When the arithmetic_operations thread is authored later, G7's fraction-multiplication LOs will declare prerequisite_of from multiply-whole-numbers in that thread.The compression in numbers
Net effect: fewer rows, richer rows. Each v2 LO encodes what 2-3 v1 LOs used to encode β but with explicit, structured internal progression instead of brittle cross-LO edges. Easier to maintain, easier for the tutor to traverse, easier for SMEs to review (you read one card, not three).
What stayed the same
- Layer model (L1 backbone β L2 LOs β L3 content tagging) β unchanged.
- Anchoring of every LO to specific NCERT sections via
taught_in_sectionsβ unchanged (and now per-Level, more precise). framework_alignmentsto NCERT-LO-2017, NCF-SE 2023, CBSE-CBE β unchanged in shape, every LO carries them.- One catalog per curriculum, federated via UKG β unchanged (see Section 03).
- Two-author governance gate (
status: proposed β active) β unchanged.
CBSE curriculum map (Fractions thread)
The fractions thread spans G3-G8 across NCERT's Maths Mela (G3-G5) and Ganita Prakash (G6-G8). The chapter taxonomy below is the Layer 1 backbone; LOs anchor to specific sections within each chapter.
| Grade | Textbook | Chapter | Title | Notes |
|---|---|---|---|---|
| G3 | Maths Mela | Ch 8 | Fair Share | Foundational fraction intuition β halves, quarters |
| G4 | Maths Mela | Ch 5 | Sharing and Measuring | Symbolic 1/n notation; non-unit fractions; equivalence intro |
| G5 | Maths Mela | Ch 2 | Fractions | Formal equivalence; 4 comparison methods; improper fractions; number line |
| G6 | Ganita Prakash | Ch 7 | Fractions | Brahmagupta's method; addition/subtraction; lowest terms; mixed fractions |
| G7 | Ganita Prakash Pt 1 | Ch 8 | Working with Fractions | Multiplication, division, reciprocals; situation tables |
| G7 | Ganita Prakash Pt 2 | Ch 3 | Finding Common Ground | HCF/LCM (extends G6 add/subtract LOs to LCM method) |
| G8 | Ganita Prakash Pt 2 | Ch 1 | Fractions in Disguise | Percentages bridge: FDP trio, % of quantity, profit/loss, compound interest |
Strand and Thread
Every Fractions LO in this catalog has:
primary_strand: numberprimary_thread: fractions
Cross-thread dependencies (e.g., to arithmetic_operations, factors_multiples_primes, decimals_and_rationals, geometry) are expressed via prerequisite_of edges β see section 13 of this portal.
LO catalog β 35 LOs (G3-G8)
Each card is an LO. Levels show within-LO progression across grades; Facets show representational forms with assessability. Click "π¬ Comment" on any LO to leave a structured comment in the Google Form.
Interactive Knowledge-Graph explorer
Cytoscape view of the catalog. Click any node to drill into its details. Open in new tab for full-screen exploration.
Solving Schema library
Reusable global schemas referenced by procedural LOs. Each schema has a canonical relation and a set of variants (which variable is unknown).
Section cultural callouts
Per Spec v2 Β§5.6 (and Β§7.1 A5 reversed) β historical attributions, traditional fraction vocabulary, regional terminology live on Section.cultural_callouts[] metadata. They are not LOs.
Cross-thread prerequisite proposals
Per Spec v2 Β§8.4 β LLM-proposed prerequisite edges to LOs in other threads. Each requires human approval once the target thread's catalog is authored. Until then, the edges live as proposals.
What this catalog unlocks downstream
An LO catalog by itself is just structured rows in a database. Its value comes from what it enables in the layers above and around it. Four downstream uses depend on this catalog being clean β that's why your review matters.
1. Layer 3 content tagging (the "1 + 2" model)
Every piece of content built for the product β every applet, video, quiz item, worksheet, MAX/Spark dialogue script β must declare what it teaches. The Layer 3 rule: each component tags to exactly one primary LO (the skill it directly assesses or teaches) plus up to two secondary LOs (other skills it incidentally reinforces).
This means the LO catalog is the labelling vocabulary for content. A clean catalog β clean labels β the AI tutor can pick the right component for the right moment. A muddled catalog β ambiguous labels β the tutor either picks the wrong content or picks nothing.
cbse-math-add-fractions, secondary = cbse-math-generate-equivalent-fractions + cbse-math-reduce-to-lowest-terms. When the tutor needs to teach addition, it has a clear pick. With v1's over-decomposed LOs, the same applet would have ambiguous tagging across 6 candidate "primaries" β and the tutor's "which next?" logic would coin-flip.2. AI tutor runtime traversal
The Byjus.AI runtime maintains, per student, a real-time view of which LOs are mastered, which are in-progress, and which are not yet attempted. On every turn it traverses the LO graph to answer "what should we work on this session?":
- Going forward β find the nearest not-yet-attempted LO whose prerequisites are all mastered. Edge type:
prerequisite_of. - Backing up β if a student fails an assessment at LO X, follow
prerequisite_ofedges backward and find the deepest prereq that's still uncertain. Drill there. - Within an LO β Levels and Facets choose how to present the next item: foundational tier first for new exposure, advanced tier for review; visual Facet for first introduction, symbolic Facet for assessment.
- Avoiding "skill stutter" β Solving Schemas ensure that variants of the same underlying relation aren't presented as if they're brand-new each time. Two questions sharing the
equivalent_fractionsschema are recognised as the same skill in different clothes.
prerequisite_of edges are missing or wrong, the tutor introduces skills before foundations are ready (frustration) or drills foundations that are already solid (boredom). Your review of the catalog's edge structure is direct insurance against both failure modes.3. Student Knowledge Graph β the per-student overlay (future)
The catalog you see is the shared curriculum graph β the same one every student sees. Layered on top, one per student, is the Student KG: a copy of the catalog where each LO node carries that student's mastery state (not-attempted / introduced / practising / mastered / overlearned), assessment evidence (which items, when, scored what), and timestamps of every interaction with that LO.
Over time, this per-student overlay accumulates into a longitudinal record β not a test score, but a continuous mastery trace across every LO the student has touched. This is the substrate for:
- Parent reports β "Aisha's mastered 18 of 22 fractions LOs this term; the four open ones are X, Y, Z, W with the following symptoms."
- Teacher dashboards β class-level mastery heatmaps; same vocabulary as the parent report; same vocabulary as the tutor's runtime logic.
- Research β multi-year retention studies, dependency-edge validation ("does mastering A actually unblock B?"), pedagogy A/B (does Facet ordering VβSβA outperform SβVβA?).
None of this is possible if the LOs aren't atomic and stable. If the catalog churns, every prior mastery state is unmoored.
4. Cross-curriculum content reuse via the UKG
An applet that teaches "add fractions with unlike denominators" should serve a CBSE student in India AND a KM student in Indonesia. The way to make that work is the federation we covered in Section 03: each curriculum has its own catalog; cross_curriculum_equivalent edges bridge equivalent LOs across them.
When CBSE's cbse-math-add-fractions is bridged to KM's km-math-jumlah-pecahan, the applet authored once (with two language tracks) can be reused under both curricula's runtimes. The bridge is what justifies the content investment.
The chain of dependencies
| If this catalog is β¦ | Then downstream β¦ |
|---|---|
| Clean & stable | Content tagging is unambiguous; AI tutor traversal is accurate; Student KG overlay accumulates clean mastery traces; cross-curriculum bridges are easy. |
| Muddled & churning | Content gets re-tagged every revision; tutor decisions get flaky; Student KG history loses meaning every catalog rev; cross-curriculum reuse stalls. |
How your review feeds the loop
- You leave per-LO and bulk comments (Section 15).
- Each comment maps to either a catalog edit (
split/level_extend/facet_add/add/deprecate) or a rationale reply preserved with the LO. - Two-author governance gate stamps the LO
proposed β active. - Once the catalog is ratified, L3 content tagging unblocks. Until then, content production for this thread holds.
How to leave feedback
Two ways to comment: per-LO (recommended) or bulk.
Per-LO comments
On any LO card in section 9, click π¬ Comment on this LO β opens the Google Form with the LO ID and canonical statement pre-filled.
Bulk / general comments
Use this form for cross-cutting feedback (e.g., "the entire G7 multiplication treatment feels too procedural"):
What to comment on
| Comment type | What you flag |
|---|---|
| Verdict | "This LO is sound" / "This LO should be removed" / "This LO should split into N" |
| Concern | "The canonical statement is ambiguous" / "Level scopes overlap" / "Facet roles wrong" |
| Suggestion | "Add a Level for ..." / "The Solving Schema needs variant X" / "Wrong source page" |
| Question | "Why is this in fractions thread and not arithmetic_operations?" |
What we'll do with your feedback
- All comments collect into the linked Google Sheet β Vinay monitors.
- Each comment triggers either a catalog edit (per Spec v2 Β§8.6 governance:
split/level_extend/facet_add/add/deprecate) or a "rationale" reply preserved with the LO. - Two-author review remains the gate (
status: proposed β active).
Reviewers
TBD β list to be filled in once SMEs are confirmed.
framework_alignments; they don't replace them. Comments about "this is more granular than NCERT" are expected; comments about "this misrepresents NCERT" need action.