[object Object]

← back to Ticket System

Record Run Now model picker proof

c9aa7c592c2d97db4890e32943737beb15bfe240 · 2026-08-31 10:45:55 -0700 · Steve Abrams

Files touched

Diff

commit c9aa7c592c2d97db4890e32943737beb15bfe240
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Mon Aug 31 10:45:55 2026 -0700

    Record Run Now model picker proof
---
 verification/e2e-proof.json | 34 ++++++++++++++++++----------------
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/verification/e2e-proof.json b/verification/e2e-proof.json
index 7a379250..a639f456 100644
--- a/verification/e2e-proof.json
+++ b/verification/e2e-proof.json
@@ -1,21 +1,23 @@
 {
-  "intent": "Make every blocked ticket actionable with structured lanes and safely remove read-only-proven stale blockers.",
-  "risk_tier": "R3",
-  "environment": "Mac2 local canonical ticket ledger and live PM2 ticket-board on 127.0.0.1:9794 behind Cloudflare Access",
-  "build_identity": ["2d6d9ce", "94c9fbd"],
-  "timestamp": "2026-08-31T17:25:00Z",
-  "baseline": {"blocked": 81, "structured_blockers": 0},
+  "intent": "Select tickets, choose an approved model profile, and launch Run Now without exposing command text to the browser.",
+  "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.",
   "assertions": [
-    {"boundary":"unit", "check":"npm test", "result":"PASS", "evidence":"25/25 tests pass, including blocker validation and MCP persistence"},
-    {"boundary":"service", "check":"PM2 ticket-board after restart", "result":"PASS", "evidence":"online, unstable restarts 0"},
-    {"boundary":"api-data", "check":"authenticated /api/tickets", "result":"PASS", "evidence":"78 blocked; 78 have blocker metadata; missing=0; lanes=65 steve_action, 7 technical_dependency, 4 intentional_guardrail, 2 external_wait"},
-    {"boundary":"ui", "check":"authenticated board HTML", "result":"PASS", "evidence":"Blocker lane, Next unblock, Blocker owner, Recheck columns and blocker-lane grouping are present"},
-    {"boundary":"auth-negative", "check":"unauthenticated local /api/tickets", "result":"PASS", "evidence":"HTTP 401"},
-    {"boundary":"public-edge", "check":"https://tickets.agentabrams.com", "result":"PASS", "evidence":"HTTP 302 to Cloudflare Access; TLS verify result 0"},
-    {"boundary":"status", "check":"read-only-proven administrative corrections", "result":"PASS", "evidence":"TK-10955 done; TK-10952 done; TK-10875 stopped; TK-10597 remains blocked as intentional_guardrail"},
-    {"boundary":"side-effects", "check":"underlying blocked work", "result":"PASS", "evidence":"No production, customer, send, identity, spend, destructive, DNS, Shopify, or external action executed"}
+    {"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":"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":"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"}
   ],
-  "rollback": "Append a newer blocker event to correct any lane; reopen status administratively where warranted; git revert 94c9fbd and 2d6d9ce for code/UI rollback.",
-  "cleanup": "Temporary curl and dry-run artifacts retained only under /tmp; canonical append-only evidence retained by design.",
+  "artifacts": ["/var/folders/rq/j8g1f7nn6jv6_lr1cfmqym6w0000gn/T/3x-i0k5Uv/render.png"],
+  "rollback": "git revert 444a832 and restart ticket-board",
+  "cleanup": "No test session or external side effect created.",
   "verdict": "PASS"
 }

← 444a832f Add model picker to Run Now  ·  back to Ticket System  ·  Add local Qwen Run Now profiles c6f392c4 →