Skip to content

fix(recording): prevent orphaned rotation processes - #806

Merged
Serph91P merged 4 commits into
developfrom
fix/781-rotation-orphans
Aug 20, 2026
Merged

fix(recording): prevent orphaned rotation processes#806
Serph91P merged 4 commits into
developfrom
fix/781-rotation-orphans

Conversation

@Serph91P

@Serph91P Serph91P commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Serializes recording rotation per stream and preserves process ownership until the previous subprocess has exited.
  • Uses bounded terminate and wait, followed by kill and wait only after a timeout.
  • Prevents a stale segmented-process monitor from finalizing a recording after rotation replaced its owner.
  • Adds deterministic local fake-process coverage for rotation lifecycle, failure, cancellation, stale ownership, concurrent rotation behavior, and immediate-exit ownership cleanup.
  • Wraps the three rotation log messages to comply with the 88-character Python line limit without changing their meaning.

Verification

  • Exact immutable head: 25bdfd5aeab3d37eac48da15717176d476a1c3fd on fix/781-rotation-orphans, based on develop at 326c77b8cad3fc35881ff2d3d21b8f31656c2e07.
  • Focused rotation and recovery suite passed: 16 passed.
  • Full backend suite passed: 218 passed, 2 skipped.
  • Ruff check and format check passed for the touched recording source and regression tests.
  • Migration initialization smoke check passed.
  • git diff --check and the forbidden Unicode dash scan passed.
  • All 17 current-head GitHub checks passed, including Docker Build Test.
  • Local Docker Buildx is unavailable, so the linux/amd64 image build was verified by the exact-head CI gate.

Closes #781

@Serph91P
Serph91P marked this pull request as ready for review August 20, 2026 14:10
@Serph91P
Serph91P merged commit 9294abe into develop Aug 20, 2026
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant