da371436cd
Changes: - NoteEditorViewModel.kt: Add calculateInsertIndexForNewItem() helper method - NoteEditorViewModel.kt: Rewrite addChecklistItemAtEnd() to insert before first checked item (MANUAL/UNCHECKED_FIRST) instead of appending at list end - NoteEditorViewModel.kt: Add cross-boundary guard to addChecklistItemAfter() preventing new unchecked items from being inserted inside checked section - ChecklistSortingTest.kt: Add ChecklistSortOption import - ChecklistSortingTest.kt: Add 10 IMPL_15 unit tests covering all sort modes, edge cases (empty list, all checked, no checked), and position stability Root cause: addChecklistItemAtEnd() appended new unchecked items at the end of the flat list, after checked items. The UI splits items by count (subList(0, uncheckedCount)), not by isChecked state — causing checked items to appear above the separator and new items below it. Fix: Insert new items at the semantically correct position per sort mode. MANUAL/UNCHECKED_FIRST: before first checked item (above separator). All other modes: at list end (no separator visible, no visual issue). All 19 unit tests pass (9 existing + 10 new). No UI changes required.