Need help with English, Mathematics or Science?

Small-group tuition with us— helping students catch up, keep up and move ahead. Book a consultation here.

Technical Documentation of IGCSE Mathematics Tutorial by eduKateSG v5.0

Diagnostic Instruments Pack in Full Almost Code

For Cambridge IGCSE Mathematics (0580), the current published syllabus window is 2025–2027. It uses Core and Extended routes, with Paper 1 and Paper 3 for Core and Paper 2 and Paper 4 for Extended; Papers 1 and 2 are non-calculator, while Papers 3 and 4 are calculator papers. Cambridge also structures the subject around nine topic areas and two assessment objectives, AO1 and AO2. (cambridgeinternational.org)

Cambridge also publishes IGCSE (9–1) Mathematics 0980 separately, so it should be treated as a related but distinct board object rather than silently merged into 0580. (cambridgeinternational.org)

For Pearson Edexcel International GCSE Mathematics A (4MA1), the qualification is a separate system with Foundation and Higher tiers, two 2-hour papers taken in the same series, and formula sheets included in the specification materials. Pearson’s current 2025/26 information manual also lists current entry variants for 4MA1, including regional paper variants. (qualifications.pearson.com)

Everything below is the eduKateSG diagnostic-runtime layer. It is not official board wording. It is a structured instrument pack built on top of the official exam architecture.


0. Meta Lock

DOC.NAME = “IGCSE Mathematics Tutorial by eduKateSG v5.0”
DOC.SUBTYPE = “Diagnostic Instruments Pack”
DOC.MODE = “Full Almost Code”
DOC.DEFAULT_BOARD = “Cambridge 0580”
DOC.COMPATIBILITY = [“Cambridge 0980”, “Pearson 4MA1”]
DOC.PURPOSE = “Provide actual diagnostic forms, sample completed forms, student profiles, and packet recommendation engines”
DOC.BOUNDARY = “Official board structure stays at top layer; diagnostic instruments are eduKateSG runtime tools”


1. Diagnostic Philosophy

DIAGNOSTIC.THESIS = “A student should not be given random help. A student should be read, classified, routed, repaired, and retested.”

DIAGNOSTIC.PRINCIPLES = {
 P1: “Board before diagnosis”,
 P2: “Tier before ambition”,
 P3: “Symptoms are not always root causes”,
 P4: “The most expensive repeated error matters more than the loudest complaint”,
 P5: “A good diagnostic form must lead to a packet decision”,
 P6: “A diagnostic without a review cycle is only paperwork”
}


2. Instrument Registry

INSTRUMENT.REGISTRY = {

 D01: “Master Intake Form”,
 D02: “Rapid Screen Form”,
 D03: “Engine Heatmap”,
 D04: “Error Coding Sheet”,
 D05: “Paper-Mode Risk Form”,
 D06: “Tier Review Form”,
 D07: “Mock Postmortem Form”,
 D08: “Student Profile Sheet”,
 D09: “Packet Recommendation Matrix”,
 D10: “Tutor Session Log”,
 D11: “4-Week Route Planner”,
 D12: “Parent Summary Slip”

}


3. Master Intake Form

FORM.D01.MASTER_INTAKE = {
 student_id: “”,
 student_name: “”,
 date: “”,
 school_level: “”,
 board: “”,
 qualification_code: “”,
 tier: “”,
 school_or_exam_route: “”,
 recent_scores: {
  school_exam: “”,
  mock_exam: “”,
  topic_test: “”
 },
 target_grade: “”,
 declared_concerns: [],
 parent_concerns: [],
 student_self_description: “”,
 known_history: {
  tuition_before: “”,
  gaps_or_interruptions: “”,
  exam_anxiety: “”,
  calculator_dependence: “”,
  homework_pattern: “”
 },
 initial_state_read: {
  confidence: 0,
  stamina: 0,
  working_visibility: 0,
  retrieval_speed: 0
 },
 route_hypothesis: “”,
 first_packets_to_test: []
}

RANGE.STATE = {
 0: “Severe risk”,
 1: “Very weak”,
 2: “Weak”,
 3: “Usable”,
 4: “Stable”,
 5: “Strong”
}


4. Rapid Screen Form

FORM.D02.RAPID_SCREEN = {
 student_id: “”,
 date: “”,
 board: “”,
 tier: “”,
 mini_tasks: {
  number: “”,
  algebra: “”,
  graphs: “”,
  geometry: “”,
  measure_trig: “”,
  data: “”
 },
 observed_breaks: [],
 dominant_error_guess: “”,
 tier_fit_guess: “”,
 paper_mode_risk_guess: “”,
 recommend_immediate_packet: []
}

