← back to Ticket System
Record local model picker proof
4559663c9392a4f26043530d431feaf5f2317d4a · 2026-08-31 11:01:13 -0700 · Steve Abrams
Files touched
M verification/e2e-proof.json
Diff
commit 4559663c9392a4f26043530d431feaf5f2317d4a
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Aug 31 11:01:13 2026 -0700
Record local model picker proof
---
verification/e2e-proof.json | 23 ++++++++++++-----------
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/verification/e2e-proof.json b/verification/e2e-proof.json
index a639f456..05a187a2 100644
--- a/verification/e2e-proof.json
+++ b/verification/e2e-proof.json
@@ -1,23 +1,24 @@
{
- "intent": "Select tickets, choose an approved model profile, and launch Run Now without exposing command text to the browser.",
+ "intent": "Select tickets and run them through either approved cloud profiles or installed task-capable local Ollama profiles.",
"risk_tier": "R2",
"environment": "Mac2 live PM2 ticket-board on 127.0.0.1:9794",
- "build_identity": "444a832",
- "timestamp": "2026-08-31T17:41:00Z",
- "baseline": "Run Now always launched Claude with no model chooser.",
+ "build_identity": "c6f392c",
+ "timestamp": "2026-08-31T18:00:00Z",
+ "baseline": "Run Now supported four cloud profiles but no local models.",
"assertions": [
- {"boundary":"unit", "result":"PASS", "evidence":"27/27 tests; all four profiles map to fixed commands; injection-shaped profile rejected before AppleScript"},
- {"boundary":"ui", "result":"PASS", "evidence":"Checkbox selection reveals #runProfile with Claude Sonnet, Claude Opus, Claude Haiku, and Codex (default)"},
- {"boundary":"ui-persistence", "result":"PASS", "evidence":"Selected Codex profile persisted through reload using localStorage"},
+ {"boundary":"unit", "result":"PASS", "evidence":"27/27 tests; all six profiles map to fixed commands; unknown profiles rejected before AppleScript"},
+ {"boundary":"runtime", "result":"PASS", "evidence":"Ollama API confirms qwen3.8-27b-heretic:latest and qwen3:14b are installed"},
+ {"boundary":"ui", "result":"PASS", "evidence":"Checkbox selection reveals six choices grouped as Cloud and Local · Ollama, including Local Qwen 27B Heretic and Local Qwen 14B"},
+ {"boundary":"ui-persistence", "result":"PASS", "evidence":"Selected local-qwen-27b profile persisted through reload using localStorage"},
{"boundary":"browser-js", "result":"PASS", "evidence":"Playwright selection flow completed with zero page errors"},
{"boundary":"3x", "result":"PASS", "evidence":"HTTP, headless render, Playwright interaction, and Chrome parity passed; 4/4 attempted, Safari/Firefox skipped because engines unavailable under --no-open"},
- {"boundary":"api-happy", "result":"PASS", "evidence":"POST /api/run with profile=codex returned profile=codex and preserved stopped-ticket skip"},
- {"boundary":"api-negative", "result":"PASS", "evidence":"profile=codex;touch-pwned returned HTTP 400 invalid run profile"},
+ {"boundary":"api-happy", "result":"PASS", "evidence":"POST /api/run accepted local-qwen-27b and local-qwen-14b and preserved stopped-ticket skip"},
+ {"boundary":"api-negative", "result":"PASS", "evidence":"Unapproved local-qwen2.5vl profile returned HTTP 400 invalid run profile"},
{"boundary":"service", "result":"PASS", "evidence":"ticket-board online after restart; unstable restarts 0"},
{"boundary":"side-effects", "result":"PASS", "evidence":"No model session launched during proof; stopped test ticket and dry-run launcher exercised boundaries without ticket work"}
],
- "artifacts": ["/var/folders/rq/j8g1f7nn6jv6_lr1cfmqym6w0000gn/T/3x-i0k5Uv/render.png"],
- "rollback": "git revert 444a832 and restart ticket-board",
+ "artifacts": ["/var/folders/rq/j8g1f7nn6jv6_lr1cfmqym6w0000gn/T/3x-bOzrjB/render.png"],
+ "rollback": "git revert c6f392c and restart ticket-board",
"cleanup": "No test session or external side effect created.",
"verdict": "PASS"
}
← c6f392c4 Add local Qwen Run Now profiles
·
back to Ticket System
·
board :9794 — add shared nav-agent + day/night theme toggle e5913d6a →