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
- Education OS | How Education Works
- Tuition OS | eduKateOS & CivOS
- Civilisation OS
- How Civilization Works
- CivOS Runtime Control Tower
Learning Systems
- The eduKate Mathematics Learning System
- Learning English System | FENCE by eduKateSG
- eduKate Vocabulary Learning System
- Additional Mathematics 101
Runtime and Deep Structure
- Human Regenerative Lattice | 3D Geometry of Civilisation
- Civilisation Lattice
- Advantages of Using CivOS | Start Here Stack Z0-Z3 for Humans & AI
Real-World Connectors
Subject Runtime Lane
- Math Worksheets
- How Mathematics Works PDF
- MathOS Runtime Control Tower v0.1
- MathOS Failure Atlas v0.1
- MathOS Recovery Corridors P0 to P3
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