RAPID_SCREEN.RULE = “Use when time is short, then confirm with deeper intake later.”


5. Engine Heatmap Form

FORM.D03.ENGINE_HEATMAP = {
 student_id: “”,
 date: “”,
 scores: {
  number: 0,
  algebra: 0,
  graphs: 0,
  geometry: 0,
  measure_trig: 0,
  data: 0,
  mark_capture: 0,
  endurance: 0
 },
 colour_read: {
  green: “Stable”,
  amber: “Usable but fragile”,
  red: “Repair needed now”
 },
 dominant_hot_zones: [],
 secondary_hot_zones: [],
 cold_safe_zones: []
}

HEATMAP.SCALE = {
 0: “Red severe”,
 1: “Red”,
 2: “Amber-red”,
 3: “Amber”,
 4: “Green-amber”,
 5: “Green”
}


6. Error Coding Sheet

FORM.D04.ERROR_CODING = {
 student_id: “”,
 date: “”,
 question_id: “”,
 topic_family: “”,
 error_codes: [],
 root_cause_guess: “”,
 knowledge_or_execution: “”,
 mark_loss_estimate: “”,
 repeat_frequency: “”,
 repair_priority: “”
}

ERROR_CLASS = {
 knowledge_gap: “Student truly does not know”,
 retrieval_gap: “Student knows but cannot access in time”,
 selection_gap: “Student chooses wrong method”,
 execution_gap: “Method chosen but carried out badly”,
 presentation_gap: “Thinking not shown clearly enough”,
 regulation_gap: “Panic, fatigue, or collapse under pressure”
}

ERROR.CODES = {
 ER01: “Fraction instability”,
 ER02: “Decimal-percent instability”,
 ER03: “Ratio/proportion mismatch”,
 ER04: “Negative sign drift”,
 ER05: “Bracket corruption”,
 ER06: “Rearrangement failure”,
 ER07: “Graph feature blindness”,
 ER08: “Gradient/intercept confusion”,
 ER09: “Angle property misread”,
 ER10: “Diagram panic”,
 ER11: “Formula retrieval failure”,
 ER12: “Unit loss”,
 ER13: “Wrong method choice”,
 ER14: “Premature rounding”,
 ER15: “Invisible working”,
 ER16: “Calculator setup or mode error”,
 ER17: “Late-paper fatigue”,
 ER18: “Confidence collapse after one break”
}


7. Paper-Mode Risk Form

FORM.D05.PAPER_MODE_RISK = {
 student_id: “”,
 date: “”,
 board: “”,
 tier: “”,
 noncalc_risk: 0,
 calc_risk: 0,
 risk_notes: {
  noncalc: [],
  calc: []
 },
 observed_behaviours: {
  mental_accuracy: 0,
  exact_form_control: 0,
  fraction_speed: 0,
  calculator_setup: 0,
  estimate_before_pressing_buttons: 0,
  sanity_check_after_display: 0
 },
 packet_suggestion: []
}

PAPER_MODE.READ = {
 0: “No visible risk”,
 1: “Minor risk”,
 2: “Manageable risk”,
 3: “Amber”,
 4: “High risk”,
 5: “Immediate threat”
}


8. Tier Review Form

FORM.D06.TIER_REVIEW = {
 student_id: “”,
 date: “”,
 board: “”,
 current_tier: “”,
 target_tier: “”,
 evidence: {
  recent_papers: “”,
  mixed_question_stability: 0,
  paper_completion_rate: 0,
  algebra_stability: 0,
  graph_geometry_trig_stability: 0,
  stamina: 0
 },
 key_questions: [],
 decision: “”,
 decision_reason: “”,
 review_date: “”
}

TIER_REVIEW.KEY_QUESTIONS = {
 Cambridge_0580: [
  ”Can the student survive both calculator and non-calculator paper states?”,
  ”Is Extended currently a growth route or a trauma route?”,
  ”Is Core currently a safety route or a cap?”
 ],
 Pearson_4MA1: [
  ”Is Foundation below the student’s ceiling?”,
  ”Is Higher supported by stable algebra and multi-step control?”,
  ”Is formula-sheet comfort masking weak structure?”
 ]
}


9. Mock Postmortem Form

