feat(bisaya): update prompts and add migration for food context gap exercise
All checks were successful
Deploy to production / deploy (push) Successful in 3m28s
All checks were successful
Deploy to production / deploy (push) Successful in 3m28s
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
'use strict';
|
||||
|
||||
/** Replaces a context-free food gap with a clearly answerable table setting. */
|
||||
module.exports = {
|
||||
async up(queryInterface) {
|
||||
await queryInterface.sequelize.query(`
|
||||
UPDATE community.vocab_grammar_exercise AS exercise
|
||||
SET title = 'Essen & Trinken: Auf dem Tisch ergänzen',
|
||||
instruction = 'Auf dem Tisch stehen Reis, Fisch und Wasser. Ergänze das fehlende Bisaya-Wort.',
|
||||
question_data = '{"type":"gap_fill","text":"{gap}, isda ug tubig.","gaps":1}'::jsonb,
|
||||
answer_data = '{"type":"gap_fill","answers":["Kan-on"]}'::jsonb,
|
||||
explanation = 'Kan-on bedeutet gekochter Reis. Der ganze Ausdruck lautet: „Kan-on, isda ug tubig.“'
|
||||
FROM community.vocab_course_lesson AS lesson
|
||||
WHERE exercise.lesson_id = lesson.id
|
||||
AND lesson.lesson_number = 8
|
||||
AND lesson.title = 'Essen & Trinken'
|
||||
AND exercise.exercise_number = 3
|
||||
AND exercise.title = 'Essen & Trinken: Kernmuster ergänzen';
|
||||
`);
|
||||
},
|
||||
|
||||
async down() {
|
||||
// Do not restore the ambiguous exercise.
|
||||
}
|
||||
};
|
||||
@@ -616,9 +616,14 @@ function buildContextGapExercise(lesson, didactics, pattern) {
|
||||
.split(/[.!?]+/)
|
||||
.map((step) => step.trim())
|
||||
.filter(Boolean);
|
||||
// A multi-step cue is already the concrete scenario. Do not reduce a
|
||||
// route such as "Diretso. Tuo. Wala. Duol ra." to a bare direction word.
|
||||
const gapTarget = scenarioSteps.length >= 2
|
||||
const cueWordCount = scenarioCue
|
||||
.replace(/[.,?!]/g, ' ')
|
||||
.split(/\s+/)
|
||||
.filter(Boolean)
|
||||
.length;
|
||||
// A multi-step cue or a short word sequence is already the concrete
|
||||
// scenario. Do not reduce a route or a table setting to a bare word.
|
||||
const gapTarget = scenarioSteps.length >= 2 || cueWordCount >= 3
|
||||
? scenarioCue
|
||||
: (scenarioPattern || pattern);
|
||||
const gapExercise = buildGapExercise(lesson.title, gapTarget);
|
||||
|
||||
@@ -374,7 +374,7 @@ const LESSON_DIDACTICS = {
|
||||
speakingPrompts: [
|
||||
{
|
||||
title: 'Auf dem Tisch',
|
||||
prompt: 'Nenne drei Dinge, die auf dem Tisch stehen oder die du essen und trinken möchtest.',
|
||||
prompt: 'Auf dem Tisch stehen Reis, Fisch und Wasser. Ergänze das fehlende Bisaya-Wort.',
|
||||
cue: 'Kan-on, isda ug tubig.'
|
||||
}
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user