wavefnd / wavefnd/Wave

Add process identity primitives to std::sys

Open
#381 0 comments 0 reactions 0 assignees View on GitHub
cross-platform enhancement help wanted
Dominant language
Rust
Stars
53
Forks
16
Avg merge
4h 22m
Merged PRs (30d)
46

Description

Tracked by #375 and represented in #378. Coordinate Linux architecture work with #370.

## Scope

Add target-specific process identity primitives and a portable std::sys::process facade for:

- getuid and geteuid.
- getgid and getegid.
- setuid and setgid where the platform contract is stable.
- supplementary group queries when the required buffer contract is defined.

Linux and macOS implementations must use source-auditable constants and ABI signatures. Future Windows and BSD providers may expose the closest platform contract without pretending that Unix identities are universal.

## Completion criteria

- [ ] Linux x86-64 wrappers have runtime smoke tests.
- [ ] RV64 constants and register contracts are integrated with #370.
- [ ] macOS behavior is tested on macOS CI.
- [ ] Unsupported operations have an explicit target-gated contract.
- [ ] The common facade does not leak architecture-specific syscall numbers.

Contributor guide

Open the contributing guide

Research direction

Start with the std::sys::process facade scope and the Linux x86-64, RV64, and macOS requirements listed here; review #370, #375, and #378 for related architecture and tracking context. Done means Linux smoke tests, RV64 integration, macOS CI coverage, explicit target-gated unsupported operations, and no architecture-specific syscall numbers in the common facade.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.