FORM.D07.MOCK_POSTMORTEM = {
 student_id: “”,
 date: “”,
 board: “”,
 tier: “”,
 paper_name: “”,
 score: “”,
 target_score: “”,
 loss_buckets: {
  LB1_did_not_know: 0,
  LB2_knew_but_forgot: 0,
  LB3_wrong_method: 0,
  LB4_method_right_execution_wrong: 0,
  LB5_final_form_loss: 0,
  LB6_time_loss: 0,
  LB7_panic_loss: 0
 },
 top_three_errors: [],
 most_expensive_repeated_error: “”,
 next_packets: [],
 next_2_week_focus: “”
}

MOCK.POSTMORTEM.RULE = “Every mock must produce a routing decision.”


10. Student Profile Sheet

FORM.D08.STUDENT_PROFILE = {
 student_id: “”,
 date: “”,
 profile_type: “”,
 signature_behaviours: [],
 main_risks: [],
 likely_error_codes: [],
 best_initial_packets: [],
 tutor_warning: “”,
 first_success_signal: “”
}

PROFILE.TYPES = {

 SP1_Fragile_Foundation,
 SP2_Symbol_Drifter,
 SP3_Visual_Collapser,
 SP4_False_Safe,
 SP5_Calculator_Dependent,
 SP6_Time_Collapser,
 SP7_Mark_Leaker,
 SP8_Anxious_Knower

}


11. Packet Recommendation Matrix

FORM.D09.PACKET_MATRIX = {
 trigger: “”,
 check: [],
 primary_packet: “”,
 secondary_packet: “”,
 do_not_assign_yet: [],
 review_after: “”
}

MATRIX.RULES = [

 {
  trigger: “ER01/ER02/ER03 dominant”,
  check: [“fraction stability <= 2”, “slow arithmetic”, “algebra contaminated by number slips”],
  primary_packet: “IGCSE.PKT.R.NUM.01.01”,
  secondary_packet: “IGCSE.PKT.Y.RC.02.02”,
  do_not_assign_yet: [“heavy transfer pack”, “full mock conditioning”],
  review_after: “2 weeks”
 },

 {
  trigger: “ER04/ER05/ER06 dominant”,
  check: [“sign drift”, “bracket errors”, “rearrangement breakdown”],
  primary_packet: “IGCSE.PKT.R.ALG.01.01”,
  secondary_packet: “IGCSE.PKT.R.ALG.01.02”,
  do_not_assign_yet: [“advanced mixed pack”],
  review_after: “2 weeks”
 },

 {
  trigger: “ER07/ER08 dominant”,
  check: [“graph misread”, “can plot but cannot interpret”],
  primary_packet: “IGCSE.PKT.R.GRF.01.01”,
  secondary_packet: “IGCSE.PKT.T.MIX.01.01”,
  do_not_assign_yet: [“full endurance pack”],
  review_after: “2 weeks”
 },

 {
  trigger: “ER09/ER10 dominant”,
  check: [“diagram panic”, “random angle arithmetic”],
  primary_packet: “IGCSE.PKT.R.GEO.01.01”,
  secondary_packet: “IGCSE.PKT.R.MTR.02.02”,
  do_not_assign_yet: [“advanced trig pack unless base stabilises”],
  review_after: “2 weeks”
 },

 {
  trigger: “ER11/ER12 dominant”,
  check: [“wrong formula choice”, “unit loss”],
  primary_packet: “IGCSE.PKT.R.MTR.01.01”,
  secondary_packet: “IGCSE.PKT.Y.RC.01.01”,
  do_not_assign_yet: [“long mixed routes”],
  review_after: “2 weeks”
 },

 {
  trigger: “ER13 dominant”,
  check: [“wrong method despite partial understanding”],
  primary_packet: “IGCSE.PKT.T.MIX.01.01”,
  secondary_packet: “IGCSE.PKT.E.RC.00.02”,
  do_not_assign_yet: [“speed packs first”],
  review_after: “2 weeks”
 },

 {
  trigger: “ER15 dominant”,
  check: [“hidden thinking”, “method marks leaking”],
  primary_packet: “IGCSE.PKT.M.PR.01.01”,
  secondary_packet: “IGCSE.PKT.M.PR.01.02”,
  do_not_assign_yet: [“more content packets alone”],
  review_after: “1 to 2 weeks”
 },

 {
  trigger: “ER16 dominant”,
  check: [“calculator misuse”, “wrong mode”, “blind trust in display”],
  primary_packet: “IGCSE.PKT.P.CC.01.01”,
  secondary_packet: “IGCSE.PKT.M.PR.01.02”,
  do_not_assign_yet: [“full calculator-heavy mixed sets without repair”],
  review_after: “1 to 2 weeks”
 },

 {
  trigger: “ER17/ER18 dominant”,
  check: [“late-paper decay”, “confidence drop after one mistake”],
  primary_packet: “IGCSE.PKT.X.EN.01.01”,
  secondary_packet: “IGCSE.PKT.X.EN.02.02”,
  do_not_assign_yet: [“aggressive acceleration”],
  review_after: “2 weeks”
 }

]


