The graduateAndUpgrade() function currently does not validate whether the school session has ended (sessionEnd reached) before executing critical logic like paying wages and upgrading the system. This can lead to premature graduation and wage disbursement, violating intended lifecycle rules of the school.
Principal can call graduateAndUpgrade() before the school session ends.
Teachers and principal can receive wages earlier than intended.
Potential for multiple premature upgrades if not otherwise guarded.
Violates business logic: upgrades and payouts should happen only after sessionEnd.
maual review
`graduateAndUpgrade()` can be called successfully even when the school session has not ended
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.