Extend reconciliation sweep to re-derive and re-emit missed kernel transitions
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 15h 13m
- Merged PRs (30d)
- 368
Description
Extend the reconciliation sweep (SyncContainerLifecyclesTask) to re-derive kernel transitions from actual container state and re-emit transitions the Manager may have missed; the Manager applies idempotently via from_status (BEP-1061 section 3g/3f). No heartbeat digest.
On Agent restart the local phase is reconstructed from kernel_registry container labels (pickle excluded); the restart itself emits no events and does not touch history.
Note: coordinate with BEP-1057 restart recovery (BA-6765) to avoid duplicated recovery logic - define the recovery(mechanism) vs reporting(this) seam.
Success Criteria:
- [ ] Sweep re-derives transitions from actual container state and re-emits missed ones
- [ ] Re-emission is safe via from_status-based idempotent apply
- [ ] Local phase reconstructed from container labels (no pickle)
- [ ] pants test passes for affected packages
JIRA Issue: BA-6855
Contributor guide
Research direction
Start by locating SyncContainerLifecyclesTask and reading the referenced BEP-1061 sections, then review BEP-1057 restart recovery (BA-6765) and the kernel_registry label handling. Verify how actual container state is available and define the recovery-versus-reporting seam. Done means missed transitions are re-emitted idempotently, restart reconstruction uses labels without pickle or history changes, and affected pants tests pass.
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
- 45/100