Operational Library Reference

This page catalogs the ordinary seed packages staged by the operational LLVM compiler from seed/compiler/llvm/libs. It does not treat every directory in the top-level Grove compatibility tree as a current package.

Import and build model

Repository core packages use bare imports:

use "io"
use "parse"
use "vec"

The launcher's incremental build and run paths resolve these names, build profile/target-compatible native and .sdi artifacts, and reuse exact installed generations. The narrower check subcommand currently invokes direct source checking and does not stage a missing bare package first. An explicit --static build selects matching static seed dependencies; ordinary hosted linking uses the profile-compatible dynamic artifacts by default.

Availability remains constrained by each package manifest and the canonical target capability matrix. A package being present in the source tree does not add runtime services to a target that lacks them.

Package catalog

Package Main public surface Role
box box_new, view, into_inner Fallible unique owned indirection for recursive or large values
byte_buffer byte_buffer_new, reserve, push, extend, resize, into_bytes Capacity-aware initialized byte construction with checked fallible growth
fibonacci fibonacci_i64 Allocation-free checked iterative Fibonacci returning None for negative input or overflow
file write_text, write_stdout, write_stderr, format variants Descriptor-based hosted output compatibility wrappers
format bool_text, option_bool_text Small static text-format helpers
hkdf hkdf_extract, hkdf_expand RFC 5869 HKDF-SHA256 pseudo-random functions (extract + expand) over the hmac_sha256 primitive
io input_stream, output_buffer, read/write/all and format operations Typed partial and buffered hosted I/O with io_error
math sqrt_*, abs_*, min_*, max_* Portable inline f32/f64 operations
net open_ipv4_stream, socket Minimal hosted owned IPv4 stream-socket wrapper
parse parse_i*, parse_u*, parse_*_or Checked integer parsing with typed parse_error and explicit defaults
process current_id, argument_count, argument, environment, process_fork, process_exec_args, process_exec_args_with_environment, process_change_directory, process_wait Allocation-free process/environment views and bounded hosted subprocess primitives
serialize encode_bool, decode_bool Minimal representative safe serialization surface
mobile platform bindings, lifecycle, input, display, clipboard Android API 21/29/37 ARM64 AVD and iOS 26.5 ARM64 simulator execution
path_file file_descriptor, open, read, write, metadata Owned path-file descriptors for checked sequential I/O, atomic rename, and advisory locking
slice slice_split_at_mut, reverse, rotate, window helpers Generic allocation-free algorithms over native typed slices
sort scalar sort functions and sort_by_key In-place mutable-slice sorting, including static key dispatch for move-only values
system address wrappers, page tables, MMIO, atomics, bump allocation, pinned/DMA values Audited freestanding systems abstractions over explicit unsafe construction
task channels, joins, typed results, events, cancellation, waitgroups, semaphores, barriers, locks Structured scheduler-backed communication and synchronization
text utf8_next, utf8_count, utf8_validate, split_ascii Allocation-free UTF-8 scalar validation/counting and ASCII-delimited token cursors
time monotonic_ms, wall_time_seconds, wall_time_ms Hosted elapsed-time and Unix wall-clock values
tls13 tls13_core_seal/open, tls13_chacha_seal/open, tls13_record_pack/unpack, tls13_hkdf_expand_label, tls13_derive_secret, traffic secret/key/iv derivation Pure-seed TLS 1.3 ChaCha20-Poly1305 AEAD, record protect/unprotect, and RFC 8446 §7 key schedule; no handshake/X.509 yet
vec vec, queue, set, map and fallible mutation APIs Generic owned collections with exact cleanup and checked views

Application packages in the top-level Grove tree include std-uuid 0.2. It provides allocation-free UUID text validation, strict RFC 9562 UUIDv7 validation, deterministic uuid_v7_from_parts, and fallible uuid_v7 generation backed by hosted wall-clock milliseconds plus 74 bits from the audited operating-system entropy package. UUIDs remain identifiers rather than credentials.

Ownership and error conventions

Operational packages follow the language ownership model:

I/O

New code should prefer io over the narrower file compatibility wrappers. The important distinction is partial input:

byte_buffer and io share the initialized-prefix contract. Safe callers never observe spare uninitialized capacity.

Grove command execution

The Grove command package provides bounded argv-based child execution for hosted applications. command_run_configured_with_stdin_file has the same working-directory, environment, timeout, and capture-limit contract as command_run_configured, and additionally connects an existing regular input file to the child's standard input. The file is opened without following a final symlink and all parent/child descriptors retain exact cleanup. This is useful for bounded stdio protocols such as language servers without invoking a shell or retaining a second in-memory copy of the framed request.

Collections and slices

vec<t> is the canonical growable generic sequence. It provides fallible capacity and push operations, checked update/pop, read-only and mutable views, and exact cleanup for move-only elements. Queue, set, and map types use the same ownership model.

Native []t and mut []t remain the standard borrowed sequence types. The slice package adds algorithms; checked indexing, slicing, fill, copy_from, and split_at_mut are core operations rather than a legacy raw fat-slice wrapper.