12. Tutor Session Log

FORM.D10.TUTOR_SESSION_LOG = {
 student_id: “”,
 date: “”,
 lesson_goal: “”,
 active_packets: [],
 today_engine_focus: [],
 today_error_codes: [],
 questions_attempted: 0,
 questions_correct: 0,
 pace_state: “”,
 confidence_state: “”,
 paper_mode_today: “”,
 what_improved: “”,
 what_reopened: “”,
 homework_assigned: [],
 next_lesson_priority: “”
}


13. 4-Week Route Planner

FORM.D11.ROUTE_PLANNER_4WEEK = {
 student_id: “”,
 start_date: “”,
 end_date: “”,
 board: “”,
 tier: “”,
 week_1: {goal:””, packets:[], measurement:””},
 week_2: {goal:””, packets:[], measurement:””},
 week_3: {goal:””, packets:[], measurement:””},
 week_4: {goal:””, packets:[], measurement:””},
 review_date: “”,
 promote_if: [],
 hold_if: [],
 retreat_if: []
}

PROMOTE.IF = [
 ”two consecutive clean sets”,
 ”student explains method independently”,
 ”old error does not reopen in mixed context”
]

HOLD.IF = [
 ”student still needs heavy prompting”,
 ”same expensive error still repeats”,
 ”working remains hidden”
]

RETREAT.IF = [
 ”speed improved but accuracy crashed”,
 ”transfer pack caused floor collapse”,
 ”mock exposed unresolved root weakness”
]


14. Parent Summary Slip

FORM.D12.PARENT_SUMMARY = {
 student_id: “”,
 date: “”,
 board: “”,
 tier: “”,
 main_strengths: [],
 main_weaknesses: [],
 current_packets: [],
 why_this_route: “”,
 what_to_expect_next_2_weeks: “”,
 home_support_needed: [],
 warning_if_any: “”
}

PARENT_SUMMARY.RULE = “Use plain language. Do not overload parents with internal tutor codes unless useful.”


15. Sample Completed Form A

Fragile Foundation Cambridge Core student

SAMPLE.D01.A = {
 student_id: “IGM-001”,
 student_name: “Student A”,
 date: “2026-04-09”,
 school_level: “Year 10 equivalent”,
 board: “Cambridge”,
 qualification_code: “0580”,
 tier: “Core”,
 recent_scores: {
  school_exam: “42%”,
  mock_exam: “38%”,
  topic_test: “mixed”
 },
 target_grade: “C”,
 declared_concerns: [“fractions”, “paper timing”, “panic in word problems”],
 parent_concerns: [“careless mistakes”, “forgets methods”],
 student_self_description: “I know some topics but they disappear in exams”,
 initial_state_read: {
  confidence: 2,
  stamina: 2,
  working_visibility: 3,
  retrieval_speed: 2
 },
 route_hypothesis: “Fragile foundation with non-calc vulnerability”,
 first_packets_to_test: [
  ”IGCSE.PKT.R.NUM.01.01″,
  ”IGCSE.PKT.P.NC.01.01″,
  ”IGCSE.PKT.Y.RC.02.02″
 ]
}

SAMPLE.D03.A = {
 scores: {
  number: 1,
  algebra: 2,
  graphs: 3,
  geometry: 3,
  measure_trig: 2,
  data: 3,
  mark_capture: 3,
  endurance: 2
 },
 dominant_hot_zones: [“number”, “measure_trig”, “endurance”],
 secondary_hot_zones: [“algebra”],
 cold_safe_zones: [“graphs”]
}

SAMPLE.D09.A = {
 trigger: “ER01 ER02 ER17 dominant”,
 primary_packet: “IGCSE.PKT.R.NUM.01.01”,
 secondary_packet: “IGCSE.PKT.P.NC.01.01”,
 review_after: “2 weeks”
}


16. Sample Completed Form B

Extended student with algebra and trig drift

SAMPLE.D01.B = {
 student_id: “IGM-002”,
 student_name: “Student B”,
 date: “2026-04-09”,
 school_level: “Year 11 equivalent”,
 board: “Cambridge”,
 qualification_code: “0580”,
 tier: “Extended”,
 recent_scores: {
  school_exam: “63%”,
  mock_exam: “58%”,
  topic_test: “good in chapters, weaker in mixed papers”
 },
 target_grade: “A”,
 declared_concerns: [“algebra signs”, “sine/cosine rule”, “hard mixed questions”],
 parent_concerns: [“smart but careless”, “underperforms in full papers”],
 student_self_description: “I can do it when I see the topic but mixed papers confuse me”,
 initial_state_read: {
  confidence: 3,
  stamina: 3,
  working_visibility: 2,
  retrieval_speed: 3
 },
 route_hypothesis: “False-safe Extended student with symbol drift and transfer weakness”,
 first_packets_to_test: [
  ”IGCSE.PKT.R.ALG.01.01″,
  ”IGCSE.PKT.R.MTR.03.03″,
  ”IGCSE.PKT.T.MIX.02.02″
 ]
}

SAMPLE.D03.B = {
 scores: {
  number: 4,
  algebra: 2,
  graphs: 4,
  geometry: 3,
  measure_trig: 2,
  data: 4,
  mark_capture: 2,
  endurance: 3
 },
 dominant_hot_zones: [“algebra”, “measure_trig”, “mark_capture”],
 secondary_hot_zones: [“geometry”],
 cold_safe_zones: [“number”, “graphs”, “data”]
}

SAMPLE.D07.B = {
 paper_name: “Extended mock”,
 score: “58%”,
 target_score: “75%”,
 loss_buckets: {
  LB1_did_not_know: 10,
  LB2_knew_but_forgot: 8,
  LB3_wrong_method: 15,
  LB4_method_right_execution_wrong: 20,
  LB5_final_form_loss: 8,
  LB6_time_loss: 6,
  LB7_panic_loss: 3
 },
 most_expensive_repeated_error: “ER04 negative sign drift”,
 next_packets: [
  ”IGCSE.PKT.R.ALG.01.01″,
  ”IGCSE.PKT.M.PR.01.01″,
  ”IGCSE.PKT.T.MIX.02.02″
 ]
}


17. Sample Completed Form C

Pearson Higher student with presentation and calculator misuse

SAMPLE.D01.C = {
 student_id: “IGM-003”,
 student_name: “Student C”,
 date: “2026-04-09”,
 school_level: “International GCSE”,
 board: “Pearson”,
 qualification_code: “4MA1”,
 tier: “Higher”,
 recent_scores: {
  school_exam: “grade 6 equivalent”,
  mock_exam: “grade 5 equivalent”,
  topic_test: “inconsistent”
 },
 target_grade: “7”,
 declared_concerns: [“long papers”, “gets weird calculator answers”, “loses marks despite right answers”],
 route_hypothesis: “Higher-tier student with calculator-discipline and mark-leak problems”,
 first_packets_to_test: [
  ”IGCSE.PKT.P.CC.01.01″,
  ”IGCSE.PKT.M.PR.01.01″,
  ”IGCSE.PKT.X.EN.01.01″
 ]
}

SAMPLE.D05.C = {
 noncalc_risk: 1,
 calc_risk: 4,
 observed_behaviours: {
  mental_accuracy: 4,
  exact_form_control: 3,
  fraction_speed: 4,
  calculator_setup: 2,
  estimate_before_pressing_buttons: 1,
  sanity_check_after_display: 1
 },
 packet_suggestion: [
  ”IGCSE.PKT.P.CC.01.01″,
  ”IGCSE.PKT.M.PR.01.02″
 ]
}


18. Student Type Profiles

PROFILE.SP1_FRAGILE_FOUNDATION = {
 profile_type: “Fragile Foundation”,
 signature_behaviours: [“many small slips”, “avoids fractions”, “paper pace poor”],
 main_risks: [“number leakage into everything else”],
 likely_error_codes: [“ER01”, “ER02”, “ER03”, “ER17”],
 best_initial_packets: [“IGCSE.PKT.R.NUM.01.01”, “IGCSE.PKT.P.NC.01.01”],
 tutor_warning: “Do not overfeed mixed papers too early”,
 first_success_signal: “basic arithmetic becomes clean and less fearful”
}

PROFILE.SP2_SYMBOL_DRIFTER = {
 profile_type: “Symbol Drifter”,
 signature_behaviours: [“bright but loses signs”, “equation steps mutate”],
 main_risks: [“algebra corruption”],
 likely_error_codes: [“ER04”, “ER05”, “ER06”],
 best_initial_packets: [“IGCSE.PKT.R.ALG.01.01”, “IGCSE.PKT.R.ALG.01.02”],
 tutor_warning: “Speed hides the problem; slow legality first”,
 first_success_signal: “one clean line follows another without silent sign loss”
}

PROFILE.SP3_VISUAL_COLLAPSER = {
 profile_type: “Visual Collapser”,
 signature_behaviours: [“freezes at diagrams”, “random angle-chasing”],
 main_risks: [“geometry and trig shutdown”],
 likely_error_codes: [“ER09”, “ER10”, “ER11”],
 best_initial_packets: [“IGCSE.PKT.R.GEO.01.01”, “IGCSE.PKT.R.MTR.02.02”],
 tutor_warning: “Do not jump to advanced trig until property reading settles”,
 first_success_signal: “student annotates before calculating”
}

PROFILE.SP4_FALSE_SAFE = {
 profile_type: “False Safe”,
 signature_behaviours: [“good in chapters, weak in mixed papers”],
 main_risks: [“transfer illusion”],
 likely_error_codes: [“ER13”, “ER18”],
 best_initial_packets: [“IGCSE.PKT.T.MIX.01.01”, “IGCSE.PKT.T.MIX.02.02”],
 tutor_warning: “Do not mistake textbook fluency for exam readiness”,
 first_success_signal: “student correctly identifies blended topic families”
}

PROFILE.SP5_CALCULATOR_DEPENDENT = {
 profile_type: “Calculator Dependent”,
 signature_behaviours: [“panics without calculator”, “trusts display blindly”],
 main_risks: [“paper-mode distortion”],
 likely_error_codes: [“ER16”, “ER14”],
 best_initial_packets: [“IGCSE.PKT.P.CC.01.01”, “IGCSE.PKT.P.NC.01.01”],
 tutor_warning: “In Cambridge this becomes especially dangerous because of dedicated non-calculator papers”,
 first_success_signal: “student estimates first and checks after display”
}

PROFILE.SP6_TIME_COLLAPSER = {
 profile_type: “Time Collapser”,
 signature_behaviours: [“late-paper marks disappear”, “starts okay then fades”],
 main_risks: [“fatigue-driven losses”],
 likely_error_codes: [“ER17”, “ER18”],
 best_initial_packets: [“IGCSE.PKT.X.EN.01.01”, “IGCSE.PKT.X.EN.02.02”],
 tutor_warning: “Do not just tell student to be faster”,
 first_success_signal: “late-paper quality no longer falls off a cliff”
}

PROFILE.SP7_MARK_LEAKER = {
 profile_type: “Mark Leaker”,
 signature_behaviours: [“says it in head but does not show it”],
 main_risks: [“avoidable mark loss”],
 likely_error_codes: [“ER15”, “ER12”, “ER14”],
 best_initial_packets: [“IGCSE.PKT.M.PR.01.01”, “IGCSE.PKT.M.PR.01.02”],
 tutor_warning: “This student may look stronger than the marks show”,
 first_success_signal: “method becomes visible and final form cleaner”
}

PROFILE.SP8_ANXIOUS_KNOWER = {
 profile_type: “Anxious Knower”,
 signature_behaviours: [“knows content but collapses after one mistake”],
 main_risks: [“regulation gap”],
 likely_error_codes: [“ER18”, “ER17”, “ER13”],
 best_initial_packets: [“IGCSE.PKT.E.RC.00.02”, “IGCSE.PKT.X.EN.01.01”],
 tutor_warning: “Do not call this laziness”,
 first_success_signal: “student resumes after error instead of mentally exiting”
}


19. Packet Recommendation Engine

ROUTER.DIAGNOSTIC.V2 = {

 if board == “Cambridge” and qualification_code == “0580” and noncalc_risk >= 3
  then include(“IGCSE.PKT.P.NC.01.01”),

 if board == “Cambridge” and current_tier == “Extended” and algebra <= 2
  then include(“IGCSE.PKT.R.ALG.01.01”),

 if ER01 in dominant_errors or number <= 2
  then include(“IGCSE.PKT.R.NUM.01.01”),

 if ER04 in dominant_errors or ER05 in dominant_errors
  then include(“IGCSE.PKT.R.ALG.01.01”),

 if ER06 in dominant_errors
  then include(“IGCSE.PKT.R.ALG.01.02”),

 if ER07 in dominant_errors or ER08 in dominant_errors
  then include(“IGCSE.PKT.R.GRF.01.01”),

 if ER09 in dominant_errors or ER10 in dominant_errors
  then include(“IGCSE.PKT.R.GEO.01.01”),

 if ER11 in dominant_errors or ER12 in dominant_errors
  then include(“IGCSE.PKT.R.MTR.01.01”),

 if ER13 in dominant_errors and chapter_scores > mixed_scores
  then include(“IGCSE.PKT.T.MIX.01.01”),

 if ER15 in dominant_errors
  then include(“IGCSE.PKT.M.PR.01.01”),

 if ER16 in dominant_errors
  then include(“IGCSE.PKT.P.CC.01.01”),

 if ER17 in dominant_errors or ER18 in dominant_errors
  then include(“IGCSE.PKT.X.EN.01.01”)

}

