odysseus/core
Alexandre Teixeira f9aa2818c4 refactor(runtime): centralize verified process lifecycle
Extract the generic process lifecycle layer (src/process_lifecycle.py)
shared by runtime-owned subprocesses: process identity (pid + boot-bound
start token), identity-bound observation, group and pidfd probes, the
TERM -> verify -> KILL -> verify escalation with re-gating before
escalation, identity-scoped sweeps, and the termination receipt.

Containment, the PTY shell, the Cookbook survivor sweep, the browser
lifecycle, web_tools browser cleanup, kill_process_tree and the startup
reaper consume it while keeping their own ownership semantics.

Safety corrections:
- browser membership and identity are bound in one snapshot; no identity
  is recaptured after membership is decided
- web_tools legacy pid-file and profile-match kills signal only verified
  identities; browser CLI groups only while their spawn identity verifies
- Cookbook and legacy-tmux descendant capture bind membership to identity
- PTY teardown never signals the server's own process group
- unverifiable processes are reported, never signalled
2026-10-02 01:27:08 +01:00
..
__init__.py Odysseus v1.0 2026-05-31 23:58:26 +09:00
atomic_io.py fix(runtime): contain and supervise detached Bash jobs (ODY-145) 2026-10-01 21:23:21 +01:00
auth.py Preserve preview harness, editor, email and task improvements 2026-10-01 01:34:26 +00:00
constants.py refactor(constants): single source of truth for data dir (#3368) 2026-06-08 09:58:52 +02:00
database.py feat(runtime): enforce server request authority 2026-10-01 18:35:41 +01:00
exceptions.py refactor(exceptions): dedupe src/exceptions via core re-export (#4785) 2026-06-24 16:50:07 +02:00
log_safety.py fix(security): redact credential-bearing URLs and PII from logs (#4750) 2026-06-22 23:12:39 +02:00
middleware.py feat(auth): define Default/Local owner contract (#5795) 2026-08-15 20:27:26 +01:00
models.py feat(provider): support multiple ChatGPT subscriptions with usage 2026-09-22 13:12:19 +01:00
platform_compat.py refactor(runtime): centralize verified process lifecycle 2026-10-02 01:27:08 +01:00
session_manager.py Preserve preview harness, editor, email and task improvements 2026-10-01 01:34:26 +00:00