|
Download mirror/codex/docs/limitations.md from RedinGhost/execution-fidelity-guard: direct link, hf CLI and curl.
- Browser
- Download file 5.01 kB
-
https://huggingface.co/spaces/RedinGhost/execution-fidelity-guard/resolve/main/mirror/codex/docs/limitations.md
- Command line
-
hf download hf://spaces/RedinGhost/execution-fidelity-guard/mirror/codex/docs/limitations.md
-
curl -L -o limitations.md https://huggingface.co/spaces/RedinGhost/execution-fidelity-guard/resolve/main/mirror/codex/docs/limitations.md
5.01 kB
| # Limitations | |
| Execution Fidelity Guard reduces a narrow class of execution drift. It cannot prove that arbitrary Agent behavior is safe or correct. | |
| ## Coverage gaps | |
| - Hosted WebSearch and other hosted tools do not use the local function-tool Hook path. | |
| - `write_stdin` transports an existing unified-exec session and does not trigger a second `PreToolUse` decision. | |
| - Specialized tool paths can opt out of Hooks. | |
| - The Codex IDE extension does not currently support plugins. | |
| - A command can invoke a script whose later behavior is invisible to command-prefix classification. | |
| - Common shell wrappers are inspected, but generated scripts, interpreters, and indirect process launch can still hide later behavior. | |
| - A Hook can observe only the event fields Codex provides. | |
| ## Decision limits | |
| - Natural-language interpretation is advisory and never a hard-block authority. | |
| - `authorization.allowed` is not an exhaustive allowlist. Unlisted actions are | |
| not denied unless an explicit `forbidden`, `must_not`, or `requires_user` | |
| rule matches. | |
| - The classifier intentionally prefers false negatives to broad semantic false positives. | |
| - `PermissionRequest` fires only when Codex already needs approval. The guard abstains unless it finds an explicit conflict. | |
| - `PostToolUse` happens after side effects and cannot roll them back. | |
| - Evidence type matching does not prove the artifact satisfies a natural-language requirement. Such requirements need an explicit contract-bound evidence record. | |
| - CLI evidence supplied with `--artifact` is read and hashed by Guard, but | |
| the caller still chooses the status and requirement. Byte observation does | |
| not prove the claim is true or the artifact is semantically sufficient. | |
| - CLI evidence supplied as a label plus digest remains caller-attested. | |
| - Objective, primary object, delivery surface, scope, and must fields are | |
| bounded Agent context, not deterministic gate inputs in 0.2.2. Cost is not | |
| represented in the 0.2.2 contract. Hard decisions use explicit structured | |
| action, tool, or command-prefix rules only. | |
| - Stop is a turn boundary. A warning after the two-attempt cap is not a completion verdict. | |
| ## Operational limits | |
| - Node.js 20 or later must be available to the Codex process. | |
| - Command Hooks start a Node process for each event. The exact 0.2.2 Windows | |
| source snapshot measured 134.57 ms p95 over 100 continue-path runs with | |
| persistence disabled, while 100 empty Node processes in the same run measured | |
| 117.13 ms p95. | |
| The latter is diagnostic only and is not subtracted from Guard latency. The | |
| full path remains above the provisional 100 ms PRD target. Other hosts can | |
| differ. | |
| - State is local to the configured Codex home unless `EFG_STATE_DIR` changes it. | |
| - With `EFG_PERSIST=false`, later Hook events cannot use evidence from earlier events. | |
| - Overlapping local Stop processes that share one state root use an exclusive | |
| owner-token file lock and one atomic counter. A stale lock is reclaimed only | |
| after 30 seconds when its same-host process is known to be dead; release uses | |
| an owner check plus atomic rename so an old holder cannot unlink a new lock. | |
| The cap is not global across machines, different state roots, erased state, | |
| or filesystems that do not preserve the required exclusive-create and rename | |
| semantics. A lock failure produces a reminder and no automatic continuation. | |
| - The live Intent Loop adapter and Continuity bridge are not implemented; the | |
| provider interface is a local file and the Continuity schema is reserved. | |
| - The separate unofficial DeepSeek Harness adapter is pinned to upstream | |
| `0.1.2-alpha.2`, stores receipts only in memory, and has no locally installed | |
| profile walkthrough in this release process. | |
| - A provider projection hash validates one document but does not prove global | |
| contract-version monotonicity across erased state. | |
| - Receipt files are not signed and can be modified by a local process with filesystem access. | |
| - State reads, writes, pruning, and deletion reject link or junction components | |
| and oversized records. A hostile local process with concurrent filesystem | |
| access is still outside the security boundary. | |
| - Windows ACL inheritance is platform-managed; the runtime requests restrictive file modes where the platform supports them. | |
| - There is no remote dashboard, telemetry service, or cross-machine synchronization. | |
| - The repository can aggregate pseudonymous receipt bundles toward a shadow | |
| sample target. Only sessions whose events consistently record | |
| `guard_mode=shadow` count toward that gate. No 100-task real shadow cohort or | |
| 800-task controlled online comparison has been completed for this release. | |
| In `shadow`, pending-tool conflicts are non-blocking reminders and completion | |
| gaps are recorded without turn steering. `balanced` is the only enforcing and | |
| completion-continuing mode; `off` emits no Hook policy or context output. | |
| Use `shadow` mode first and inspect real would-block receipts before enabling `balanced` in consequential workflows. | |