--- license: apache-2.0 base_model: Qwen/Qwen2.5-Coder-3B-Instruct library_name: gguf pipeline_tag: text-generation language: - en tags: - gguf - exe-ai-terminal - extended-workflow - guardian - tool-use - llama.cpp ---
Exe Guard Dynamic — Extended Workflow guardian for the Exe AI Terminal
# Exe Guard Dynamic A tiny guardian model for the **Extended Workflow** feature of the **Exe AI Terminal** **Website to the Main AI Agent Harness: https://exe-hq.net** When a tool step fails, it reads the report of that failure and writes the **one instruction** the user should send next to fix it — a corrected command, the real file, a path inside the shared folder. It suggests; it never acts. ![Per-case results — base 42% vs. trained 100% on 24 tool-repair cases](diagramm-detail.png) ## What it does The guardian watches tool calls and speaks up only when a step failed in a way a person would want a suggestion for. It is built for exactly six kinds of failure: | # | Failure | The fix it should name | |---|---|---| | 1 | Command typo (`npm run buld`) | the correctly spelled command | | 2 | Wrong Python environment (a `.venv/` exists) | `.venv/bin/python3 …` (never a global `pip install`, never `source activate`) | | 3 | `edit_file` old-text not found | read the file first, then edit with the exact text | | 4 | Binary / unreadable file | the readable file (e.g. the `.log`), or `run_command` for archives | | 5 | Path rejected (outside the shared folders) | a path inside the released folder | | 6 | Run stopped after a timeout | re-run in the background | It answers in **one imperative English sentence**, no greeting, no explanation. ## Intended use Drop-in as the small background model behind the Exe AI Terminal's Extended Workflow. It is a specialist: it turns a failed-step report into a single corrective instruction. **Out of scope:** general chat, code generation, vision, or any use outside the failed-step-repair task. It is not a general assistant. ## Files All builds carry an importance matrix (imatrix) computed from the model's own task data, and were tested on 24 held-out repair cases at `temperature 0.1`. "Test" is the number of those 24 cases solved correctly — a task metric, not perplexity. | File | Type | Bits | Size | Test (of 24) | |---|---|---|---|---| | `Exe-Guard-Dynamic-Q8_0.gguf` | K/legacy | 8 | 3.06 GB | 24 / 24 | | `Exe-Guard-Dynamic-Q6_K.gguf` | K-quant | 6.5 | 2.36 GB | 24 / 24 | | `Exe-Guard-Dynamic-Q5_K_M.gguf` | K-quant | 5.5 | 2.07 GB | 24 / 24 | | `Exe-Guard-Dynamic-Q4_K_M.gguf` | K-quant | 4.8 | 1.80 GB | 24 / 24 | | `Exe-Guard-Dynamic-Q4_K_S.gguf` | K-quant | 4.5 | 1.71 GB | 24 / 24 | | **`Exe-Guard-Dynamic-IQ4_XS.gguf`** | **I-quant · recommended** | **4.25** | **1.62 GB** | **24 / 24** | | `Exe-Guard-Dynamic-Q3_K_L.gguf` | K-quant | 4.0 | 1.59 GB | 19 / 24 | | `Exe-Guard-Dynamic-Q3_K_M.gguf` | K-quant | 3.9 | 1.48 GB | 20 / 24 | | `Exe-Guard-Dynamic-IQ3_M.gguf` | I-quant | 3.66 | 1.39 GB | 24 / 24 | | `Exe-Guard-Dynamic-IQ3_S.gguf` | I-quant | 3.44 | 1.36 GB | 24 / 24 | | `Exe-Guard-Dynamic-Q2_K.gguf` | K-quant | 3.0 | 1.19 GB | 24 / 24 | | `Exe-Guard-Dynamic-IQ2_M.gguf` | I-quant | 2.7 | 1.06 GB | 23 / 24 | | `Exe-Guard-Dynamic-IQ2_S.gguf` | I-quant | 2.5 | 0.99 GB | 22 / 24 | | `Exe-Guard-Dynamic-IQ2_XS.gguf` | I-quant | 2.06 | 0.96 GB | 22 / 24 | | `Exe-Guard-Dynamic-IQ1_M.gguf` | I-quant · experimental | 1.75 | 0.79 GB | 9 / 24 | | `Exe-Guard-Dynamic-IQ1_S.gguf` | I-quant · experimental | 1.56 | 0.74 GB | 10 / 24 | | `Exe-Guard-Dynamic-f16.gguf` | full precision | 16 | 5.75 GB | 24 / 24 | **`IQ4_XS` is the recommended build.** It is smaller than `Q4_K_M` and solves the same 24 of 24 — every build here carries an importance matrix, and the I-quants use it to spend their bits where the model actually needs them. The same pattern holds further down: at low bit-widths the I-quants (IQ3, IQ2) beat the K-quants of similar size (`Q3_K` drops to 19–20/24). The 1-bit builds are included for the curious but are not recommended. ## Prompt and sampling Two messages only — a fixed system instruction and the failure report — with `temperature 0.1`, `max_tokens 200`, thinking off, context 4096. No conversation history. ## Base model and license - **Base:** [Qwen/Qwen2.5-Coder-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-Coder-3B-Instruct) - **License:** Apache-2.0 (base and this derivative). You may use, modify, rebrand and redistribute; the origin of the base model must be named — it is, here. ## Training A thin LoRA adapter on top of the base, trained locally (Apple Silicon, MLX) on synthetic examples of failed tool steps and their one-sentence corrections, built to match the exact report format the terminal produces. The adapter was fused into the base and then quantized. ## Evaluation On 24 held-out repair cases at `temperature 0.1`, the untrained base solves **10 / 24 (42%)** and Exe Guard Dynamic solves **24 / 24 (100%)**. The base fails completely on the two cases that need this training — wrong Python environment and wrong edit target (0%) — which the trained model fixes entirely. ## Transparency This is a fine-tuned derivative of an openly licensed base model, released with its provenance, intended use, limits and evaluation stated above, in line with transparency expectations for shared models (incl. the EU AI Act).