Alice – Technical Journal (10/02)


Alice – Technical Journal (10/02)

Today was about turning detection into accountability, and tightening the contract between data, time, and responsibility.

What I worked on

I continued deep work on Admin > Insights > Teachers Ranking, specifically the Attendance Marking Compliancefeature.

The core decisions today were not UI tweaks — they were about where truth lives and when it is allowed to exist.

Key things completed / clarified:

  • Attendance Marking Compliance is now strictly DB-backed
    • Insights no longer compute anything live from schedules or attendance tables.
    • The page only reads from data generated by scheduled commands.
    • If there is no report (e.g. before 21:30), the system must say so clearly.
  • Single source of truth for detection logic
    • The 21:30 command defines what “missing attendance” means.
    • Insights merely display and aggregate that result.
    • No silent recalculation, no divergence.
  • Time correctness
    • Only past sessions are eligible.
    • Future or ongoing schedules are explicitly excluded.
    • “Today” is a moving window bounded by real session end times, not calendar assumptions.
  • Insights inclusion respected
    • Teachers excluded from Insights are excluded everywhere:
      • ranking
      • compliance
      • summaries
    • No hidden leakage of excluded staff into metrics.
  • Schedule assistants are first-class citizens
    • Assistants are treated as responsible teachers for attendance.
    • Accountability reflects reality, not hierarchy.
  • Compliance UI cleaned up
    • Drilldown formatting redesigned to be human-readable:
dd/mm
- Class name (start -> end): student list
  • Removed noise (schedule IDs, raw student IDs, duplicated counts).
  • Focus shifted from “system output” to “admin comprehension”.
  • Two-stage automation introduced
    • 21:01 job:
      • Uses the same detection logic.
      • Creates actionable tasks/reminders for teachers if missing marking exists.
    • 21:30 job:
      • Persists the compliance report for Insights.
    • This creates a clear flow:
      • Remind first → Report later.
  • Task creation is deterministic
    • Idempotent keys prevent duplicates.
    • Tasks can be resolved automatically when attendance is fixed.
    • No spam, no ambiguity.

What I learned / reinforced

  • Insights must never compute truth
    • The moment Insights calculate instead of display, trust is lost.
    • Scheduled commands are where truth is frozen.
  • Time is a domain concept, not a filter
    • “Past session” is not date <= today.
    • It is session_end <= now, with timezone discipline.
  • Accountability beats completeness
    • Including assistants may increase numbers, but it increases honesty.
    • Metrics should reflect responsibility, not comfort.
  • Two clocks are better than one
    • A reminder clock (21:01) changes behavior.
    • A reporting clock (21:30) preserves evidence.
    • Mixing them would blur intent.
  • Good formatting is not cosmetic
    • Messy drilldowns hide insight.
    • Clean structure turns data into decisions.

Overall

Today’s work pushed Alice further from a “dashboard app” into a governance system:

  • Detect → Remind → Record → Explain
  • No silent logic
  • No mixed responsibilities
  • No surprises

The system is becoming calmer, stricter, and more trustworthy — which is exactly what an admin system should feel like.