# fix: validation error messages reveal the solution instead of guiding learning **Issue:** [#4](https://git.librete.ch/libretech/code-crispies/issues/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