Gemma-4-E4B-Sol-Traces-v2
Continuation-trained coding-agent model from unsloth/gemma-4-E4B-it. Builds on the Sol-Traces v1 base with additional Hermes Agent session traces, expanding tool coverage from 5 to 99 tools and introducing real agent behavior patterns alongside the original deterministic trajectories.
Sol Traces denotes tool-use traces compiled from Hermes Agent session logs; the traces do not originate from OpenCode.
Training Details
| Parameter | Value |
|---|
| Base model | unsloth/gemma-4-E4B-it (MoE, 4 active experts) |
| Base revision | 4e22d7e59e078e63a14f351efdc5232ed366b621 |
| Fine-tuning | LoRA continuation from v1 adapter (r=16, alpha=16, dropout=0) |
| Target modules | Language + attention only (k/q/v/o/gate/up/down projection) — 264 LoRA keys |
| Dataset | 21,438 train / 1,339 val / 2,534 test (merged v1-upgraded + v2-hermes-native) |
| Dataset provenance | v1-upgraded-with-tool-responses + hermes-log-canonical |
| Steps | 500 |
| Learning rate | 1e-4, cosine scheduler with 3% warmup |
| Batch size | 8 (1 × 8 gradient accumulation) |
| Max sequence | 8,192 tokens |
| Loss type | Assistant-only (tool responses excluded from loss) |
| GPU | Modal H100 80GB |
| Training time | ~2h 34min |
| Final train loss | 0.0255 |
| Validation loss | 0.0528 |
| Peak VRAM | 27.0 GiB / 80 GiB |
Pilot (20-step verification run)
| Metric | Value |
|---|
| Training records | 264 (hermes-native canonical slice) |
| Steps | 22 |
| Training loss | 0.0102 |
| Eval loss | 2.133 |
| Runtime | 44.6s |
| Adapter integrity | 264 keys matched and loaded from v1 source ✅ |
Dataset
The training dataset merges two sources:
v1-upgraded (21,174 train / 1,324 val / 2,502 test)
The original Sol-Traces v1 corpus of 25,000 verified deterministic trajectories with full tool responses preserved and reformatted for the expanded Hermes-native tool schema. These are the same 224 repository-family trajectories from v1, re-rendered with complete tool-response pairs rather than the original tool-response-masked format.
v2-hermes-native (264 train / 15 val / 32 test)
Redacted, verified Hermes Agent session traces drawn from ~/.hermes/state.db. These trajectories use the full Hermes-native tool schema (99 tools) and reflect real agent behavior patterns including:
- Diverse tool selection — browser automation, file operations, MCP tools, modal/cloud APIs, delegate/spawn patterns
- Evidence-grounded branching — tool choices follow actual observation output, not predetermined reference paths
- Multi-turn recovery — retries after failed commands, alternative file discovery routes
- No-change decisions — correct identification that no code change is needed
Combined tool registry
The full merged training uses a 99-tool schema drawn from the Hermes Agent runtime environment:
Full tool list (99 tools)
apply_learnings, apply_patch, autonomous_decide, background
browser_click, browser_console, browser_fill_form, browser_get_images
browser_press, browser_scroll, browser_snapshot, browser_type, browser_vision
clarify, cost_check, cronjob, delegate_task
evey_goals, execute_code
fabric_brief, fabric_recall, fabric_search, fabric_write
freeride free
honcho_profile, honcho_search
image_generate
kill, learn_from_interaction
list_files
mcp__openrouter__generate_image, mcp__proxmox__*, mcp_chrome_devtools_*
mcp_cloudflare_*, mcp_docker_*, mcp_insforge_*, mcp_leonardo_*
mcp_porkbun_*, mcp_preference_*
mem0_conclude, mem0_profile, mem0_search, memory, memory_decay, memory_score
patch, process
read_file, run_command
search_files, send_message, session_search
skill_manage, skill_view, skills_list
task, terminal, todo
tool_call, tool_describe, tool_search
vision_analyze, watchdog_status
web_search, write_file
Data provenance and privacy
| Guarantee | Status |
|---|
| Source logs | ~/.hermes/state.db only |
| Secrets, credentials | Fully redacted: [REDACTED] |
| Private paths | Fully redacted |
| Session IDs | Opaque HMAC-derived identifiers only |
| Content consent | Authorized Hermes traces, last 60 days |
| Privacy post-scan | Zero findings |
Files
| File | Size | Description |
|---|
gemma-4-e4b-sol-traces-v2-Q4_K_M.gguf | ~5 GiB | Quantized merged model — recommended for deployment |
gemma-4-e4b-sol-traces-v2-f16.gguf | ~14 GiB | Full F16 merged model — for custom quantization |
adapter/adapter_model.safetensors | 35 MiB | LoRA adapter weights (for PEFT-based loading) |
adapter/adapter_config.json | — | LoRA configuration (r=16, alpha=16) |
training_stats.json | — | Full training metrics and run report |
Note: The Q4_K_M file is the recommended deployment format for llama.cpp. The F16 is provided for downstream quantization experiments. The adapter/ directory allows PEFT-based loading without merging.
Usage (llama.cpp)
1# Q4_K_M — one file, ready to go
2llama-cli \
3 -m gemma-4-e4b-sol-traces-v2-Q4_K_M.gguf \
4 -ngl 99 \
5 --prompt "Find all package.json files in the project"
6
7# Server mode with tool support
8llama-server \
9 -m gemma-4-e4b-sol-traces-v2-Q4_K_M.gguf \
10 -ngl 99 \
11 -c 4096 \
12 --host 127.0.0.1 --port 8096
Usage (PEFT / Transformers)
1from unsloth import FastModel
2from peft import PeftModel
3
4base = "unsloth/gemma-4-E4B-it"
5model, tokenizer = FastModel.from_pretrained(
6 model_name=base, max_seq_length=8192,
7 dtype=torch.bfloat16, load_in_4bit=False,
8 token="hf_...",
9)
10model = PeftModel.from_pretrained(model, "./adapter/")
What's new in v2
Sol-Traces v2 introduces two major improvements over v1:
1. Expanded tool schema (5 → 99 tools)
v1 restricted the model to 5 deterministic tools (list_files, read_file, search_code, run_command, apply_patch). v2 exposes the full Hermes Agent tool registry including browser automation (browser_*), MCP integrations (mcp_*), memory management (mem0_*, memory), task delegation (delegate_task), scheduling (cronjob), and cloud API access.
2. Real agent behavior traces
v1 trajectories were generated by a deterministic reference executor that always followed the same pattern: list → read → run → patch → verify. v2 includes real Hermes Agent session traces with genuine decision-making:
- Branching tool selection: The model sees examples of choosing between alternative tools for the same goal
- Error recovery: Trajectories where a command failed and the agent tried a different approach
- No-change scenarios: Examples where the correct response was to explain why no code change was needed
- Multi-turn workflows: Longer sequences involving browser interaction, API calls, and file operations
Training approach
v2 uses continuation training from the v1 adapter rather than training from scratch:
- Load the v1 r=16/alpha=16 LoRA adapter (264 keys verified)
- Continue on the merged v1+v2 dataset for 500 steps (same LR, batch, scheduler)
- Merge and export as F16/Q4_K_M GGUF
This preserves the reliable v1 behavior while adding the new v2 capabilities.
Capabilities
The model excels at:
- Function calling: Selecting and populating the right tool from natural language (99-tool schema)
- Code navigation: Searching, reading, listing, and patching files in codebases
- Shell execution: Running commands with proper flags and paths
- Browser automation: Clicking, typing, scrolling, and taking screenshots of web pages
- Task delegation: Spawning sub-agents for parallel work
- API integration: Using MCP tools for cloud/docker/proxmox operations
- Memory management: Reading and writing persistent state through memory tools
- Verification: Running tests, checking outputs, validating results
Comparison with Sol-Traces v1
| Metric | v1 | v2 | Δ |
|---|
| Training records | 21,174 | 21,438 | +264 |
| Tool schema | 5 (deterministic) | 99 (Hermes-native) | +94 |
| Training loss | 0.0096 | 0.0255 | +0.0159 |
| Eval loss | 0.0235 | 0.0528 | +0.0293 |
| Training time | 1h 03m | 2h 34m | +1h 31m |
| Data diversity | Narrow (2 tool sequences) | Broad (99 tools, real agent patterns) | Significant |
The higher loss numbers in v2 reflect the more diverse and challenging training distribution — the model is learning a much broader task space with less repetition, not regressing.
v1 → v2 tool-routing baseline
| Tool | v1 Selection | v1 Exact Pass |
|---|
list_files | 5/5 (100%) | 0/5 (0%) |
read_file | 4/5 (80%) | 3/5 (60%) |
search_code | 0/5 (0%) | 0/5 (0%) |
run_command | 2/5 (40%) | 1/5 (20%) |
apply_patch | 1/5 (20%) | 1/5 (20%) |
no-tool | 4/5 (80%) | 4/5 (80%) |
The v1 E2B model showed a 30% overall routing pass rate (9/30). v2 routing evaluation results will be published when available.
Training Stats
1{
2 "status": "success",
3 "run_kind": "e4b-v1-sol-traces-v2-full-continuation",
4 "base_model": "unsloth/gemma-4-E4B-it",
5 "base_revision": "4e22d7e59e078e63a14f351efdc5232ed366b621",
6 "dataset_version": "sol-traces-v2.0.0-merged",
7 "records": {
8 "train": 21438,
9 "validation": 1339
10 },
11 "tools": 99,
12 "completed_steps": 500,
13 "training_loss": 0.02548,
14 "eval_loss": 0.05275,
15 "learning_rate": 0.0001,
16 "peak_memory_gib": 26.96,
17 "runtime_seconds": 9260
18}
Comparison with Other Sol-Traces Models
| Model | Active Params | Q4 Size | Training Loss | Tools | Best For |
|---|
| E2B v1 | ~5B | 3.2 GB | 0.0229 | 5 | Edge, CPU+GPU hybrid |
| 12B v1 | 12B | 6.8 GB | 0.0800 | 5 | Balanced performance |
| E4B v1 | ~8B | 4.9 GB | 0.0096 | 5 | Best quality-size trade-off |
| E4B v2 (this) | ~8B | ~5 GB | 0.0255 | 99 | Full Hermes-native agent |
| 26B-A4B v1 | ~8B* | 15.6 GB | 0.0113 | 5 | Maximum capability |
*E4B and 26B-A4B both activate 4 experts but have different base architectures (dedicated encoder vs unified).
Limitations
- Continuation-trained from v1: The 500-step continuation is a targeted update, not a from-scratch training. Some v1 tool call patterns (e.g.,
list_files bias) may persist.
- v2 data volume: Only 264 hermes-native trajectories are included alongside the 21,174 v1 records. The v2 signal is small relative to the v1 base.
- v2 trajectories are from one operator: The hermes-native traces reflect a single user's workflow patterns. Broader diversity requires additional sources.
- Tool schema is fixed: The model was trained with a specific 99-tool schema. Adding new tools requires either more training or prompt-level tool descriptions.
- Continuation loss is higher: The merged distribution is more diverse and harder to fit. Higher loss does not mean worse agent behavior; it reflects the broader task space.
- Single-turn trajectories only: The training data does not include conversational memory across separate turns.
- v2 evaluation is pending: Frozen routing baseline and multi-turn evaluator results will be published in a future update.
Disclaimer
Use at your own risk. This model is fine-tuned for coding-agent scenarios. The model owner accepts no liability for any damages or losses arising from its use. Users are responsible for compliance with applicable laws and regulations.