# Resource Limit Test Scenarios ## RL-AUG-01: Augmentation output count bounded - **Input**: 1 image - **Action**: Run `augment_inner()` - **Expected**: Returns exactly 8 outputs (never more, even with retries) - **Traces**: AC: 8× augmentation ratio (1 original + 7 augmented) ## RL-DSF-01: Dataset split ratios sum to 100% - **Input**: Any number of images - **Action**: Check `train_set + valid_set + test_set` - **Expected**: Equals 100 - **Traces**: AC: 70/20/10 split ## RL-DSF-02: No data duplication across splits - **Input**: 100 images - **Action**: Run `form_dataset()`, collect all filenames across train/valid/test - **Expected**: No filename appears in more than one split - **Traces**: AC: Dataset integrity ## RL-ENC-01: Encrypted output size bounded - **Input**: N bytes plaintext - **Action**: Encrypt - **Expected**: Ciphertext size ≤ N + 32 bytes (16 IV + up to 16 padding) - **Traces**: Restriction: AES-256-CBC overhead ## RL-CLS-01: Total class count is exactly 80 - **Input**: `classes.json` - **Action**: Generate class list for YAML - **Expected**: Exactly 80 entries (17 named × 3 weather + 29 placeholders = 80) - **Traces**: AC: 80 total class slots