Skip to content

Rulvar API reference


Rulvar API reference / @rulvar/core / ToolExecutorRegulatedPosture

Interface: ToolExecutorRegulatedPosture

Defined in: packages/core/src/l0/spi/regulated-posture.ts:110

The posture an isolated tool executor chose at construction (RV4204). The executor is the one construction that dispatches HOST-SIDE effects, and the regulated floor requires its ledger: an effect no ledger records is an effect nobody can reconcile, the billingReceipts doctrine applied to tools.

Properties

PropertyTypeDescriptionDefined in
allowEnvreadonly string[]Host env names reaching the child, the exact allowlist.packages/core/src/l0/spi/regulated-posture.ts:119
bounds{ maxOutputBytes: number; timeoutMs: number; }The resolved per-call ceilings (defaults resolve at construction).packages/core/src/l0/spi/regulated-posture.ts:121
bounds.maxOutputBytesnumber-packages/core/src/l0/spi/regulated-posture.ts:121
bounds.timeoutMsnumber-packages/core/src/l0/spi/regulated-posture.ts:121
isolation| { flavor: "subprocess"; sandboxed: boolean; } | { capDrop: readonly string[]; cpus: string; extraDockerArgs: readonly string[]; flavor: "container"; image: string; memory: string; network: string; pidsLimit: number; readOnlyRoot: boolean; scratchMount: string; workMount: string; }The isolation seam, per flavor: a subprocess names whether a sandbox launcher wraps the command; a container names its network mode and root-filesystem posture and, since RV4915, everything else that decides what the container can do: the image, the dropped capabilities, the resource limits, the mount paths, and the raw extra docker run flags verbatim. The regulated floor judges each by name (network 'none', a read only root, ALL among the dropped capabilities, an image pinned by digest, no extra flags) and hashes the rest, so a moved image or a loosened cap moves the fingerprint instead of hiding beneath it.packages/core/src/l0/spi/regulated-posture.ts:134
kind"tool-executor"-packages/core/src/l0/spi/regulated-posture.ts:113
ledgerbooleanWhether a ToolEffectLedger records every dispatch (intent first).packages/core/src/l0/spi/regulated-posture.ts:117
namestringThe reference flavor ('subprocess', 'container') or a host name.packages/core/src/l0/spi/regulated-posture.ts:115
regulatedPosture1Descriptor shape version; bumps when the meaning changes.packages/core/src/l0/spi/regulated-posture.ts:112