Files
code-crispies/specs/004-pedagogical-messages/spec.md
Michael Czechowski 782e87705c docs: add spec, plan, and task breakdown for issue #4
Pedagogical validation message rewrite across 17 English lesson
modules and 5 localized variants (ar, de, es, pl, uk).
2026-03-28 19:21:24 +01:00

2.3 KiB

fix: validation error messages reveal the solution instead of guiding learning

Issue: #4 Repository: libretech/code-crispies Author: libretech State: open Labels: none

Issue Body

Pedagogy audit: 88% of exercises reveal the answer in error messages, creating a fail-then-copy loop. Change validation messages from 'Set padding: 1rem' to 'Which property adds space between content and the element edge?' This applies across all modules — start with flexbox, box-model, and colors (the 3 worst offenders).

Acceptance Criteria

  1. Validation error messages in flexbox, box-model, and colors modules must no longer reveal the exact CSS property-value answer
  2. Replacement messages should use pedagogical hints: concept questions, property-name hints, or directional guidance — never the literal solution
  3. All remaining English lesson modules with answer-revealing messages must also be rewritten
  4. Localized variants (ar/, de/, es/, pl/, uk/) of affected modules must be updated with equivalent pedagogical messages in each language
  5. Existing validations (type, value, options) must remain unchanged — only the "message" field is modified
  6. All existing tests must continue to pass

Scope

English priority modules (100% answer-revealing):

  • lessons/flexbox.json — 6 messages
  • lessons/01-box-model.json — 10 messages
  • lessons/03-colors.json — 4 messages
  • lessons/12-positioning.json — 5 messages

English remaining modules (partial answer-revealing):

  • lessons/00-basics.json — 4 of 26
  • lessons/00-basic-selectors.json — 15 of 18
  • lessons/01-advanced-selectors.json — 8 of 49
  • lessons/04-typography.json — 1 of 9
  • lessons/05-units-variables.json — 3 of 5
  • lessons/06-transitions-animations.json — 8 of 13
  • lessons/07-layouts.json — 8 of 11
  • lessons/08-responsive.json — 8 of 10
  • lessons/09-gradients.json — 3 of 7
  • lessons/10-tailwind-basics.json — 16 of 17
  • lessons/11-filters.json — 4 of 7
  • lessons/13-pseudo-elements.json — 4 of 8
  • lessons/grid.json — 5 of 9

Localized variants (each language directory):

  • lessons/ar/ — Arabic
  • lessons/de/ — German
  • lessons/es/ — Spanish
  • lessons/pl/ — Polish
  • lessons/uk/ — Ukrainian