Library
REF 15 Cheat Sheet · Reference

Time conventions

Track-level time settings and the conventional timelimit / idle_timeout pairings by track scope. Match conventions; budgets and learner expectations are calibrated around them.

Pairings by track scope timelimit / idle_timeout
Track scope timelimit idle_timeout Notes
Concept / instructional 5400 1800 90 min total · 30 min idle. For pure-knowledge tracks where typing is light.
Short academy / single-product workshop 7200 3600 2 hr total · 1 hr idle. Most demo and customer-enablement tracks.
Long-form workshop with cloud provisioning 28800 7200 8 hr total · 2 hr idle. Standard for multi-step labs that include real cloud infrastructure.
Multi-product / better-together 28800 28800 8 hr total · idle disabled. Multi-week-pace content where learners step away.
Live-presenter demo 3600 0 1 hr total · idle disabled. Use sparingly — abandoned sandboxes with idle disabled eat budget.
Field reference All time-related
timelimit Total seconds for the track-level clock.
idle_timeout Seconds of inactivity before teardown. 0 disables.
extend_ttl Boolean. Allow learner-initiated time extension.
pausable Boolean. Allow lab pause and resume.
pausable_ttl Max pause duration in seconds.
show_timer Boolean. Whether learner sees the countdown.
pausable_ttl values When pausable: true
604800 7 days. Most common.
1209600 14 days. Multi-week workshops where learners progress across weekend sessions.
Operational consequence: any track state must survive an arbitrary pause. Avoid in-memory caches, processes started under tmux, or anything that won't outlast a sandbox suspend/resume cycle.
Pacing decisions Choosing values

timelimit sets the track clock; pad 25–50% over expected completion to absorb provisioning waits and learner pace variance. idle_timeout reclaims abandoned sandboxes — set to a value that's longer than the longest expected wait (cloud provisioning, Helm install, image pull) but short enough to release abandoned sessions. Default to 1800 unless the track has long synchronous waits.

Trap: idle_timeout: 0 on anything other than a live-presenter track quietly burns budget. Abandoned sandboxes never reclaim.
Certification + pause tracker For graded tracks

Certification tracks with pausable: true typically pair the pause with a cron-based pause tracker that pings an external endpoint every minute while paused — enforces TTL limits and emits telemetry.

Pattern: install a cron entry in track-level setup, point at an exam endpoint, deliver auth via a STUDENT_JWT agent variable. Pair with engagement-validation patterns from the granular-check card.
Show-timer choice show_timer

Show for self-paced tracks where pace awareness helps learners. Hide for instructor-led tracks where the timer is invisible to the learner anyway, or for unstructured exploration where the clock would create artificial pressure.

Notes