Skip to main content

assay_runner_linux/
lib.rs

1// Cgroup v2 placement uses raw libc syscalls (pidfd_open, pidfd_send_signal)
2// for race-free PID handling during graceful kill. The same allow lived on
3// `assay-cli/src/main.rs` before the Slice 3 move. The workspace default
4// remains `unsafe_code = "deny"`; this crate is the platform adapter where
5// such syscalls are intentional and unavoidable.
6#![allow(unsafe_code)]
7
8//! Linux-only platform adapter for the Assay-Runner candidate.
9//!
10//! This crate is the Phase 2D Slice 3 result of the Assay-Runner extraction
11//! roadmap (see `docs/reference/runner/extraction-roadmap.md`). It hosts
12//! Linux-specific runner platform primitives that previously lived inside
13//! `crates/assay-cli/` and therefore prevented the runner candidate from
14//! being moved without dragging `assay-cli` along.
15//!
16//! Current scope is intentionally narrow: only cgroup v2 placement
17//! (`CgroupManager`, `SessionCgroup`). No eBPF or monitor adapter lives
18//! here yet — that boundary work is Slice 4 per the roadmap, and is not
19//! opened by this crate's existence. Likewise, this crate does not
20//! provide a platform-abstraction trait; macOS and Windows support are
21//! out of scope until separate platform spikes open under
22//! `platform-and-extraction-readiness.md`.
23//!
24//! The crate is `publish = false` until Slice 7 (repository extraction).
25
26mod cgroup;
27
28pub use cgroup::{CgroupManager, SessionCgroup};