# Todo 47.3 Bare Volume Numeric Guard Plan **Status:** done ## Result Mirrored malformed-number protection across the existing bare `volume to`, `volume at`, and `volume=` syntax; final bounded quality gate approved. ## Goal Close the final named volume-token gap by applying the existing malformed-number guard to bare `volume to`, `volume at`, and `volume=` forms. ## Scope - Add RED tests for `volume to 40.5`, `volume at 1,000`, and `volume=40.5`. - Assert no fallback, no port call, and structured invalid arguments. - Preserve valid bare integer forms such as `volume to 40`, `volume at 40`, and `volume=40`. ## Files - Modify: `src/agent_lab/application/events/builtin_plugins.py` - Modify: `tests/test_builtin_event_plugins.py` ## Verification - `UV_CACHE_DIR=.uv-cache uv run pytest tests/test_builtin_event_plugins.py -q` - `UV_CACHE_DIR=.uv-cache uv run pytest` - `git diff --check`