lib-capabi defines shared capability ABI primitives for EriX.
Find a file
Erik Inkinen aded6cf394
All checks were successful
CI / test (push) Successful in 4s
CI / security (push) Successful in 1m29s
CI / minimal-versions (push) Successful in 10s
lib-capabi: drop unstable rustfmt options for stable toolchains
2026-03-23 10:19:53 +02:00
.github Refactor milestone terminology to "Component Milestone Tracking" in PR template and contributing guidelines; update security policy phase references for clarity. 2026-03-05 11:54:15 +02:00
src lib-capabi: expand drv-serial intake for runtime wiring 2026-03-23 05:49:43 +02:00
tests Refactor service role identifiers and update intake specifications for new roles 2026-03-02 15:15:24 +02:00
.editorconfig Initial commit 2026-02-27 04:13:50 +01:00
.gitignore Initial commit 2026-02-27 04:13:50 +01:00
ARCHITECTURE.md Refine architecture documentation and update README status to reflect implementation progress 2026-02-28 04:54:34 +02:00
Cargo.toml Add initial implementation of capability ABI with error handling and validation 2026-02-27 05:32:36 +02:00
CODE_OF_CONDUCT.md Initial commit 2026-02-27 04:13:50 +01:00
CONTRIBUTING.md Refactor milestone terminology to "Component Milestone Tracking" in PR template and contributing guidelines; update security policy phase references for clarity. 2026-03-05 11:54:15 +02:00
LICENSE Initial commit 2026-02-27 04:13:50 +01:00
README.md Refactor service role identifiers and update intake specifications for new roles 2026-03-02 15:15:24 +02:00
ROADMAP.md Refactor milestone terminology to "Component Milestone Tracking" in PR template and contributing guidelines; update security policy phase references for clarity. 2026-03-05 11:54:15 +02:00
rustfmt.toml lib-capabi: drop unstable rustfmt options for stable toolchains 2026-03-23 10:19:53 +02:00
SECURITY.md docs: align security policy phase numbering 2026-03-11 05:28:12 +02:00

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

  • kernel uses these types to expose capability semantics.
  • rootd uses them to validate and inventory received authority.
  • early services use them to validate startup capability intake.
  • lib-ipc and lib-bootstrap reference 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.