← back to Exo Helper
verification/e2e-proof.json
89 lines
{
"ticket": "TK-11325",
"intent": "Add a selectable compact DeepSeek option through existing Claude Code/Codex Exo helper; remove user-authorized unused local Qwen caches",
"risk_tier": "R2 integration; R4 explicitly authorized cache deletion",
"timestamp": "2026-09-09T18:29:31.077533+00:00",
"environment": "macstudio3 M3Ultra96GiB; existing Exo localhost:52415; SDK1.29.0; existing Claude Code/Codex user registrations",
"baseline": "One active local Qwen VL4B instance, no DeepSeek weights,25GiBfree. User expressly requested DeepSeek then removal of unused Qwen models. Existing jobs reference Heretic27B and Qwen2.5VL; llama-server used Qwen14B. All retained.",
"build_identity": {
"parent_commit": "a6a4aaf7a6d4c0af7f939a49261908a182de076f",
"source_sha256": {
"exo-client.mjs": "f3e3ef736d1a4266fe2c00b667f52e5a4a77742ed79fe75924ff9cd571c130c5",
"server.mjs": "233fb73b14444b44bcb0937a0e85fc7ceb6b137dd43c38eedaf8a12ede64b3e9",
"package.json": "f4b17e20f4b4d68489878fc7ed8cdcfb6dc7290fc2a213cc76a771e5b61bde02",
"package-lock.json": "9f5cb2d55aead89736bc000ec23069754a6212029bf203aab8c37182657440c5"
}
},
"commands": [
"Fresh Exo state, lsof, static references and disk inventory",
"Exo POST /models/add then POST /instance with explicit single-local-node preview",
"Exo DELETE /download/<local-node>/<exact-model-id> for six guarded candidates",
"npm test:12pass",
"npm run verify:13pass",
"codex mcp get exo-helper; claude mcp get exo-helper",
"Actual codex exec with isolated matching MCP config:DeepSeek selection + returned answer",
"Actual claude -p with strict matching MCP config:DeepSeek selection + returned answer",
"SHA256 of downloaded safetensors compared with publisher HuggingFace LFS object digest",
"git diff --check"
],
"boundaries": [
{
"boundary": "Authorized cleanup -> each node-scoped Exo deletion receipt -> filesystem absence and retained model files",
"verdict": "PASS",
"evidence": "model-cleanup-TK11325.json",
"removed_GiB": 78.13
},
{
"boundary": "HuggingFace -> local weights -> matching size and SHA256",
"verdict": "PASS",
"evidence": "deepseek-weights.json"
},
{
"boundary": "Exo local instance -> ready runner -> live DeepSeek inference",
"verdict": "PASS",
"instance_id": "53563c5b-9700-41da-8a9a-7c55bbaacec9"
},
{
"boundary": "MCP selection -> DeepSeek and original default Qwen -> complete correct arithmetic; original extraction",
"verdict": "PASS",
"evidence": "integration.json"
},
{
"boundary": "Actual Claude Code and Codex -> ask_exo model deepseek -> correct local model and complete answer",
"verdict": "PASS",
"evidence": "deepseek-client-proof.json"
},
{
"boundary": "Error paths:unknown model,unready DeepSeek no Qwen fallback,missing model,unavailable backend,input limits,timeouts,model mismatch",
"verdict": "PASS",
"evidence": "integration.json and test/exo-client.test.mjs"
}
],
"runtime_memory_snapshot": {
"ramTotal": {
"inBytes": 103079215104
},
"ramAvailable": {
"inBytes": 14706507776
},
"swapTotal": {
"inBytes": 9663676416
},
"swapAvailable": {
"inBytes": 360382464
}
},
"cleanup": "Test client processes exited; both local Exo instances intentionally remain loaded. Six unused Exo Qwen caches removed. All Ollama-format model files and peer model files retained. No new daemon, schedule, credentials or primary provider changes.",
"rollback": "Restore prior helper source from git to remove model selection. Unload/delete only new DeepSeek instance/model through Exo if desired. Removed Qwen weights require re-download from original model IDs recorded in cleanup report; no local archive was made.",
"limitations": [
"Compact DeepSeek R1-0528 distillation based on Qwen3-8B,not full DeepSeek.",
"DeepSeek reasoning consumes output allowance. Complex tasks can exceed1024tokens or45seconds and return truncation/error; callers must treat these as incomplete.",
"Initial system/prefixed instruction prompts exhausted reasoning budget. Native user-only template produced final answers in SDK and both CLIs.",
"Model is on M3 alone; no distributed performance claim. Shared workloads and swap pressure prevent attributing total RAM changes to this task.",
"Other callers may occupy Exo; readiness then reports false. No automatic load or provider fallback.",
"Arithmetic and integration boundaries verified; no broad coding-quality benchmark.",
"New session or MCP reconnect required for already-running clients to refresh schema."
],
"verdict": "PASS"
}