Skip to content

Finalize process session ownership - #28

Draft
VisruthSK wants to merge 23 commits into
rename-foilfrom
tightening
Draft

Finalize process session ownership#28
VisruthSK wants to merge 23 commits into
rename-foilfrom
tightening

Conversation

@VisruthSK

Copy link
Copy Markdown
Owner

Summary

  • own one unique Linux session cgroup tree with an empty structural parent and reusable ordinary leaf
  • bind lifecycle commands to both worktrees once instead of cloning argv and environment on every repetition
  • drain pending macOS interrupts on the kqueue ESRCH fast-exit path
  • accept grouped interval values while retaining defaults 0.5, 0.8, and 0.9
  • preserve protected teardown wakeups, cleanup error precedence, and peak-memory plumbing

Validation

  • formatting, all-target checks, warnings-denied Clippy, docs, MSRV, and Windows tests pass locally
  • Linux cgroup ownership tests pass repeatedly with normal concurrency in a delegated WSL cgroup
  • native Linux process and lifecycle suites pass
  • macOS code cross-compiles; native macOS execution is delegated to this PR's CI

VisruthSK and others added 23 commits August 25, 2026 15:41
Remove rand_core dependency (use rand::SeedableRng everywhere).
Share drain_interrupt in platform/mod.rs; macOS gets process_group(0),
Linux reuses the shared helper.
Windows: use CompareStringOrdinal for case-insensitive env matching
(imported in mod.rs, removed from raw.rs); pass application as &[u16]
to spawn_process.
Simplify LifecycleCommands::new to take working_directory and envs
directly; replace run_in_both with fail-fast run_startup_both and
best-effort run_teardown_both; deduplicate run_in to delegate to run_at.
Extract MeasurementContext struct to module level; remove generic W
from measure_all.
Fix run_unmeasured to report cleanup errors when wait returns Err.
Add candidate_startup_does_not_run_when_baseline_startup_fails test.

Co-Authored-By: Letta Code <noreply@letta.com>
…utput

Extract shared helpers (project, run, failure, repository, git, constants)
into tests/common/mod.rs. Move lifecycle tests to tests/lifecycle.rs and
output/reporting tests to tests/output.rs.

Co-Authored-By: Letta Code <noreply@letta.com>
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