← back to Ticket System
Record Run Now model picker proof
c9aa7c592c2d97db4890e32943737beb15bfe240 · 2026-08-31 10:45:55 -0700 · Steve Abrams
Files touched
M verification/e2e-proof.json
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 →