Summary
Add lifecycle controls for detached automation jobs (TTL, ownership/session binding, cancellation).
Problem
Detached jobs are bounded by process-store capacity, but they currently lack explicit TTL/cancel semantics and first-class status ownership controls.
Scope
- Add optional TTL for detached jobs.
- Bind jobs to active session/controller context.
- Add cancel endpoint and terminal status reporting.
- Expose detached job state in operations/status APIs.
- Add policy checks to avoid cross-session orphan control.
Acceptance Criteria
- Detached jobs can be enumerated and cancelled safely.
- Expired jobs are terminated/reaped with clear status.
- Session transitions cannot leave uncontrolled detached ownership.
- Tests validate TTL expiry, cancel, and ownership enforcement.
Notes
Deferred from temporal-correctness Wave 1 implementation.