ROUTER.OUTPUT.RULE = “No more than 3 active packets unless student is in final pre-exam cycle.”


20. Review Cycle Engine

REVIEW.CYCLE = {
 entry_review: “after initial intake”,
 micro_review: “every lesson”,
 packet_review: “every 2 weeks”,
 route_review: “every 4 weeks”,
 tier_review: “after major mock or repeated instability”
}

REVIEW.QUESTIONS = [
 ”Did the assigned packet reduce the target error?”,
 ”Did a new error emerge because the floor was weak?”,
 ”Is the student now ready for transfer or still in repair?”,
 ”Is the paper mode itself the real bottleneck?”,
 ”Is tier ambition still structurally sound?”
]


21. Minimal One-Page Diagnostic Output

ONEPAGE.OUTPUT = {
 student: “”,
 board: “”,
 tier: “”,
 profile_type: “”,
 dominant_hot_zones: [],
 top_error_codes: [],
 paper_mode_risk: “”,
 current_packets: [],
 next_review: “”,
 tutor_note: “”
}

ONEPAGE.RULE = “This is the fast-read control view for tutor and parent.”


22. Canonical Operational Doctrine

DOCTRINE = {
 D1: “Diagnosis must lead to routing”,
 D2: “Routing must lead to packet assignment”,
 D3: “Packet assignment must be reviewed against evidence”,
 D4: “The most expensive repeated error gets priority”,
 D5: “Cambridge students require true paper-mode awareness because non-calculator and calculator states are structurally separated”,
 D6: “Tier decisions are structural, not emotional”,
 D7: “A student can feel weak for the wrong reason; instruments exist to separate feeling from mechanism”
}

That Cambridge paper-mode split is part of the official 0580 structure, which is why it deserves a dedicated diagnostic instrument rather than being treated as ordinary topic weakness. (cambridgeinternational.org)


23. Canonical Lock

CANONICAL_LOCK = {
 CL1: “v5.0 turns the packet framework into actual usable instruments.”,
 CL2: “Forms, profiles, and matrices exist to reduce randomness in tutorial decisions.”,
 CL3: “A good diagnostic pack does not merely describe weakness; it routes weakness into action.”,
 CL4: “Board identity remains upstream of all downstream tutoring decisions.”,
 CL5: “The eduKateSG instrument layer is useful only when it changes what the tutor does next.”
}

eduKateSG Learning System | Control Tower, Runtime, and Next Routes

This article is one node inside the wider eduKateSG Learning System.

At eduKateSG, we do not treat education as random tips, isolated tuition notes, or one-off exam hacks. We treat learning as a living runtime:

state -> diagnosis -> method -> practice -> correction -> repair -> transfer -> long-term growth

That is why each article is written to do more than answer one question. It should help the reader move into the next correct corridor inside the wider eduKateSG system: understand -> diagnose -> repair -> optimize -> transfer. Your uploaded spine clearly clusters around Education OS, Tuition OS, Civilisation OS, subject learning systems, runtime/control-tower pages, and real-world lattice connectors, so this footer compresses those routes into one reusable ending block.

Start Here

Learning Systems

Runtime and Deep Structure

Real-World Connectors

Subject Runtime Lane

How to Use eduKateSG

If you want the big picture -> start with Education OS and Civilisation OS
If you want subject mastery -> enter Mathematics, English, Vocabulary, or Additional Mathematics
If you want diagnosis and repair -> move into the CivOS Runtime and subject runtime pages
If you want real-life context -> connect learning back to Family OS, Bukit Timah OS, Punggol OS, and Singapore City OS

Why eduKateSG writes articles this way

eduKateSG is not only publishing content.
eduKateSG is building a connected control tower for human learning.

That means each article can function as:

  • a standalone answer,
  • a bridge into a wider system,
  • a diagnostic node,
  • a repair route,
  • and a next-step guide for students, parents, tutors, and AI readers.