Tasks

task is an ordinary package, not a set of language built-ins. It provides:

Endpoints and tickets retain their linear/exact-cleanup contracts. Direct spawn remains lexically structured, and postfix ? cannot cross the spawned body boundary while that body ABI returns void.

Systems package

system targets declared freestanding profiles. Raw addresses, MMIO pointers, atomic storage, pinned buffers, DMA buffers, and allocator backing storage are created through unsafe constructors. Safe methods rely on those constructors' alignment, lifetime, address-space, synchronization, and ownership obligations.

Presence of this package does not imply that all hosted or freestanding targets provide every system service. Consult System Primitives and the Gate 14 target matrix.

Grove package inventory

The top-level grove/libs/ corpus completed G01–G22 classification: 218 manifested packages are covered exactly once by the Grove gate harness. Ported packages expose current source-elided interfaces; archived packages expose only their documented validation/unavailability boundary. See Grove Compatibility Tree and Library Roadmap.

Operational network client packages

Package Role Current boundary
std-url Allocation-free bounded absolute-URL parser Borrowed component ranges, bracketed IPv6, checked ports; no IDNA/relative resolution
tls Owned OpenSSL 3 server/client contexts and connections TLS 1.2 minimum; client certificate and hostname/IP verification plus typed handshake timeout; macOS ARM64 execution and Linux AArch64 cross-build
http-client Pure-seed HTTP/1.1 client (no OpenSSL): GET over raw TCP or the tls13 transport Typed limits (connect/io timeouts, head/header/body caps), optional Authorization, Content-Length/chunked/close-delimited framing, owned bounded Location/Retry-After, blocking read() cursor, and an audio source bridge for the shared codec callback source; DNS via the pure-seed dns package with IPv4-literal and localhost fast paths; no cookies, redirects, decompression, or pooling
http-client-tls Thin pure-seed wrapper preserving the TLS-context API (system/open/enabled, get_host_authority_authorized) over http-client + tls13 Same verified TLS 1.3 stack as the server-verified e2e; hostname verification of the CertificateVerify proof of key possession; system root-store distribution remains a documented gap
http-fetch Bounded-redirect absolute HTTP/HTTPS URL composition over the pure-seed clients System IPv4 resolution, explicit authority, relative-reference and dot-segment handling, fragment stripping, redirect limit, HTTPS downgrade rejection, HTTPS-only Authorization confined to same-origin redirects, and caller-bounded capped exponential retry/backoff for transient GET failures; no resolver cancellation, cache, or policy hooks
audio-network-source Exact-ownership adapter from an HTTP/HTTPS body to the shared codec callback source HTTP convenience getter plus generic body transfer; retry/cache/live-stream policy remains above it; applications link http_client_source.c for the callback bridge

The full limits and target evidence are recorded in the G12 and G14 baselines.

Operational adaptive UI remote-update packages

Package Role Current boundary
grove-ui-plugin-update Authenticated catalog selection and transactional plugin artifact upgrade Three-attempt transient retry, same-origin HTTPS Authorization, signed/fresh/monotonic catalogs, exact package-version binding, trust/permission preflight, generation history, and optional exact-URL cache fallback
grove-ui-plugin-remote-cache Bounded opaque cache for remote plugin payloads Caller-selected existing root, SHA-256 exact-URL keys, private part files, per-entry OS locks, sync, atomic replacement, typed misses, and 64-MiB ceiling; all hits remain untrusted and require caller revalidation
grove-ui-plugin-trust-distribution Verified-HTTPS delivery of signed trust-policy envelopes Root-pinned verification remains application-visible; cached fallback is transient-only and only already-verified envelopes are stored

The cache does not implement conditional HTTP validators, expiry, eviction, shared quota, encryption, or background maintenance. Native macOS ARM64, Linux x86-64, and Windows x86-64/Wine debug/release evidence is frozen by the update and trust-distribution baselines.

Ridge v0.3 packages

The completed Ridge v0.3 local-database stack is split into ordinary Grove packages:

Package Role
ridge B+Tree storage, WAL, MVCC, constraints, backup/recovery, integrity, and vacuum
ridge_sql Bounded multi-column SQL, transactions, indexes, planner, spill, JSON, analytics, and observability
ridge_pgwire Loopback TLS/password pgwire server and bounded text extended protocol
ridge_timeseries Persistent composite time keys, range/bucket/rate/retention/downsampling operations
ridge_fulltext Persistent normalized terms/positions, boolean/prefix/phrase search, BM25 subset, highlights
ridge_vector Fixed f32 vectors, exact top-k, bounded persistent HNSW, filters, recall/memory limits
ridge_ops Commit-boundary archive PITR, restore drills, migrations, maintenance, health/metrics/logs/quotas

These are bounded local-database contracts, not PostgreSQL parity or cluster services. See Ridge Database and the Ridge capability document for the exact supported shapes and exclusions.

Sources of truth