-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
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 checkshows 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.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request