eduKateSG.LearningSystem.Footer.v1.0

TITLE: eduKateSG Learning System | Control Tower / Runtime / Next Routes

FUNCTION:
This article is one node inside the wider eduKateSG Learning System.
Its job is not only to explain one topic, but to help the reader enter the next correct corridor.

CORE_RUNTIME:
reader_state -> understanding -> diagnosis -> correction -> repair -> optimisation -> transfer -> long_term_growth

CORE_IDEA:
eduKateSG does not treat education as random tips, isolated tuition notes, or one-off exam hacks.
eduKateSG treats learning as a connected runtime across student, parent, tutor, school, family, subject, and civilisation layers.

PRIMARY_ROUTES:
1. First Principles
   - Education OS
   - Tuition OS
   - Civilisation OS
   - How Civilization Works
   - CivOS Runtime Control Tower

2. Subject Systems
   - Mathematics Learning System
   - English Learning System
   - Vocabulary Learning System
   - Additional Mathematics

3. Runtime / Diagnostics / Repair
   - CivOS Runtime Control Tower
   - MathOS Runtime Control Tower
   - MathOS Failure Atlas
   - MathOS Recovery Corridors
   - Human Regenerative Lattice
   - Civilisation Lattice

4. Real-World Connectors
   - Family OS
   - Bukit Timah OS
   - Punggol OS
   - Singapore City OS

READER_CORRIDORS:
IF need == "big picture"
THEN route_to = Education OS + Civilisation OS + How Civilization Works

IF need == "subject mastery"
THEN route_to = Mathematics + English + Vocabulary + Additional Mathematics

IF need == "diagnosis and repair"
THEN route_to = CivOS Runtime + subject runtime pages + failure atlas + recovery corridors

IF need == "real life context"
THEN route_to = Family OS + Bukit Timah OS + Punggol OS + Singapore City OS

CLICKABLE_LINKS:
Education OS:
Education OS | How Education Works — The Regenerative Machine Behind Learning
Tuition OS:
Tuition OS (eduKateOS / CivOS)
Civilisation OS:
Civilisation OS
How Civilization Works:
Civilisation: How Civilisation Actually Works
CivOS Runtime Control Tower:
CivOS Runtime / Control Tower (Compiled Master Spec)
Mathematics Learning System:
The eduKate Mathematics Learning System™
English Learning System:
Learning English System: FENCE™ by eduKateSG
Vocabulary Learning System:
eduKate Vocabulary Learning System
Additional Mathematics 101:
Additional Mathematics 101 (Everything You Need to Know)
Human Regenerative Lattice:
eRCP | Human Regenerative Lattice (HRL)
Civilisation Lattice:
The Operator Physics Keystone
Family OS:
Family OS (Level 0 root node)
Bukit Timah OS:
Bukit Timah OS
Punggol OS:
Punggol OS
Singapore City OS:
Singapore City OS
MathOS Runtime Control Tower:
MathOS Runtime Control Tower v0.1 (Install • Sensors • Fences • Recovery • Directories)
MathOS Failure Atlas:
MathOS Failure Atlas v0.1 (30 Collapse Patterns + Sensors + Truncate/Stitch/Retest)
MathOS Recovery Corridors:
MathOS Recovery Corridors Directory (P0→P3) — Entry Conditions, Steps, Retests, Exit Gates
SHORT_PUBLIC_FOOTER: This article is part of the wider eduKateSG Learning System. At eduKateSG, learning is treated as a connected runtime: understanding -> diagnosis -> correction -> repair -> optimisation -> transfer -> long-term growth. Start here: Education OS
Education OS | How Education Works — The Regenerative Machine Behind Learning
Tuition OS
Tuition OS (eduKateOS / CivOS)
Civilisation OS
Civilisation OS
CivOS Runtime Control Tower
CivOS Runtime / Control Tower (Compiled Master Spec)
Mathematics Learning System
The eduKate Mathematics Learning System™
English Learning System
Learning English System: FENCE™ by eduKateSG
Vocabulary Learning System
eduKate Vocabulary Learning System
Family OS
Family OS (Level 0 root node)
Singapore City OS
Singapore City OS
CLOSING_LINE: A strong article does not end at explanation. A strong article helps the reader enter the next correct corridor. TAGS: eduKateSG Learning System Control Tower Runtime Education OS Tuition OS Civilisation OS Mathematics English Vocabulary Family OS Singapore City OS
A young woman in a white suit and tie stands confidently with arms crossed, smiling at the camera. She is in a modern cafe setting with marble tables and a notebook nearby.