{"schemaVersion":1,"contentVersion":"3.4.0","id":"foundation.12","languages":{"javascript":{"id":"foundation.12","title":"Checkpoint: prepare a short update","moduleName":"Search and apply","tips":"","concept":"<p class=\"lead\">Choose commands for a small repair, insertion and targeted change while protecting an archive.</p><p><strong>Before this lesson:</strong> Editing foundations; word/quotation lessons; search lessons.</p><p>Choose your own commands to reach the desired result. Try without hints first; open help if you need it.</p><p>Compare the complete result and check the unchanged archive.</p>","teaches":["char-delete","door-A","search:/"],"introduces":["textobject"],"constraints":[],"drills":[{"task":"Prepare the update: fix calmm in the message, append “ today” to Schedule, and change only the current status to public. Preserve the archive exactly. Choose your commands.","hint":"Compare the desired result with the starting text. Preserve the surrounding text.","mode":"jsx","start":"const message = \"Send calmm updates\";\n// Schedule\nconst archive = \"calmm: private\";\nconst status = \"private\";","startCursor":{"line":0,"ch":26},"paths":[{"keys":["x","2","G","0","A"," today","<Esc>","4","G","0","1","8","l","c","i","w","public","<Esc>"],"tier":"idiomatic","technique":"char-delete","core":["char-delete","door-A","textobject:iw"],"note":"This route uses a character repair, line-end insertion and a whole-word change. Other correct routes are welcome."}],"target":"const message = \"Send calm updates\";\n// Schedule today\nconst archive = \"calmm: private\";\nconst status = \"public\";","language":"javascript","evidence":"checkpoint","canonicalKey":"foundation.12#0","canonicalFingerprint":"1thyzpf"},{"task":"Prepare the update: fix calmm in the message, append “ today” to Schedule, and change only the current status to public. Preserve the archive exactly. Choose your commands.","hint":"Compare the desired result with the starting text. Preserve the surrounding text.","mode":"jsx","start":"const archive = \"calmm: private\";\nconst status = \"private\";\n// Schedule\nconst message = \"Send calmm updates\";","startCursor":{"line":3,"ch":26},"paths":[{"keys":["x","3","G","0","A"," today","<Esc>","2","G","0","1","8","l","c","i","w","public","<Esc>"],"tier":"idiomatic","technique":"char-delete","core":["char-delete","door-A","textobject:iw"],"note":"This route uses a character repair, line-end insertion and a whole-word change. Other correct routes are welcome."}],"target":"const archive = \"calmm: private\";\nconst status = \"public\";\n// Schedule today\nconst message = \"Send calm updates\";","language":"javascript","evidence":"checkpoint","canonicalKey":"foundation.12#1","canonicalFingerprint":"e60qub"},{"task":"Prepare the update: fix calmm in the message, append “ today” to Schedule, and change only the current status to public. Preserve the archive exactly. Choose your commands.","hint":"Compare the desired result with the starting text. Preserve the surrounding text.","mode":"jsx","start":"// Schedule\nconst archive = \"calmm: private\";\nconst message = \"Send calmm updates\";\nconst status = \"private\";","startCursor":{"line":2,"ch":26},"paths":[{"keys":["x","1","G","0","A"," today","<Esc>","4","G","0","1","8","l","c","i","w","public","<Esc>"],"tier":"idiomatic","technique":"char-delete","core":["char-delete","door-A","textobject:iw"],"note":"This route uses a character repair, line-end insertion and a whole-word change. Other correct routes are welcome."}],"target":"// Schedule today\nconst archive = \"calmm: private\";\nconst message = \"Send calm updates\";\nconst status = \"public\";","language":"javascript","evidence":"checkpoint","canonicalKey":"foundation.12#2","canonicalFingerprint":"1bdjgw3"}]},"python":{"id":"foundation.12","title":"Checkpoint: prepare a short update","moduleName":"Search and apply","tips":"","concept":"<p class=\"lead\">Choose commands for a small repair, insertion and targeted change while protecting an archive.</p><p><strong>Before this lesson:</strong> Editing foundations; word/quotation lessons; search lessons.</p><p>Choose your own commands to reach the desired result. Try without hints first; open help if you need it.</p><p>Compare the complete result and check the unchanged archive.</p>","teaches":["char-delete","door-A","search:/"],"introduces":["textobject"],"constraints":[],"drills":[{"task":"Prepare the update: fix calmm in the message, append “ today” to Schedule, and change only the current status to public. Preserve the archive exactly. Choose your commands.","hint":"Compare the desired result with the starting text. Preserve the surrounding text.","mode":"python","start":"message = \"Send calmm updates\"\n# Schedule\narchive = \"calmm: private\"\nstatus = \"private\"","startCursor":{"line":0,"ch":20},"paths":[{"keys":["x","2","G","0","A"," today","<Esc>","4","G","0","1","2","l","c","i","w","public","<Esc>"],"tier":"idiomatic","technique":"char-delete","core":["char-delete","door-A","textobject:iw"],"note":"This route uses a character repair, line-end insertion and a whole-word change. Other correct routes are welcome."}],"target":"message = \"Send calm updates\"\n# Schedule today\narchive = \"calmm: private\"\nstatus = \"public\"","language":"python","evidence":"checkpoint","canonicalKey":"foundation.12#0","canonicalFingerprint":"1thyzpf"},{"task":"Prepare the update: fix calmm in the message, append “ today” to Schedule, and change only the current status to public. Preserve the archive exactly. Choose your commands.","hint":"Compare the desired result with the starting text. Preserve the surrounding text.","mode":"python","start":"archive = \"calmm: private\"\nstatus = \"private\"\n# Schedule\nmessage = \"Send calmm updates\"","startCursor":{"line":3,"ch":20},"paths":[{"keys":["x","3","G","0","A"," today","<Esc>","2","G","0","1","2","l","c","i","w","public","<Esc>"],"tier":"idiomatic","technique":"char-delete","core":["char-delete","door-A","textobject:iw"],"note":"This route uses a character repair, line-end insertion and a whole-word change. Other correct routes are welcome."}],"target":"archive = \"calmm: private\"\nstatus = \"public\"\n# Schedule today\nmessage = \"Send calm updates\"","language":"python","evidence":"checkpoint","canonicalKey":"foundation.12#1","canonicalFingerprint":"e60qub"},{"task":"Prepare the update: fix calmm in the message, append “ today” to Schedule, and change only the current status to public. Preserve the archive exactly. Choose your commands.","hint":"Compare the desired result with the starting text. Preserve the surrounding text.","mode":"python","start":"# Schedule\narchive = \"calmm: private\"\nmessage = \"Send calmm updates\"\nstatus = \"private\"","startCursor":{"line":2,"ch":20},"paths":[{"keys":["x","1","G","0","A"," today","<Esc>","4","G","0","1","2","l","c","i","w","public","<Esc>"],"tier":"idiomatic","technique":"char-delete","core":["char-delete","door-A","textobject:iw"],"note":"This route uses a character repair, line-end insertion and a whole-word change. Other correct routes are welcome."}],"target":"# Schedule today\narchive = \"calmm: private\"\nmessage = \"Send calm updates\"\nstatus = \"public\"","language":"python","evidence":"checkpoint","canonicalKey":"foundation.12#2","canonicalFingerprint":"1bdjgw3"}]},"text":{"id":"foundation.12","title":"Checkpoint: prepare a short update","moduleName":"Search and apply","tips":"","concept":"<p class=\"lead\">Choose commands for a small repair, insertion and targeted change while protecting an archive.</p><p><strong>Before this lesson:</strong> Editing foundations; word/quotation lessons; search lessons.</p><p>Choose your own commands to reach the desired result. Try without hints first; open help if you need it.</p><p>Compare the complete result and check the unchanged archive.</p>","teaches":["char-delete","door-A","search:/"],"introduces":["textobject"],"constraints":[],"drills":[{"task":"Prepare the update: fix calmm in the message, append “ today” to Schedule, and change only the current status to public. Preserve the archive exactly. Choose your commands.","hint":"Compare the desired result with the starting text. Preserve the surrounding text.","mode":"text/plain","start":"Message: Send calmm updates\nSchedule\nArchive: calmm: private\nStatus: private","startCursor":{"line":0,"ch":18},"paths":[{"keys":["x","2","G","0","A"," today","<Esc>","4","G","0","1","0","l","c","i","w","public","<Esc>"],"tier":"idiomatic","technique":"char-delete","core":["char-delete","door-A","textobject:iw"],"note":"This route uses a character repair, line-end insertion and a whole-word change. Other correct routes are welcome."}],"target":"Message: Send calm updates\nSchedule today\nArchive: calmm: private\nStatus: public","language":"text","evidence":"checkpoint","canonicalKey":"foundation.12#0","canonicalFingerprint":"1thyzpf"},{"task":"Prepare the update: fix calmm in the message, append “ today” to Schedule, and change only the current status to public. Preserve the archive exactly. Choose your commands.","hint":"Compare the desired result with the starting text. Preserve the surrounding text.","mode":"text/plain","start":"Archive: calmm: private\nStatus: private\nSchedule\nMessage: Send calmm updates","startCursor":{"line":3,"ch":18},"paths":[{"keys":["x","3","G","0","A"," today","<Esc>","2","G","0","1","0","l","c","i","w","public","<Esc>"],"tier":"idiomatic","technique":"char-delete","core":["char-delete","door-A","textobject:iw"],"note":"This route uses a character repair, line-end insertion and a whole-word change. Other correct routes are welcome."}],"target":"Archive: calmm: private\nStatus: public\nSchedule today\nMessage: Send calm updates","language":"text","evidence":"checkpoint","canonicalKey":"foundation.12#1","canonicalFingerprint":"e60qub"},{"task":"Prepare the update: fix calmm in the message, append “ today” to Schedule, and change only the current status to public. Preserve the archive exactly. Choose your commands.","hint":"Compare the desired result with the starting text. Preserve the surrounding text.","mode":"text/plain","start":"Schedule\nArchive: calmm: private\nMessage: Send calmm updates\nStatus: private","startCursor":{"line":2,"ch":18},"paths":[{"keys":["x","1","G","0","A"," today","<Esc>","4","G","0","1","0","l","c","i","w","public","<Esc>"],"tier":"idiomatic","technique":"char-delete","core":["char-delete","door-A","textobject:iw"],"note":"This route uses a character repair, line-end insertion and a whole-word change. Other correct routes are welcome."}],"target":"Schedule today\nArchive: calmm: private\nMessage: Send calm updates\nStatus: public","language":"text","evidence":"checkpoint","canonicalKey":"foundation.12#2","canonicalFingerprint":"1bdjgw3"}]}}}