# Repro Plus Fix Loop Recommended profile: `workspace-core` Smoke target: ```bash make smoke-repro-fix-loop ``` Use this flow when the agent has to reproduce a bug, patch files without shell quoting tricks, rerun the failing command, diff the result, export the fix, and reset back to baseline. Canonical SDK flow: ```python from pyro_mcp import Pyro pyro = Pyro() created = pyro.create_workspace(environment="debian:12", seed_path="./broken-repro") workspace_id = str(created["workspace_id"]) pyro.exec_workspace(workspace_id, command="sh check.sh") pyro.read_workspace_file(workspace_id, "message.txt") pyro.apply_workspace_patch( workspace_id, patch="--- a/message.txt\n+++ b/message.txt\n@@ -1 +1 @@\n-broken\n+fixed\n", ) pyro.exec_workspace(workspace_id, command="sh check.sh") pyro.diff_workspace(workspace_id) pyro.export_workspace(workspace_id, "message.txt", output_path="./message.txt") pyro.reset_workspace(workspace_id) pyro.delete_workspace(workspace_id) ``` Canonical MCP/chat example: - [examples/openai_responses_workspace_core.py](../../examples/openai_responses_workspace_core.py) This is the main `workspace-core` story: model-native file ops, repeatable exec, structured diff, explicit export, and reset-over-repair.