Browser-side singleton mounted on window.__CLIK_HARNESS so Claude (or any
browser console user) can launch sweeps and read results via preview_eval
or DevTools, without needing to import anything.
Call HarnessReporter.install once at app startup (typically from a
dedicated multi.html entry like dev-harness/multi.html). Then drive
runs and inspect results entirely through the installed global:
Example
HarnessReporter.install();
// From a browser console or Claude preview_eval: awaitwindow.__CLIK_HARNESS.run({ config:myGameConfig, scenario: { strategy:newRandomFuzzStrategy({ actions: ['left','right','jump'] }), maxFrames:600, }, seeds: { count:25 }, });
window.__CLIK_HARNESS.summary(); // { passed, failed, durationMs, avgFrames } window.__CLIK_HARNESS.failures(); // crashed or aborted runs window.__CLIK_HARNESS.bySeed(42); // drill into a single run
Browser-side singleton mounted on
window.__CLIK_HARNESSso Claude (or any browser console user) can launch sweeps and read results viapreview_evalor DevTools, without needing to import anything.Call HarnessReporter.install once at app startup (typically from a dedicated
multi.htmlentry likedev-harness/multi.html). Then drive runs and inspect results entirely through the installed global:Example