generated from erix/meta
lib-capabi defines shared capability ABI primitives for EriX.
- Rust 100%
| .github | ||
| src | ||
| tests | ||
| .editorconfig | ||
| .gitignore | ||
| ARCHITECTURE.md | ||
| Cargo.toml | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
| ROADMAP.md | ||
| rustfmt.toml | ||
| SECURITY.md | ||
lib-capabi
lib-capabi defines shared capability ABI primitives for EriX.
This repository centralizes capability-related constants and wire-level types used across kernel, root task, and early services.
Scope
lib-capabi is responsible for:
- capability rights bitmasks and type identifiers
- shared slot-ID constants for bootstrap contracts
- transfer descriptor/layout types for capability handoff
- validation helpers for rights and descriptor structure
- common capability error/result enums
lib-capabi is not responsible for:
- authority policy decisions
- capability allocation strategy
- revocation/recovery policy
- service-specific delegation rules
Why this Exists
Without a shared capability ABI crate, slot IDs and rights semantics drift between kernel, root, and services, causing authority mismatches.
lib-capabi provides one canonical source for capability wire-level contracts.
Design Constraints
- No external crates.
- No ambient authority.
- Validation-first for externally supplied descriptors.
- Stable constants for v1 bootstrap slots and rights.
Relationship to Other Repos
kerneluses these types to expose capability semantics.rootduses them to validate and inventory received authority.- early services use them to validate startup capability intake.
lib-ipcandlib-bootstrapreference these types in payload schemas.
Status
Implemented baseline.
Current crate includes slot/rights registries, descriptor types, validation helpers, split
Phase0 service role constants (memd, vspaced, pagerd, procd), and default
intake-spec tables for each core service role.
License
ISC.