Interface: DerivedRules
Defined in: src/batteries/sandbox/types.ts:74
Backend-derived rules used for admission and drift checks, not a model-facing policy.
Properties
| Property | Modifier | Type | Description | Defined in |
|---|---|---|---|---|
filesystemDisabled | readonly | boolean | Whether the live sandbox has filesystem policy switched off entirely. Remarks A kill switch, and the drift check treats it asymmetrically: true → false is a NARROWING and therefore permitted, while false → true is DRIFT — it bypasses every filesystem rule while every set comparison still passes, which is precisely why it is compared on its own rather than inferred from the path lists. | src/batteries/sandbox/types.ts:110 |
mandatoryDeny | readonly | { allowGitConfig: boolean; dotGitWasDirectory?: boolean; entries: readonly string[]; form: "glob" | "expanded-paths"; searchDepth: number; } | Reproduced mandatory denies, with provenance because SRT does not expose this derivation. | src/batteries/sandbox/types.ts:94 |
mandatoryDeny.allowGitConfig | readonly | boolean | - | src/batteries/sandbox/types.ts:97 |
mandatoryDeny.dotGitWasDirectory? | readonly | boolean | - | src/batteries/sandbox/types.ts:99 |
mandatoryDeny.entries | readonly | readonly string[] | - | src/batteries/sandbox/types.ts:96 |
mandatoryDeny.form | readonly | "glob" | "expanded-paths" | - | src/batteries/sandbox/types.ts:95 |
mandatoryDeny.searchDepth | readonly | number | - | src/batteries/sandbox/types.ts:98 |
matcher | readonly | { caseInsensitive: boolean; platform: "darwin" | "linux"; readGlobs: "native" | "expanded"; writeGlobs: "native" | "dropped"; } | Platform matcher; there is intentionally no win32 arm. | src/batteries/sandbox/types.ts:76 |
matcher.caseInsensitive | readonly | boolean | Linux mandatory-deny files are folded; ordinary policy lists are not. | src/batteries/sandbox/types.ts:79 |
matcher.platform | readonly | "darwin" | "linux" | - | src/batteries/sandbox/types.ts:77 |
matcher.readGlobs | readonly | "native" | "expanded" | - | src/batteries/sandbox/types.ts:80 |
matcher.writeGlobs | readonly | "native" | "dropped" | - | src/batteries/sandbox/types.ts:81 |
network | readonly | { allowedDomains: readonly string[]; deniedDomains: readonly string[]; disabled: boolean; strictAllowlist: boolean; } | disabled is an ADK provenance discriminator, not an SRT field. | src/batteries/sandbox/types.ts:112 |
network.allowedDomains | readonly | readonly string[] | - | src/batteries/sandbox/types.ts:114 |
network.deniedDomains | readonly | readonly string[] | - | src/batteries/sandbox/types.ts:115 |
network.disabled | readonly | boolean | - | src/batteries/sandbox/types.ts:113 |
network.strictAllowlist | readonly | boolean | - | src/batteries/sandbox/types.ts:116 |
read | readonly | { allowWithinDeny: readonly string[]; denyOnly: readonly string[]; } | Reads are deny-then-allow; allowWithinDeny wins. | src/batteries/sandbox/types.ts:84 |
read.allowWithinDeny | readonly | readonly string[] | - | src/batteries/sandbox/types.ts:86 |
read.denyOnly | readonly | readonly string[] | - | src/batteries/sandbox/types.ts:85 |
undecidableGlobs | readonly | readonly string[] | Glob forms this derivation could not compile, distinct from pairwise undecidability. | src/batteries/sandbox/types.ts:121 |
unknownKeys | readonly | readonly string[] | Unknown upstream keys are drift signals and fail closed. | src/batteries/sandbox/types.ts:119 |
write | readonly | { allowOnly: readonly string[]; denyWithinAllow: readonly string[]; } | Writes are allow-only; denyWithinAllow wins. | src/batteries/sandbox/types.ts:89 |
write.allowOnly | readonly | readonly string[] | - | src/batteries/sandbox/types.ts:90 |
write.denyWithinAllow | readonly | readonly string[] | - | src/batteries/sandbox/types.ts:91 |