{"schemaVersion":1,"contentVersion":"3.4.0","id":"intermediate.17","languages":{"javascript":{"id":"intermediate.17","title":"Checkpoint: organize a handoff","moduleName":"Repeat, select and compose","tips":"","concept":"<p class=\"lead\">Reorder and label a document while preserving its protected section.</p><p><strong>Before this lesson:</strong> Visual selection; macros; line movement.</p><p>This mixed checkpoint has several valid approaches: line moves, Visual selection, repeated edits or a small macro. Match the result and keep the archive. Efficiency comparisons are optional; correctness comes first.</p><h3>Example</h3><p>Check the order, labels and unchanged archive separately before finishing in Normal mode.</p><p>Try without hints first. Open help if you need it.</p>","teaches":[],"introduces":[],"constraints":[],"drills":[{"task":"Order the steps Prepare, Review, Publish; append the ready marker to each. Preserve the archive exactly. Choose your tools.","hint":"Establish the order first, then apply the common marker. Stop before the archive.","mode":"jsx","start":"// Publish\n// Prepare\n// Review\nconst archive = \"pending\";","startCursor":{"line":0,"ch":0},"paths":[{"keys":["2","G","0","d","d","1","G","0","P","3","G","0","d","d","2","G","0","P","1","G","0","A"," [ready]","<Esc>","j",".","j","."],"tier":"idiomatic","technique":"dot","core":["linewise","dot"],"note":"One route moves whole lines, then repeats a line-end insertion."}],"target":"// Prepare [ready]\n// Review [ready]\n// Publish [ready]\nconst archive = \"pending\";","language":"javascript","evidence":"checkpoint","canonicalKey":"intermediate.17#0","canonicalFingerprint":"t3ahvs"},{"task":"Order the steps Prepare, Review, Publish; append the ready marker to each. Preserve the archive exactly. Choose your tools.","hint":"Establish the order first, then apply the common marker. Stop before the archive.","mode":"jsx","start":"// Review\n// Publish\n// Prepare\nconst archive = \"pending\";","startCursor":{"line":0,"ch":0},"paths":[{"keys":["3","G","0","d","d","1","G","0","P","1","G","0","A"," [ready]","<Esc>","j",".","j","."],"tier":"idiomatic","technique":"dot","core":["linewise","dot"],"note":"One route moves whole lines, then repeats a line-end insertion."}],"target":"// Prepare [ready]\n// Review [ready]\n// Publish [ready]\nconst archive = \"pending\";","language":"javascript","evidence":"checkpoint","canonicalKey":"intermediate.17#1","canonicalFingerprint":"1r4huo8"},{"task":"Order the steps Prepare, Review, Publish; append the ready marker to each. Preserve the archive exactly. Choose your tools.","hint":"Establish the order first, then apply the common marker. Stop before the archive.","mode":"jsx","start":"// Publish\n// Review\n// Prepare\nconst archive = \"pending\";","startCursor":{"line":0,"ch":0},"paths":[{"keys":["3","G","0","d","d","1","G","0","P","3","G","0","d","d","2","G","0","P","1","G","0","A"," [ready]","<Esc>","j",".","j","."],"tier":"idiomatic","technique":"dot","core":["linewise","dot"],"note":"One route moves whole lines, then repeats a line-end insertion."}],"target":"// Prepare [ready]\n// Review [ready]\n// Publish [ready]\nconst archive = \"pending\";","language":"javascript","evidence":"checkpoint","canonicalKey":"intermediate.17#2","canonicalFingerprint":"1y5f2iw"}]},"python":{"id":"intermediate.17","title":"Checkpoint: organize a handoff","moduleName":"Repeat, select and compose","tips":"","concept":"<p class=\"lead\">Reorder and label a document while preserving its protected section.</p><p><strong>Before this lesson:</strong> Visual selection; macros; line movement.</p><p>This mixed checkpoint has several valid approaches: line moves, Visual selection, repeated edits or a small macro. Match the result and keep the archive. Efficiency comparisons are optional; correctness comes first.</p><h3>Example</h3><p>Check the order, labels and unchanged archive separately before finishing in Normal mode.</p><p>Try without hints first. Open help if you need it.</p>","teaches":[],"introduces":[],"constraints":[],"drills":[{"task":"Order the steps Prepare, Review, Publish; append the ready marker to each. Preserve the archive exactly. Choose your tools.","hint":"Establish the order first, then apply the common marker. Stop before the archive.","mode":"python","start":"# Publish\n# Prepare\n# Review\narchive = \"pending\"","startCursor":{"line":0,"ch":0},"paths":[{"keys":["2","G","0","d","d","1","G","0","P","3","G","0","d","d","2","G","0","P","1","G","0","A"," [ready]","<Esc>","j",".","j","."],"tier":"idiomatic","technique":"dot","core":["linewise","dot"],"note":"One route moves whole lines, then repeats a line-end insertion."}],"target":"# Prepare [ready]\n# Review [ready]\n# Publish [ready]\narchive = \"pending\"","language":"python","evidence":"checkpoint","canonicalKey":"intermediate.17#0","canonicalFingerprint":"t3ahvs"},{"task":"Order the steps Prepare, Review, Publish; append the ready marker to each. Preserve the archive exactly. Choose your tools.","hint":"Establish the order first, then apply the common marker. Stop before the archive.","mode":"python","start":"# Review\n# Publish\n# Prepare\narchive = \"pending\"","startCursor":{"line":0,"ch":0},"paths":[{"keys":["3","G","0","d","d","1","G","0","P","1","G","0","A"," [ready]","<Esc>","j",".","j","."],"tier":"idiomatic","technique":"dot","core":["linewise","dot"],"note":"One route moves whole lines, then repeats a line-end insertion."}],"target":"# Prepare [ready]\n# Review [ready]\n# Publish [ready]\narchive = \"pending\"","language":"python","evidence":"checkpoint","canonicalKey":"intermediate.17#1","canonicalFingerprint":"1r4huo8"},{"task":"Order the steps Prepare, Review, Publish; append the ready marker to each. Preserve the archive exactly. Choose your tools.","hint":"Establish the order first, then apply the common marker. Stop before the archive.","mode":"python","start":"# Publish\n# Review\n# Prepare\narchive = \"pending\"","startCursor":{"line":0,"ch":0},"paths":[{"keys":["3","G","0","d","d","1","G","0","P","3","G","0","d","d","2","G","0","P","1","G","0","A"," [ready]","<Esc>","j",".","j","."],"tier":"idiomatic","technique":"dot","core":["linewise","dot"],"note":"One route moves whole lines, then repeats a line-end insertion."}],"target":"# Prepare [ready]\n# Review [ready]\n# Publish [ready]\narchive = \"pending\"","language":"python","evidence":"checkpoint","canonicalKey":"intermediate.17#2","canonicalFingerprint":"1y5f2iw"}]},"text":{"id":"intermediate.17","title":"Checkpoint: organize a handoff","moduleName":"Repeat, select and compose","tips":"","concept":"<p class=\"lead\">Reorder and label a document while preserving its protected section.</p><p><strong>Before this lesson:</strong> Visual selection; macros; line movement.</p><p>This mixed checkpoint has several valid approaches: line moves, Visual selection, repeated edits or a small macro. Match the result and keep the archive. Efficiency comparisons are optional; correctness comes first.</p><h3>Example</h3><p>Check the order, labels and unchanged archive separately before finishing in Normal mode.</p><p>Try without hints first. Open help if you need it.</p>","teaches":[],"introduces":[],"constraints":[],"drills":[{"task":"Order the steps Prepare, Review, Publish; append the ready marker to each. Preserve the archive exactly. Choose your tools.","hint":"Establish the order first, then apply the common marker. Stop before the archive.","mode":"text/plain","start":"Publish\nPrepare\nReview\nArchive: pending","startCursor":{"line":0,"ch":0},"paths":[{"keys":["2","G","0","d","d","1","G","0","P","3","G","0","d","d","2","G","0","P","1","G","0","A"," [ready]","<Esc>","j",".","j","."],"tier":"idiomatic","technique":"dot","core":["linewise","dot"],"note":"One route moves whole lines, then repeats a line-end insertion."}],"target":"Prepare [ready]\nReview [ready]\nPublish [ready]\nArchive: pending","language":"text","evidence":"checkpoint","canonicalKey":"intermediate.17#0","canonicalFingerprint":"t3ahvs"},{"task":"Order the steps Prepare, Review, Publish; append the ready marker to each. Preserve the archive exactly. Choose your tools.","hint":"Establish the order first, then apply the common marker. Stop before the archive.","mode":"text/plain","start":"Review\nPublish\nPrepare\nArchive: pending","startCursor":{"line":0,"ch":0},"paths":[{"keys":["3","G","0","d","d","1","G","0","P","1","G","0","A"," [ready]","<Esc>","j",".","j","."],"tier":"idiomatic","technique":"dot","core":["linewise","dot"],"note":"One route moves whole lines, then repeats a line-end insertion."}],"target":"Prepare [ready]\nReview [ready]\nPublish [ready]\nArchive: pending","language":"text","evidence":"checkpoint","canonicalKey":"intermediate.17#1","canonicalFingerprint":"1r4huo8"},{"task":"Order the steps Prepare, Review, Publish; append the ready marker to each. Preserve the archive exactly. Choose your tools.","hint":"Establish the order first, then apply the common marker. Stop before the archive.","mode":"text/plain","start":"Publish\nReview\nPrepare\nArchive: pending","startCursor":{"line":0,"ch":0},"paths":[{"keys":["3","G","0","d","d","1","G","0","P","3","G","0","d","d","2","G","0","P","1","G","0","A"," [ready]","<Esc>","j",".","j","."],"tier":"idiomatic","technique":"dot","core":["linewise","dot"],"note":"One route moves whole lines, then repeats a line-end insertion."}],"target":"Prepare [ready]\nReview [ready]\nPublish [ready]\nArchive: pending","language":"text","evidence":"checkpoint","canonicalKey":"intermediate.17#2","canonicalFingerprint":"1y5f2iw"}]}}}