Add unified kernel status transition event type and Agent transition-event egress layer
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 368
Description
Add the unified kernel status transition event and emit it ALONGSIDE the existing granular events. The granular events are NOT removed here - removal is deferred to BA-6853 (after the Manager starts consuming the unified event). This keeps the change additive and easy to roll back.
New event: KernelStatusTransitionAnycastEvent(kernel_id, from_status, to_status, reason, result, error_code, message). from_status/to_status use sokovan KernelStatus values; the event carries no phase/step payload; result is SUCCESS/FAILED only. Emit at the current lifecycle transition points, next to the existing granular anycast emission.
Does NOT depend on the handler framework (BA-6075) and does not touch create_kernel structure.
Success Criteria:
- [ ] KernelStatusTransitionAnycastEvent defined and wired to the anycast (at-least-once) egress
- [ ] Unified event emitted alongside existing granular events at lifecycle transition points
- [ ] Existing events/consumers unchanged (no regression)
- [ ] pants test passes for affected packages
JIRA Issue: BA-6851
Contributor guide
Research direction
Start by locating the current lifecycle transition points and the existing granular anycast emission in the affected packages. Trace the at-least-once egress path, then run the affected packages' pants tests; done means the unified event is emitted alongside existing events without changing current consumers.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100