Repository navigation
Open
Labels
backlogLower priority / backlogLower priority / backlogenhancementNew feature or requestNew feature or request
Description
Purpose
Finish the shared recording lifecycle without loss of recoverable output. This continues the Proposed ADR 0024 (screen recording: one coordinator, two facts). Its implemented decisions move to an accepted ADR under #3744, and the proposal is then deleted.
Required behavior
- Track export completion and recorder termination as two independent facts.
- Keep the native-path disposition together with both facts.
- Use one coordinator for a live stop and for an authorized recovery.
- Keep signal selection and identity checks inside each backend.
- Keep the manifest and the ownership fence.
- Before a replacement, retain unresolved recordings by fence generation.
- Return a playable committed export together with its recorder observation.
- If collection, finalization, or commit fails, keep the retry material.
- After the export completes, let recovery settle an unresolved termination.
Completion conditions
- Each supported backend proves an ordinary stop, recovery after daemon loss, a retry after failed collection, and refusal of a stale owner.
- A retry cannot apply processing twice.
- A replacement cannot overwrite unresolved evidence.
- The superseded recording recovery controls are removed only after equivalent behavior is proven.
- HarmonyOS and transport recording use the shared finish sequence.
Decisions so far
- Uncertain process identity is not a reason to discard usable output.
- No public probe or signal levels: backends own the sequence.
- Process markers are not a second lifecycle store. Keep markers only for launch windows that nothing else covers.
- Recovery does not signal independently: that would bypass the coordinator guards.
- Unresolved evidence is never retired.
- Below Android API 34, keep the rotation. Evaluate unlimited recording on API 34+ separately.
Dependencies
- Coordinate process identity with macOS sandbox blocks ps-backed recording process identity #2376.
- Change other durable kinds only with their own failed-finish evidence.
Metadata
Metadata
Assignees
Labels
backlogLower priority / backlogLower priority / backlogenhancementNew feature or requestNew feature or request
Activity