- Implement Heartbeat API (key 12) for consumer group liveness
- Implement LeaveGroup API (key 13) for graceful consumer departure
- Add comprehensive consumer coordination with state management:
* Heartbeat validation with generation and member checks
* Rebalance state signaling to consumers via heartbeat responses
* Graceful member departure with automatic rebalancing trigger
* Leader election when group leader leaves
* Group state transitions: stable -> rebalancing -> empty
* Subscription topic updates when members leave
- Update ApiVersions to advertise 13 APIs total (was 11)
- Complete test suite with 12 new test cases covering:
* Heartbeat success, rebalance signaling, generation validation
* Member departure, leader changes, empty group handling
* Error conditions (unknown member, wrong generation, invalid group)
* End-to-end coordination workflows
* Request parsing and response building
- All integration tests pass with updated API count (13 APIs)
- E2E tests show '96 bytes' response (increased from 84 bytes)
This completes Phase 3 consumer group implementation, providing full
distributed consumer coordination compatible with Kafka client libraries.
Consumers can now join groups, coordinate partitions, commit offsets,
send heartbeats, and leave gracefully with automatic rebalancing.