Task task6_config_merger
# Configuration File Merger
Merge two JSON configuration files (`base.json` and `override.json`) into `merged.json`.
## Merge Rules
1. **Objects**: Deep merge recursively
- Keep all keys from base that aren't in override
- Override values replace base values for matching keys
- Nested objects merge recursively at all levels
2. **Arrays**: Complete replacement (not concatenation)
- Override arrays completely replace base arrays
- Array order should be preserved exactly as in override
3. **Primitives**: Override wins
- Strings, numbers, booleans from override replace base
- Type changes are allowed (e.g., number → string)
4. **Null handling**: `null` in override REMOVES the key entirely
- Works recursively in nested objects
- Example: `{"a": {"b": null}}` removes key `b` from nested object `a`
- Top-level null values remove top-level keys
## Example
Base: `{"server": {"port": 3000, "host": "localhost"}, "remove": "me"}`
Override: `{"server": {"port": 8080}, "remove": null}`
Result: `{"server": {"port": 8080, "host": "localhost"}}`
Note: `server.host` preserved (deep merge), `remove` deleted (null), `server.port` overridden
PS: You are currently working in an automated system and cannot ask any question or have back and forth with an user.
Merge two JSON configuration files (`base.json` and `override.json`) into `merged.json`.
## Merge Rules
1. **Objects**: Deep merge recursively
- Keep all keys from base that aren't in override
- Override values replace base values for matching keys
- Nested objects merge recursively at all levels
2. **Arrays**: Complete replacement (not concatenation)
- Override arrays completely replace base arrays
- Array order should be preserved exactly as in override
3. **Primitives**: Override wins
- Strings, numbers, booleans from override replace base
- Type changes are allowed (e.g., number → string)
4. **Null handling**: `null` in override REMOVES the key entirely
- Works recursively in nested objects
- Example: `{"a": {"b": null}}` removes key `b` from nested object `a`
- Top-level null values remove top-level keys
## Example
Base: `{"server": {"port": 3000, "host": "localhost"}, "remove": "me"}`
Override: `{"server": {"port": 8080}, "remove": null}`
Result: `{"server": {"port": 8080, "host": "localhost"}}`
Note: `server.host` preserved (deep merge), `remove` deleted (null), `server.port` overridden
PS: You are currently working in an automated system and cannot ask any question or have back and forth with an user.
Results
1
Models Tested
100.0%
Success Rate
37s
Avg Duration
37s - 37s
Duration Range
Details
| Score | Model | Duration | Session (KB) | test_1_valid_json.sh | test_2_deep_merge.sh | test_3_array_replacement.sh | test_4_null_and_new.sh |
|---|---|---|---|---|---|---|---|
| 100.0% | litellm/Mistral-Large-3-sandbox | 37s | 57.8 | ✅ | ✅ | ✅ | ✅ |