feat(assessment): slice Challenge structured-answer — el learner por fin HACE algo #11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/challenge-structured-answer"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Primera entidad jugable del producto, sin LLM ni sandbox (grading determinista):
proyección pública (toPublic) que NUNCA filtra
correct/rationaleal cliente.score 0..1, passed ≥0.7, oficial = isOfficialEligible (decisión 1a). 5 unit tests.
challenges(id texto, spec jsonb), migración incremental 0002,DrizzleChallengeRepository (byId/list).
AttemptGraded → learning_engine avanza el paso (lazo "hacer algo y progresar" cerrado).
POST /:id/attempt (grading server-side, revela el porqué en el verdict).
patrón, IA para orquestar. Borradores para el SME. challenge-bun-101 liga el path_step.
Verificado en Postgres desechable: migración 0002 incremental, seed idempotente,
smoke OK (score=1/passed/oficial, attempts=1, step_completions=1, sin fuga), 31 tests,
tsc/biome limpios.
TODO(auth): userId va por body (consistente con el módulo); derivar de sesión + rol luego.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com