Quick Win 4: teach check — Cross-Tool Validation Summary
Effort: 2-3 hours | Priority: Medium (unified health view)
Blocked by: Craft QW3 (config normalization) — now complete
Problem
Three validation tools exist but users must know about and run each separately. No unified health view.
What to implement
A teach check subcommand that runs all three validation layers and presents a unified report.
Where
Add check|chk case to teach() function. Create _teach_check() function.
Validation layers
- Config syntax (flow-cli) —
yq '.' "$config_file"
- Schema validation (Scholar, if available) —
_teach_build_command validate
- Content validation (Craft, if available) —
python3 commands/utils/teaching_validation.py
- Quarto render check (flow-cli) — render/syntax validation
Output design
╭─────────────────────────────────────────────╮
│ TEACHING PROJECT HEALTH │
╰─────────────────────────────────────────────╯
Config syntax PASS [flow-cli]
YAML schema PASS [scholar]
Syllabus sections PASS [craft] 4/4 required
Schedule WARN [craft] week 14 missing content
Assignments PASS [craft] all referenced files exist
Quarto render PASS [flow-cli]
5/6 passed, 1 warning
Implementation sketch
_teach_check() {
local config_file=$(_teach_require_config) || return 1
local pass=0 warn=0 fail=0 total=0
# Run each validation layer, aggregate results
# Gracefully skip unavailable tools (Scholar/Craft)
}
Verification
teach check shows unified report from all available validators
- Gracefully handles missing Scholar/Craft plugins
Context
Part of the Teaching Ecosystem Coordination spec. Craft-side changes (QW3: config normalization) merged in Data-Wise/craft@ced5ac5 — Craft's content validator now works on real flow-cli configs.
Quick Win 4:
teach check— Cross-Tool Validation SummaryEffort: 2-3 hours | Priority: Medium (unified health view)
Blocked by: Craft QW3 (config normalization) — now complete
Problem
Three validation tools exist but users must know about and run each separately. No unified health view.
What to implement
A
teach checksubcommand that runs all three validation layers and presents a unified report.Where
Add
check|chkcase toteach()function. Create_teach_check()function.Validation layers
yq '.' "$config_file"_teach_build_command validatepython3 commands/utils/teaching_validation.pyOutput design
Implementation sketch
Verification
teach checkshows unified report from all available validatorsContext
Part of the Teaching Ecosystem Coordination spec. Craft-side changes (QW3: config normalization) merged in Data-Wise/craft@ced5ac5 — Craft's content validator now works on real flow-cli configs.