Skip to content

KIV: algorithm — match level / subject / subject level combinations #176

@guangshinhaha

Description

@guangshinhaha

KIV — Match Level / Subject / Subject Level Combinations

Needs more thinking before committing to a design.

What the researcher proposed

Instead of simple boolean toggles (subjectMatchHard, levelMatchHard), let schools choose from matching combinations:

Combo Meaning Example
Match Level only Any Sec 1 teacher covers any Sec 1 class Sec 1 English teacher → Sec 1 Math
Match Subject only Any Math teacher covers any Math Sec 3 Math → Sec 1 Math
Match Subject Level only Any G2 teacher covers any G2 Unlikely to be useful alone
Match Level + Subject Sec 1 Math covers Sec 1 Math only Most common "strict" mode
Match Subject + Subject Level G1 Math covers G1 Math across levels Sec 2 G1 Math → Sec 1 G1 Math
Match Level + Subject Level Unlikely useful Skip
Match all three Sec 1 G3 English → Sec 1 G3 English only Strictest mode

Current implementation

  • MatchingConfig.subjectMatchHard (boolean)
  • MatchingConfig.levelMatchHard (boolean)
  • No concept of Subject Level (G1/G2/G3, Foundation/Standard) in schema yet

Initial thinking

  • 7-combination matrix is overkill. 3-4 presets likely sufficient:
    • "Loose" — match level only
    • "Standard" — match level + subject
    • "Strict" — match level + subject + subject level
  • Subject Level (G1/G2/G3) needs to be added to TimetableEntry model first
  • FSBB context: secondary schools with Subject-Based Banding need subject level awareness

Why KIV

Requires schema additions (subject level on TimetableEntry), impacts import flow, and the right preset list needs input from more schools.

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    KIVKeep in view — parked for future considerationenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions