Continually test and repair solutions to benchmark problems until they pass. Use when a solution has failing tests. Invoke with /fix-solution <snapshot_path> <problem_name> <checkpoint_index>.
Iteratively test and repair a solution until all tests pass.
Usage: /fix-solution /path/to/snapshot problem_name checkpoint_N
Example: /fix-solution outputs/run_001/submissions/file_backup/checkpoint_2/snapshot file_backup checkpoint_2
Solutions are likely wrong - focus on fixing the solution code, not the tests.
Tests should generally be trusted. However, the MOMENT there is any doubt whether the tests themselves are correct (not the solution), immediately bring this up to the user for clarification. Do not silently assume tests are wrong.
Run the eval-snapshot command to see current test status:
slop-code --quiet eval-snapshot {snapshot_path} \
-p {problem_name} \
-c {checkpoint_index} \
-e configs/environments/docker-python3.12-uv.yaml \
-o /tmp/eval-output \
--json
Parse the JSON output to identify:
For each failing test:
problems/{problem}/checkpoint_{N}.md)If a test seems incorrect:
Edit the solution files in the snapshot directory to fix the failing tests.
Keep fixes minimal:
After making fixes, run the evaluation again:
slop-code --quiet eval-snapshot {snapshot_path} \
-p {problem_name} \
-c {checkpoint_index} \
-e configs/environments/docker-python3.12-uv.yaml \
-o /tmp/eval-output \
--json
Loop until all tests pass or you determine a test is genuinely incorrect.
If the fix needs to be applied to later checkpoints (checkpoint_3, checkpoint_4, etc.):
# Example: Fix was in main.py, propagate to checkpoint_3
# First, check if checkpoint_3 has the same issue
slop-code --quiet eval-snapshot {base_path}/checkpoint_3/snapshot \
-p {problem_name} \
-c checkpoint_3 \
-e configs/environments/docker-python3.12-uv.yaml \
-o /tmp/eval-output \
--json
# If same test fails, apply the fix there too
Only propagate fixes that are relevant - later checkpoints may have different implementations.
┌─────────────────────────┐
│ Run Evaluation │
└───────────┬─────────────┘
│
▼
┌─────────────────────────┐
│ All Tests Pass? │──── Yes ───► Done!
└───────────┬─────────────┘
│ No
▼
┌─────────────────────────┐
│ Analyze Failures │
└───────────┬─────────────┘
│
▼
┌─────────────────────────┐
│ Test Seems Wrong? │──── Yes ───► Ask User
└───────────┬─────────────┘
│ No
▼
┌─────────────────────────┐
│ Fix Solution Code │
└───────────┬─────────────┘
│
▼
┌─────────────────────────┐
│ Propagate to Future │
│ Checkpoints │
└───────────┬─────────────┘
│
└──────────────────► (loop back to Run Evaluation)
# Solution missing try/except that spec requires
try:
result = process(data)
except ValueError as e:
return {"error": str(e)}
# Test expects list, solution returns dict
# Fix: Return the correct format
return [item for item in results] # not {"items": results}
# Test expects 0-indexed, solution uses 1-indexed
return index # not index + 1
# Test passes empty input, solution crashes
if not data:
return []
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer