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

Open Beginner friendly
#1,186 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
1/5
Estimated time
Under an hour
Newbie friendliness
92/100
Issue type
Documentation
Clarity
Clearly specified
Activity status
Active
Domain
documentation

Research direction

Open content/en/cloud/academy/creating-content/instructor-console-guide/index.md and locate the “What Defines an ‘Active Learner’?” alert and the bullet at line 59. Read the linked meshery-cloud implementation and its academy-instructor-console-metrics.md reference for context, then update the guide so its definition and instructor-facing notes match the documented behavior. Done means the published prose no longer describes status-based counting and answers the listed scope and date questions.

Written by the indexing model from the issue text.

Description

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.

Dominant language
JavaScript
Stars
99
Forks
226
Avg merge
2d 2h
Merged PRs (30d)
34

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from layer5io/docs

All issues in layer5io/docs

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.