LocalStack 63,725 's engine needs a resource provider for each type, and the 4.13.1 Community image has none for AWS 24 ::CloudFormation 24 ::CustomResource, to which it maps every Custom:: type; a comment in its source says the paid edition adds it. So the engine logs a warning, skips the resource and marks it complete:
docker logs l1-localstack 2>&1 | grep -o 'No resource provider found for "Custom::BookSeed"'
aws cloudformation describe-stack-resource --stack-name booknest-seed \
--logical-resource-id SeedBooks --output text \
--query 'StackResourceDetail.[ResourceType,ResourceStatus,PhysicalResourceId]'Output
No resource provider found for "Custom::BookSeed" Custom::BookSeed CREATE_COMPLETE unknown
Any type the image lacks succeeds this silently (SAM's Transform meets another), so read docker logs after a deploy that looks too easy. On AWS (not run here), the stack waits for the handler, and SeededCount reads 6. On this image, test a provider in two halves, as this section did: deploy it with the stack, then invoke it.