Track-level metadata and UI configuration. Sits at the root of every track directory.
Identity
slug
Must match the directory name.
id
UUID. Omit on first push; never modify after assignment.
title
Track title shown to learners.
teaser
One-line summary for catalog lists.
description
Long-form Markdown. Limited inline HTML/CSS renders in the catalog tile.
icon
Relative path, HTTPS URL, or inline Unicode/emoji literal.
checksum
Auto-generated. Do not edit.
Ownership & lifecycle
owner
Single string — publishing org slug.
developers
Email list — build owners.
instructors
Email list — instructor-led delivery contacts.
maintenance
Boolean. true hides from the catalog.
version
Free-form semver string. Separate from checksum.
Pacing & loading
timelimit
Total seconds. Track-level clock.
idle_timeout
Seconds before idle teardown. 0 disables — live presenter only.
show_timer
Whether learner sees the clock.
skipping_enabled
Whether learner can skip a challenge.
pausable
Whether the lab can be paused.
pausable_ttl
Max pause seconds. 604800 (7 days) typical.
enhanced_loading
Top-level. Set false when using notes: overlays.
extend_ttl
Allow learner-initiated time extension.
Catalog & visibility
level
basic / intermediate / advanced (or empty).
tags
Array of category strings. Structured prefixes supported (see notes).
sandbox_preset
Top-level alternative to config.yml. When set, no infrastructure file needed.
lab_config — layout
theme.name
original / modern-dark.
default_layout
AssignmentLeft / AssignmentRight. Default to AssignmentRight.
default_layout_sidebar_size
Assignment panel width %. Typical 30–45.
override_challenge_layout
Allow per-challenge overrides.
sidebar_enabled
Show or hide the sidebar.
lab_config — UI
loadingMessages
Array of 2–4 strings, true for default rotation, or false to disable.
hideStopButton
Remove the lab stop button.
feedback_recap_enabled
One-time end-of-track feedback recap.
feedback_tab_enabled
Persistent sidebar feedback tab.
Notes
id is permanent — modifying after assignment creates a new platform record and disconnects local files. Omit when adding new tracks; let the platform assign.
For tracks using notes: slides as overlays, set track-level enhanced_loading: false. Without it, notes degrade silently into a clickable tab. A challenge can opt back into enhanced loading on its finale via challenge-level enhanced_loading: true.
tags: taxonomy supports structured prefixes — owner-slack:#channel, hc-product:terraform, persona:consumer — alongside flag tags like hvd, academy, classroom, time-extension, skip-testing, skipping-disabled.
Convention: feedback_recap_enabled: true + feedback_tab_enabled: false is the most common pairing. Persistent tab is invasive — reserve for certification, SDK, and partner-training tracks.