A session is the primary unit of classroom activity in MLflow Jedi. Each session has a uniqueDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/elenacarino-max/Pildora4_ext_StarWars/llms.txt
Use this file to discover all available pages before exploring further.
JEDI-XXXX code that teams use to join, and an isolated question set that is chosen at random when the session is created — so two sessions running on the same day will present different questions. Sessions persist in the database after the activity ends, which means you can return to any previous session to review scores and exported results.
Creating a session
Click Crear nueva sesión
The button appears at the top-right of the panel header. The app calls
create_session() internally.Receive the JEDI code
The application generates a code of the form If a collision is detected the app retries up to 20 times before raising an error.
JEDI-XXXX, where XXXX is a random four-digit suffix between 1000 and 9999 (e.g. JEDI-4821). The prefix is always JEDI, as defined by the SESSION_PREFIX constant in config.py.Questions are assigned automatically
At creation time,
choose_session_question_ids() selects six questions at random — one per core MLflow concept: Experiment, Run, Parameters, Metrics, Artifacts, and Model. The IDs are stored as a JSON array in the session row and are fixed for the lifetime of the session.Session states
Every session is either open or closed. The toggle button in the panel header switches between them.| State | What it means |
|---|---|
Open (open) | Teams can join by entering the code and submit answers to challenges. The activity is live. |
Closed (closed) | No new teams can join. Existing teams cannot submit new attempts. Use this to freeze the activity at the end of class. |
Multiple sessions
All sessions are stored persistently and listed in the Sesión activa en el panel dropdown, sorted by creation date (most recent first). You can switch between sessions at any time by selecting a different code from the dropdown. This is useful for:- Reviewing scores and defenses from a previous class
- Exporting results for a session you forgot to export earlier
- Comparing outcomes across multiple cohorts
Session limits
Two configuration values inconfig.py govern session capacity:
| Setting | Environment variable | Default | Description |
|---|---|---|---|
MAX_TEAMS | MLFLOW_JEDI_MAX_TEAMS | 10 | Maximum number of teams that can join a single session |
SESSION_PREFIX | — | "JEDI" | Fixed prefix prepended to every session code |
MLFLOW_JEDI_MAX_TEAMS in your .env file or Docker Compose environment block before starting the application.
Sending a global hint
The Pista o aviso global field lets you broadcast a message to every team in the session simultaneously. The message appears in all team sidebars as soon as you click Enviar al Archivo.-
Maximum length: 500 characters (enforced by
set_global_hint(), which trims the string before saving). - The hint is stored per session. Sending a new message overwrites the previous one.
-
Use this for time warnings, conceptual nudges, or clarifications — for example:
“Revisad si el dato se conoce antes o después de entrenar”
Deleting a session
Inside the Copias de seguridad y exportación section of the panel there is a collapsible Zona de pruebas: borrar sesión area. Check the confirmation checkbox and click Borrar esta sesión to permanently delete the session. Thedelete_session() function issues a single DELETE against the sessions table. Because the database schema uses ON DELETE CASCADE, all child records are removed automatically:
- All teams in the session
- All code submission attempts
- All hint usage records
- All mission runs and their stored metrics
- All defense submissions