When deleting a shelf or book, remove the corresponding boundary from
the parent's boundary list so len(boundaries) == len(children) - 1
is maintained. Add API-level tests covering first, middle, and last
child deletion.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>