Skip to content

Cloud Academy instructor-console guide: the published ACTIVE LEARNERS definition has never matched the implementation #1186

Description

@simihablo

The published definition has never matched any implementation

File: content/en/cloud/academy/creating-content/instructor-console-guide/index.md
(the "What Defines an 'Active Learner'?" alert, and the bullet at line 59)

What it currently tells instructors:

the tile "counts the number of registrations that are currently in the Registered status"

This has never been true. No implementation of the ACTIVE LEARNERS card has ever counted
registrations by status. An instructor comparing the tile against the Learners tab will conclude the
product is broken, when it is the documentation that is wrong.

The correct definition

As implemented on layer5io/meshery-cloud master in
server/dao/academy_active_learners.go (landed by
meshery-cloud#5889):

An active learner in an organization is a learner who, against academy content that is still
live, either
(a) created or touched a registration during the current calendar month, or
(b) submitted a quiz attempt during the current calendar month.

Points worth carrying into the prose, because each one is a question instructors actually ask:

  • It is a calendar month in UTC, not a rolling 30 days. The count resets on the 1st, so a low
    number early in the month is expected and is not a defect.
  • (b) is not redundant with (a). A learner who registered in an earlier month and sits a quiz
    this month is active this month, even though their registration row does not move. In production
    this contributed learners that (a) alone missed in every month sampled across 2026-01..2026-08
    (January 41 → 50, February 35 → 42).
  • Status is irrelevant. A registration's Registered / Completed status does not enter the
    count at all.
  • Soft-deleted registrations, curricula and users are excluded.
  • At the "All Organizations" scope the card aggregates across every organization, matching the
    Total Learners card beside it.

Which repo owns the fix

This one - layer5io/docs. The behaviour is correct as implemented; only the published prose is
wrong, so nothing needs to change in layer5io/meshery-cloud.

The engineering-side reference, if a writer wants the fuller picture, is
docs/reference/academy-instructor-console-metrics.md in layer5io/meshery-cloud, which records
which source each console widget reads and why this metric is derived from academy tables rather
than from the organization create_session event stream.

How it surfaced

Found while diagnosing an unrelated ACTIVE LEARNERS accuracy report
(meshery-cloud#5881). Flagged there rather
than fixed, because the correction belongs in this repository.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions