we (web engine): Experimental web browser project to understand the limits of Claude

Add per-command panic catcher to we-e2e harness master

Introduce `crates/e2e/src/panic.rs` exposing a `catch` helper that runs a closure under `std::panic::catch_unwind` with a process-wide panic hook installed once (and never removed). The hook records message, location, and backtrace into a thread-local slot, so concurrent threads can each call `catch` without racing. Scenario runner now wraps each command in `catch`, writes `<out_dir>/panics/L<lineno>.txt` on crash, marks the step `sev-crash`, and continues with the rest of the scenario so the cascade is visible in the report. Single-shot mode writes `<out>.panic.txt` alongside the output and still exits non-zero. A debug-only `panic_now [msg]` scenario command deliberately panics, exercising the catcher in tests. Refs isu issue 256.


+640 -241
6 changed files