diff --git a/.clue/id-ledger.yaml b/.clue/id-ledger.yaml index 3d33d39..c6d6c0a 100644 --- a/.clue/id-ledger.yaml +++ b/.clue/id-ledger.yaml @@ -166,6 +166,12 @@ events: - {id: AN-015, kind: numeric, state: live, prefix: AN, component: "15"} - {id: FIO-005, kind: numeric, state: reserved, prefix: FIO, component: "5"} - {id: FIO-005, kind: numeric, state: live, prefix: FIO, component: "5"} + - {id: CH-017, kind: numeric, state: reserved, prefix: CH, component: "17"} + - {id: TASKS-010, kind: numeric, state: reserved, prefix: TASKS, component: "10"} + - {id: OQ-008, kind: numeric, state: reserved, prefix: OQ, component: "8"} + - {id: CH-017, kind: numeric, state: live, prefix: CH, component: "17"} + - {id: TASKS-010, kind: numeric, state: live, prefix: TASKS, component: "10"} + - {id: OQ-008, kind: numeric, state: live, prefix: OQ, component: "8"} - {id: M-005, kind: numeric, state: retired, prefix: M, component: "5"} - {id: M-006, kind: numeric, state: live, prefix: M, component: "6"} - {id: M-007, kind: numeric, state: retired, prefix: M, component: "7"} @@ -221,6 +227,7 @@ events: - {id: M-002, kind: numeric, state: retired, prefix: M, component: "2"} - {id: M-003, kind: numeric, state: retired, prefix: M, component: "3"} - {id: M-004, kind: numeric, state: retired, prefix: M, component: "4"} + - {id: M-130, kind: numeric, state: retired, prefix: M, component: "130"} high-water: - {id: ADR-002, kind: numeric, state: reserved, prefix: ADR, component: "2"} - {id: AN-014, kind: numeric, state: reserved, prefix: AN, component: "14"} diff --git a/CHANGELOG.md b/CHANGELOG.md index f217cc6..dd6a31b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,14 @@ ## Unreleased +- Deliver each round's initial status callback before the legacy robot's `run()` method, matching Classic Robocode and preventing robots from reading uninitialized callback state. +- Preserve classic scan target names and stable string identity so legacy robots continue to recognize repeated scans of the same bot. +- Close legacy data streams abandoned by worker threads between rounds after the previous bot thread has stopped, and track active stream instances so leaked handles cannot consume later rounds' five-stream quota. +- Match classic data-quota accounting when a robot replaces an existing file, so repeated rewrites do not consume quota cumulatively. +- Bounded compatibility-sweep timeout supervision so blocked error watching or process-tree cleanup cannot stall a checkpoint indefinitely, and retain Windows taskkill diagnostics when cleanup is incomplete. +- Kept cause-targeted compatibility retests limited to unresolved, diagnosed subjects even when local checkpoint state is missing. - Fixed legacy bot startup and round-transition lifecycle races by attaching peers after game setup and containing stale callback tick errors during shutdown. - Added two-engine conformance evidence for pending scan delivery, turn-boundary timing, custom-event removal, skipped turns, handler exceptions, and official melee-participant-count scans. - Preserved classic handler-exception reporting by surfacing legacy callback failures at the bridge boundary while retaining Tank Royale's event queue. - Added grouped team-robot staging and two-engine conformance evidence for team membership, teammate messages, directed-recipient isolation, droid no-scan behavior, and arbitrary serializable message payloads. +- Restored classic team names, including battle-wide duplicate suffixes, through the Tank Royale name map for team identity, teammate lookup, directed messaging, and message-event senders when paired with the matching Tank Royale Bot API and runner. diff --git a/compat-test/README.md b/compat-test/README.md index 1b6aaf8..507c210 100644 --- a/compat-test/README.md +++ b/compat-test/README.md @@ -31,7 +31,8 @@ the failure. JDK; override with `--rc-java` or `COMPAT_RC_JAVA`. The Tank Royale side is unaffected. - Robot collection at `C:\Code\LiteRumble robots` with `roborumble`, `meleerumble`, `teamrumble` subdirectories of `.jar` files. -- Classic Robocode installation at `C:\robocode` (1.10.3 tested). +- Classic Robocode installation at `C:\robocode`; LiteRumble currently accepts client versions + 1.10.3, 1.11.0, and 1.11.1, and the harness records and validates the installed version. - Built artifacts (all present after building the respective repos): - Tank Royale runner fat jar: `C:\Code\tank-royale\runner\examples\lib\robocode-tankroyale-runner.jar` - Bridge adapter: `robocode-api\build\libs\robocode-api-0.5.0.jar` (this repo, `gradlew :robocode-api:build`) diff --git a/compat-test/RcBattleWorker.java b/compat-test/RcBattleWorker.java index 2059098..2ee5cf5 100644 --- a/compat-test/RcBattleWorker.java +++ b/compat-test/RcBattleWorker.java @@ -344,11 +344,13 @@ static String write(Object value) { private static void writeValue(StringBuilder sb, Object value) { if (value == null) { sb.append("null"); - } else if (value instanceof String s) { + } else if (value instanceof String) { + String s = (String) value; sb.append('"').append(escape(s)).append('"'); } else if (value instanceof Number || value instanceof Boolean) { sb.append(value); - } else if (value instanceof Map map) { + } else if (value instanceof Map) { + Map map = (Map) value; sb.append('{'); boolean first = true; for (Map.Entry e : map.entrySet()) { @@ -358,7 +360,8 @@ private static void writeValue(StringBuilder sb, Object value) { writeValue(sb, e.getValue()); } sb.append('}'); - } else if (value instanceof Iterable it) { + } else if (value instanceof Iterable) { + Iterable it = (Iterable) value; sb.append('['); boolean first = true; for (Object o : it) { @@ -377,21 +380,21 @@ private static String escape(String s) { for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); switch (c) { - case '"' -> sb.append("\\\""); - case '\\' -> sb.append("\\\\"); - case '\n' -> sb.append("\\n"); - case '\r' -> sb.append("\\r"); - case '\t' -> sb.append("\\t"); - case '\b' -> sb.append("\\b"); - case '\f' -> sb.append("\\f"); - default -> { + case '"': sb.append("\\\""); break; + case '\\': sb.append("\\\\"); break; + case '\n': sb.append("\\n"); break; + case '\r': sb.append("\\r"); break; + case '\t': sb.append("\\t"); break; + case '\b': sb.append("\\b"); break; + case '\f': sb.append("\\f"); break; + default: if (c < 0x20) { sb.append(String.format("\\u%04x", (int) c)); } else { sb.append(c); } + break; } - } } return sb.toString(); } diff --git a/compat-test/TrBattleWorker.java b/compat-test/TrBattleWorker.java index f681463..6ec2706 100644 --- a/compat-test/TrBattleWorker.java +++ b/compat-test/TrBattleWorker.java @@ -269,11 +269,13 @@ static String write(Object value) { private static void writeValue(StringBuilder sb, Object value) { if (value == null) { sb.append("null"); - } else if (value instanceof String s) { + } else if (value instanceof String) { + String s = (String) value; sb.append('"').append(escape(s)).append('"'); } else if (value instanceof Number || value instanceof Boolean) { sb.append(value); - } else if (value instanceof Map map) { + } else if (value instanceof Map) { + Map map = (Map) value; sb.append('{'); boolean first = true; for (Map.Entry e : map.entrySet()) { @@ -283,7 +285,8 @@ private static void writeValue(StringBuilder sb, Object value) { writeValue(sb, e.getValue()); } sb.append('}'); - } else if (value instanceof Iterable it) { + } else if (value instanceof Iterable) { + Iterable it = (Iterable) value; sb.append('['); boolean first = true; for (Object o : it) { @@ -302,21 +305,21 @@ private static String escape(String s) { for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); switch (c) { - case '"' -> sb.append("\\\""); - case '\\' -> sb.append("\\\\"); - case '\n' -> sb.append("\\n"); - case '\r' -> sb.append("\\r"); - case '\t' -> sb.append("\\t"); - case '\b' -> sb.append("\\b"); - case '\f' -> sb.append("\\f"); - default -> { + case '"': sb.append("\\\""); break; + case '\\': sb.append("\\\\"); break; + case '\n': sb.append("\\n"); break; + case '\r': sb.append("\\r"); break; + case '\t': sb.append("\\t"); break; + case '\b': sb.append("\\b"); break; + case '\f': sb.append("\\f"); break; + default: if (c < 0x20) { sb.append(String.format("\\u%04x", (int) c)); } else { sb.append(c); } + break; } - } } return sb.toString(); } diff --git a/compat-test/compat_test.py b/compat-test/compat_test.py index 90091e7..b7c81ab 100644 --- a/compat-test/compat_test.py +++ b/compat-test/compat_test.py @@ -110,6 +110,11 @@ def local_bot_api_jar(): ) RC_JAVA_MAX_FEATURE = 23 # the last release that still allowed a SecurityManager +# LiteRumble currently accepts these classic Robocode client versions. Keep this +# list aligned with robo-code/literumble/structures.py; the collection is ranked +# by the classic client, so an unrecognised install must not create evidence. +LITERUMBLE_ALLOWED_ROBOCODE_CLIENTS = ("1.10.3", "1.11.0", "1.11.1") + STATE_FILE = BASE_DIR / "test_progress.json" REPORT_FILE = BASE_DIR / "compatibility_report.md" ERRORS_DIR = BASE_DIR / "errors" @@ -305,19 +310,98 @@ def resolve_rc_java(opts): return best[1] if best else None -def kill_process_tree(proc: subprocess.Popen): - """Kills a process and all of its children (bot JVMs, embedded server, booter).""" +def resolve_robocode_version(robocode_home): + """Return the classic Robocode release installed at *robocode_home*. + + The release notes are the authoritative version marker in a normal install. + A uniquely versioned engine library is a fallback for stripped-down installs. + """ + root = Path(robocode_home) + versions_file = root / "versions.md" + try: + text = versions_file.read_text(encoding="utf-8") + except (OSError, UnicodeError): + text = "" + match = re.search(r"(?m)^## Version\s+([^\s(]+)", text) + if match: + return match.group(1) + + versions = set() + for jar in (root / "libs").glob("robocode.*-*.jar"): + match = re.search(r"-(\d+(?:\.\d+)+)\.jar$", jar.name) + if match: + versions.add(match.group(1)) + return next(iter(versions)) if len(versions) == 1 else None + + +def robocode_version_error(robocode_home, version=None): + """Return a friendly validation error, or None for a LiteRumble client.""" + version = version or resolve_robocode_version(robocode_home) + if version is None: + return (f"classic Robocode version could not be determined at {robocode_home}; " + "refusing to create unpinned LiteRumble evidence") + if version not in LITERUMBLE_ALLOWED_ROBOCODE_CLIENTS: + allowed = ", ".join(LITERUMBLE_ALLOWED_ROBOCODE_CLIENTS) + return (f"classic Robocode {version} is not in LiteRumble's allowed client list " + f"({allowed}); use one of those versions for comparable evidence") + return None + + +def validate_robocode_version(opts): + """Resolve and validate the classic client, retaining it on the options object.""" + opts.robocode_version = resolve_robocode_version(opts.robocode_home) + return robocode_version_error(opts.robocode_home, opts.robocode_version) + + +PROCESS_TREE_KILL_TIMEOUT_SECONDS = 15 + + +def kill_process_tree(proc: subprocess.Popen, diagnostics=None): + """Kills a process and its children without allowing cleanup to stall a sweep.""" + diagnostics = diagnostics if diagnostics is not None else [] if proc.poll() is not None: - return + return True if sys.platform == "win32": - subprocess.run(["taskkill", "/PID", str(proc.pid), "/T", "/F"], - capture_output=True) + try: + taskkill = subprocess.run( + ["taskkill", "/PID", str(proc.pid), "/T", "/F"], + capture_output=True, timeout=PROCESS_TREE_KILL_TIMEOUT_SECONDS) + except subprocess.TimeoutExpired: + taskkill = None + diagnostics.append( + f"") + except OSError as exc: + taskkill = None + diagnostics.append(f"") + if taskkill is None or taskkill.returncode != 0: + if taskkill is not None: + output = " ".join( + value.strip() for value in (taskkill.stdout, taskkill.stderr) if value + ) + diagnostics.append( + f"") + if proc.poll() is not None: + return True + try: + proc.kill() + proc.wait(timeout=PROCESS_TREE_KILL_TIMEOUT_SECONDS) + except (OSError, subprocess.TimeoutExpired): + pass + return False else: - proc.kill() + try: + proc.kill() + except OSError: + pass try: - proc.wait(timeout=15) + proc.wait(timeout=PROCESS_TREE_KILL_TIMEOUT_SECONDS) except subprocess.TimeoutExpired: - proc.kill() + try: + proc.kill() + proc.wait(timeout=PROCESS_TREE_KILL_TIMEOUT_SECONDS) + except (OSError, subprocess.TimeoutExpired): + return False + return proc.poll() is not None def run_java(cmd, cwd, timeout, abort_when=None, poll_seconds=2.0): @@ -346,25 +430,98 @@ def collected(): try: proc.wait(timeout=timeout) except subprocess.TimeoutExpired: - kill_process_tree(proc) - return -1, collected() + "\n", True + cleanup_diagnostics = [] + tree_killed = kill_process_tree(proc, cleanup_diagnostics) + details = [""] + details.extend(cleanup_diagnostics) + if not tree_killed: + details.append("") + return -1, collected() + "\n" + "\n".join(details), True return proc.returncode, collected(), False - deadline = time.time() + timeout - while proc.poll() is None: - if time.time() > deadline: - kill_process_tree(proc) - return -1, collected() + "\n", True - if abort_when("".join(chunks)): - kill_process_tree(proc) - return -1, collected() + "\n", False - time.sleep(poll_seconds) - output = collected() - # A short-lived worker can write its final exception and exit between polls. Its - # output is still a bridge-only failure and must not leave a score in the result. - if abort_when(output): - return -1, output + "\n", False - return proc.returncode, output, False + deadline = time.monotonic() + timeout + pending_check = None + + def start_abort_check(worker_output): + result = {} + + def check(): + try: + result["triggered"] = bool(abort_when(worker_output)) + except Exception as exc: + result["error"] = exc + + thread = threading.Thread(target=check, daemon=True) + thread.start() + return thread, result + + def abort_result(pending): + thread, result = pending + if thread.is_alive(): + return None + if "error" in result: + raise result["error"] + return result.get("triggered", False) + + def timeout_result(pending): + cleanup_diagnostics = [] + tree_killed = kill_process_tree(proc, cleanup_diagnostics) + watcher_stuck = False + if pending is not None: + thread, _ = pending + thread.join(timeout=0.25) + watcher_stuck = thread.is_alive() + details = [""] + details.extend(cleanup_diagnostics) + if not tree_killed: + details.append("") + if watcher_stuck: + details.append("") + return -1, collected() + "\n" + "\n".join(details), True + + while True: + remaining = deadline - time.monotonic() + if remaining <= 0: + return timeout_result(pending_check) + + if pending_check is None: + pending_check = start_abort_check("".join(chunks)) + + check_thread, _ = pending_check + check_thread.join(timeout=min(poll_seconds, remaining)) + triggered = abort_result(pending_check) + if triggered is None: + continue + pending_check = None + + if triggered: + cleanup_diagnostics = [] + tree_killed = kill_process_tree(proc, cleanup_diagnostics) + details = [""] + details.extend(cleanup_diagnostics) + if not tree_killed: + details.append("") + return -1, collected() + "\n" + "\n".join(details), False + + if proc.poll() is not None: + # A short-lived worker can write its final exception and exit between polls. + # Its output is still a bridge-only failure and must not leave a score. + pending_check = start_abort_check("".join(chunks)) + while True: + remaining = deadline - time.monotonic() + if remaining <= 0: + return timeout_result(pending_check) + thread, _ = pending_check + thread.join(timeout=min(poll_seconds, remaining)) + triggered = abort_result(pending_check) + if triggered is None: + continue + if triggered: + return -1, collected() + \ + "\n", False + return proc.returncode, collected(), False + + time.sleep(min(poll_seconds, max(0.0, deadline - time.monotonic()))) def _drain(stream, sink): @@ -457,6 +614,8 @@ def attach_error_signatures(result): def registry_manifest(opts): """Pins the artifacts that produced a registry observation.""" manifest = { + "robocode_version": getattr(opts, "robocode_version", None) + or resolve_robocode_version(opts.robocode_home), "bridge_commit": subprocess.run( ["git", "rev-parse", "HEAD"], cwd=BASE_DIR.parent, capture_output=True, text=True, check=False).stdout.strip() or None, @@ -572,9 +731,9 @@ def run_rc_battle(jar_path: Path, classname, version, opts, setup, cmd.extend(["--enemies", ",".join(opponent_selectors), "--deterministic", "true"]) elif enemy_class: cmd.extend(["--enemy-select", enemy_class, "--deterministic", "true"]) - started = time.time() + started = time.monotonic() returncode, output, timed_out = run_java(cmd, cwd=home_dir, timeout=opts.timeout) - elapsed = time.time() - started + elapsed = time.monotonic() - started return summarize_worker_result( out_file, returncode, output, timed_out, elapsed, engine="robocode") @@ -585,6 +744,18 @@ def summarize_worker_result(out_file, returncode, output, timed_out, elapsed, en "ok": False, "score": None, "scores": [], "errors": [], "error_count": 0, "elapsed": round(elapsed, 1), "log_text": "", } + cleanup_failures = [] + if "" in output: + cleanup_failures.append("process-tree termination incomplete") + if "" in output: + cleanup_failures.append("abort watcher did not stop before timeout") + if cleanup_failures: + result["errors"] = [f"HARNESS: {message}" for message in cleanup_failures] + result["error_count"] = len(cleanup_failures) + result["log_text"] = f"=== {engine} worker cleanup failed ===\n\n{output}" + result["stop_sweep"] = True + return result + data = None if out_file.exists(): try: @@ -694,8 +865,19 @@ def team_member_dirs(team_dir: Path): """Returns the generated sibling directories named by a team boot entry.""" config = team_dir / f"{team_dir.name}.json" try: - data = json.loads(config.read_text(encoding="utf-8")) - except (OSError, json.JSONDecodeError): + text = config.read_text(encoding="utf-8") + except UnicodeDecodeError: + # Legacy robot metadata can contain Windows-1252 author names even though the + # wrapper's JSON structure and member names are otherwise ordinary text. + try: + text = config.read_text(encoding="cp1252") + except (OSError, UnicodeError): + return [] + except OSError: + return [] + try: + data = json.loads(text) + except json.JSONDecodeError: return [] members = data.get("teamMembers") if not isinstance(members, list): @@ -867,13 +1049,13 @@ def run_tr_battle(jar_path: Path, classname, version, opts, setup, rc_signatures "--out", str(out_file), "--timeout", str(max(30, opts.timeout - 15)), ] - started = time.time() + started = time.monotonic() watcher = None if rc_signatures is not None: watcher = BridgeOnlyErrorWatcher(staged_log_dirs(bot_dirs), rc_signatures) returncode, output, timed_out = run_java( cmd, cwd=WORK_DIR, timeout=opts.timeout, abort_when=watcher) - elapsed = time.time() - started + elapsed = time.monotonic() - started result = summarize_worker_result( out_file, returncode, output, timed_out, elapsed, engine="tank-royale") @@ -1068,17 +1250,19 @@ def discover_jars(opts): def should_run(entry, opts, registry=None, key=None): + if opts.retest_cause: + if registry is None or not key: + return False + subject = registry.get("subjects", {}).get(key, {}) + diagnosis = diagnosis_for_cause(subject, opts.retest_cause) + status = subject.get("status") or (entry or {}).get("status", "") + return is_unresolved(status) and diagnosis is not None if entry is None or opts.force: return True if opts.retry_unresolved and is_unresolved(entry.get("status", "")): return True if opts.confirm_score and entry.get("status") == "DISCREPANCY (score)": return True - if opts.retest_cause and registry is not None and key: - diagnosis = diagnosis_for_cause(registry.get("subjects", {}).get(key, {}), - opts.retest_cause) - return (is_unresolved(entry.get("status", "")) - and diagnosis is not None) if opts.retry_failed: return entry.get("status", "").startswith(("FAIL", "ERROR", "HARNESS", "DISCREPANCY")) return False @@ -1107,6 +1291,9 @@ def check_prerequisites(opts): ]: if not Path(path).exists(): problems.append(f" - {label} not found: {path}") + version_error = validate_robocode_version(opts) + if version_error: + problems.append(f" - {version_error}") if shutil.which("java") is None: problems.append(" - 'java' not found on PATH (JDK 17+ required)") if "meleerumble" in opts.collections: @@ -1792,6 +1979,10 @@ def main(): return 0 if opts.sync_registry: + version_error = validate_robocode_version(opts) + if version_error: + print(version_error, file=sys.stderr) + return 2 added = sync_parity_registry(state, opts) print(f"Parity registry synchronized: {added} observation(s) added.") return 0 @@ -1823,7 +2014,8 @@ def main(): f"{len(todo)} to test.") tested = 0 - session_started = time.time() + checkpoint_state = {"robots": {}} + session_started = time.monotonic() try: for collection, jar in todo: if opts.limit is not None and tested >= opts.limit: @@ -1866,6 +2058,7 @@ def main(): } if retest: state["robots"][key]["retest"] = retest + checkpoint_state["robots"][key] = state["robots"][key] save_state(state) regenerate_report(state) tested += 1 @@ -1879,10 +2072,19 @@ def main(): # The classic side has already run, so its signatures are the baseline the # bridge side is judged against (C-004). - tr = run_tr_battle( - jar, classname, version, opts, setup, - rc_signatures=classic_signatures(rc), - enemy_jar_paths=enemy_jar_paths, enemy_classes=enemy_classes) + if rc.get("stop_sweep"): + tr = { + "ok": False, "score": None, "scores": [], "error_count": 1, + "elapsed": 0.0, + "errors": ["HARNESS: Tank Royale side skipped after classic process cleanup failed"], + "error_signatures": [], "bridge_only_signatures": None, + "has_log": False, "skipped": None, "stop_sweep": True, + } + else: + tr = run_tr_battle( + jar, classname, version, opts, setup, + rc_signatures=classic_signatures(rc), + enemy_jar_paths=enemy_jar_paths, enemy_classes=enemy_classes) attach_error_signatures(tr) tr["has_log"] = write_error_log("tank-royale", robot_name, tr.pop("log_text", "")) @@ -1903,6 +2105,7 @@ def main(): } if retest: state["robots"][key]["retest"] = retest + checkpoint_state["robots"][key] = state["robots"][key] save_state(state) regenerate_report(state) tested += 1 @@ -1913,17 +2116,22 @@ def main(): print(f" RC={fmt_score(rc['score'])} ({rc['error_count']} err, " f"{rc['elapsed']:.0f}s) TR={tr_str} delta={delta_str} -> {status}", flush=True) + if rc.get("stop_sweep") or tr.get("stop_sweep"): + sync_parity_registry(checkpoint_state, opts) + print("Stopped this checkpoint because process cleanup did not complete.", + file=sys.stderr) + return 2 except KeyboardInterrupt: print("\nInterrupted — progress saved. Re-run to resume.", file=sys.stderr) save_state(state) regenerate_report(state) - sync_parity_registry(state, opts) + sync_parity_registry(checkpoint_state, opts) return 130 save_state(state) regenerate_report(state) - sync_parity_registry(state, opts) - elapsed_min = (time.time() - session_started) / 60 + sync_parity_registry(checkpoint_state, opts) + elapsed_min = (time.monotonic() - session_started) / 60 print(f"\nDone. Tested {tested} robots in {elapsed_min:.1f} min. " f"Report: {REPORT_FILE}") return 0 diff --git a/compat-test/conformance-robots/conformance/probes/FileQuotaOverwriteProbe.java b/compat-test/conformance-robots/conformance/probes/FileQuotaOverwriteProbe.java new file mode 100644 index 0000000..a07464a --- /dev/null +++ b/compat-test/conformance-robots/conformance/probes/FileQuotaOverwriteProbe.java @@ -0,0 +1,31 @@ +package conformance.probes; + +import robocode.AdvancedRobot; +import robocode.RobocodeFileOutputStream; + +import java.io.File; +import java.io.IOException; + +/** Replaces the same data file twice; replacement must reuse the file's existing quota. */ +public class FileQuotaOverwriteProbe extends AdvancedRobot { + + @Override + public void run() { + byte[] contents = new byte[100_000]; + File file = getDataFile("quota-overwrite-test"); + + for (int i = 0; i < 2; i++) { + try (RobocodeFileOutputStream stream = new RobocodeFileOutputStream(file)) { + stream.write(contents); + out.println("OverwriteSucceeded:" + i); + } catch (IOException e) { + out.println("OverwriteFailed:" + e.getMessage()); + break; + } + } + + while (true) { + turnLeft(1); + } + } +} diff --git a/compat-test/conformance-robots/conformance/probes/InitialStatusProbe.java b/compat-test/conformance-robots/conformance/probes/InitialStatusProbe.java new file mode 100644 index 0000000..32097f9 --- /dev/null +++ b/compat-test/conformance-robots/conformance/probes/InitialStatusProbe.java @@ -0,0 +1,32 @@ +package conformance.probes; + +import robocode.AdvancedRobot; +import robocode.StatusEvent; + +/** Checks that the start status is delivered before run and only once for its turn. */ +public class InitialStatusProbe extends AdvancedRobot { + + private int statusCount; + + @Override + public void run() { + out.println("InitialStatusBeforeRun:" + statusCount); + out.println("PendingStatusAtRunStart:" + getStatusEvents().size()); + setTurnRadarRight(360); + execute(); + out.println("StatusAfterFirstExecute:" + statusCount); + + while (true) { + execute(); + } + } + + @Override + public void onStatus(StatusEvent event) { + if (statusCount == 0) { + out.println("InitialStatusClock:" + event.getTime() + ":" + + event.getStatus().getTime() + ":" + getTime()); + } + statusCount++; + } +} diff --git a/compat-test/conformance-robots/conformance/teams/TeamDroid.java b/compat-test/conformance-robots/conformance/teams/TeamDroid.java index c3d1284..d0d2fc4 100644 --- a/compat-test/conformance-robots/conformance/teams/TeamDroid.java +++ b/compat-test/conformance-robots/conformance/teams/TeamDroid.java @@ -9,6 +9,7 @@ public class TeamDroid extends TeamRobot implements Droid { @Override public void run() { + out.println("TeamDroidName:" + getName()); out.println("TeamDroidReady"); while (true) { execute(); diff --git a/compat-test/conformance-robots/conformance/teams/TeamLeader.java b/compat-test/conformance-robots/conformance/teams/TeamLeader.java index e7ec603..93388f1 100644 --- a/compat-test/conformance-robots/conformance/teams/TeamLeader.java +++ b/compat-test/conformance-robots/conformance/teams/TeamLeader.java @@ -3,13 +3,23 @@ import robocode.TeamRobot; import java.io.IOException; +import java.util.ArrayList; public class TeamLeader extends TeamRobot { @Override public void run() { + out.println("TeamLeaderName:" + getName()); String[] teammates = getTeammates(); out.println("TeamLeaderReady:" + (teammates == null ? 0 : teammates.length)); + if (teammates != null) { + for (String teammate : teammates) { + out.println("TeamTeammateName:" + teammate); + if (!isTeammate(teammate)) { + out.println("TeamIsTeammateMismatch:" + teammate); + } + } + } try { // Let every member finish connecting before the first team message. The // embedded Tank Royale server starts bot processes independently, so sending @@ -18,7 +28,12 @@ public void run() { execute(); execute(); broadcastMessage(new TeamPayload("BROADCAST")); - // Keep the two message deliveries on separate turns. Classic queues both + execute(); + var batch = new ArrayList(); + batch.add("BATCH:first"); + batch.add("BATCH:second"); + broadcastMessage(batch); + // Keep each message delivery on its own turn. Classic queues same-turn // messages reliably, but Tank Royale's callback scheduling is not required to // preserve multiple same-turn messages while the bridge is draining events. execute(); diff --git a/compat-test/conformance-robots/conformance/teams/TeamRecipient.java b/compat-test/conformance-robots/conformance/teams/TeamRecipient.java index 204af78..ca01413 100644 --- a/compat-test/conformance-robots/conformance/teams/TeamRecipient.java +++ b/compat-test/conformance-robots/conformance/teams/TeamRecipient.java @@ -3,10 +3,13 @@ import robocode.MessageEvent; import robocode.TeamRobot; +import java.util.List; + public class TeamRecipient extends TeamRobot { @Override public void run() { + out.println("TeamRecipientName:" + getName()); out.println("TeamRecipientReady"); while (true) { execute(); @@ -15,6 +18,11 @@ public void run() { @Override public void onMessageReceived(MessageEvent event) { - out.println("TeamRecipientMessage:" + event.getMessage() + " from " + event.getSender()); + Object message = event.getMessage(); + if (message instanceof List batch && batch.size() == 2) { + out.println("TeamRecipientBatch:" + batch.get(0) + "," + batch.get(1)); + } else { + out.println("TeamRecipientMessage:" + message + " from " + event.getSender()); + } } } diff --git a/compat-test/parity-registry.json b/compat-test/parity-registry.json index 2a88295..7e3ffc0 100644 --- a/compat-test/parity-registry.json +++ b/compat-test/parity-registry.json @@ -24,7 +24,7 @@ "key": "meleerumble/aaa.r.ScalarR_0.005g.047.jar", "kind": "robot" }, - "latest_observation": "7b7ecead34276dcc", + "latest_observation": "9390bec53e59bd32", "observations": [ { "classic": { @@ -3104,6 +3104,644 @@ ], "skipped": null } + }, + { + "classic": { + "elapsed": 20.9, + "error_count": 482, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113070.0, + "scores": [ + 24192.0, + 11631.0, + 12443.0, + 8067.0, + 8470.0, + 6328.0, + 10079.0, + 12271.0, + 3985.0, + 15604.0 + ], + "selected": "aaa.r.ScalarR 0.005g.047" + }, + "completed_at": "2026-09-27T21:16:55Z", + "confirmation": null, + "delta_pct": -0.7, + "id": "2a6a25ebae560384", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "55a3c30" + }, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "aaa.r.ScalarR 0.005g.047", + "division": "meleerumble", + "jar": "aaa.r.ScalarR_0.005g.047.jar", + "jar_sha256": "deb332f422c39ac0ff3c0996df2396834bca50533f2a414c09aa3a9fb14c1c79", + "key": "meleerumble/aaa.r.ScalarR_0.005g.047.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 54.2, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112334.0, + "scores": [ + 21242.0, + 13065.0, + 11825.0, + 11378.0, + 10332.0, + 10320.0, + 10208.0, + 9543.0, + 7573.0, + 6848.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 16.5, + "error_count": 384, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113686.0, + "scores": [ + 24764.0, + 11454.0, + 11894.0, + 10171.0, + 9613.0, + 6009.0, + 7912.0, + 8979.0, + 7089.0, + 15801.0 + ], + "selected": "aaa.r.ScalarR 0.005g.047" + }, + "completed_at": "2026-09-28T22:04:38Z", + "confirmation": null, + "delta_pct": -1.5, + "id": "9390bec53e59bd32", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" + } + }, + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "aaa.r.ScalarR 0.005g.047", + "division": "meleerumble", + "jar": "aaa.r.ScalarR_0.005g.047.jar", + "jar_sha256": "deb332f422c39ac0ff3c0996df2396834bca50533f2a414c09aa3a9fb14c1c79", + "key": "meleerumble/aaa.r.ScalarR_0.005g.047.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 60.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112027.0, + "scores": [ + 16763.0, + 14396.0, + 12877.0, + 12013.0, + 11776.0, + 10449.0, + 10187.0, + 9822.0, + 7220.0, + 6524.0 + ], + "skipped": null + } } ], "status": "DISCREPANCY (errors)" @@ -8697,7 +9335,7 @@ "key": "meleerumble/adt.Ar1_2.1.jar", "kind": "robot" }, - "latest_observation": "b98294b0afc884fb", + "latest_observation": "a07510045f88384d", "observations": [ { "classic": { @@ -12100,47 +12738,19 @@ ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/adt.Ar2_1.0.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:33Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:35Z" - } - ], - "identity": { - "classic_selected": "adt.Ar2 1.0", - "division": "meleerumble", - "jar": "adt.Ar2_1.0.jar", - "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", - "key": "meleerumble/adt.Ar2_1.0.jar", - "kind": "robot" - }, - "latest_observation": "8746421b2797b078", - "observations": [ { "classic": { - "elapsed": 6.5, - "error_count": 482, + "elapsed": 6.2, + "error_count": 170, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -12148,7 +12758,7 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -12208,8 +12818,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -12247,58 +12855,66 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" ], "has_log": true, "ok": true, - "score": 114832.0, + "score": 114409.0, "scores": [ - 11465.0, - 11240.0, - 7967.0, - 9586.0, - 8577.0, - 11546.0, - 9976.0, - 7013.0, - 17221.0, - 20241.0 + 12409.0, + 12168.0, + 8534.0, + 11142.0, + 6573.0, + 9123.0, + 9628.0, + 8041.0, + 15930.0, + 20861.0 ], - "selected": "adt.Ar2 1.0" + "selected": "adt.Ar1 2.1" }, - "completed_at": "2026-09-10T20:20:23Z", + "completed_at": "2026-09-27T21:19:05Z", "confirmation": null, - "delta_pct": -1.6, - "id": "f9ea14f1920b372d", + "delta_pct": -1.1, + "id": "6be0dbcaff2978cf", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" } }, - "bridge_commit": "78d4bffda38d19b62380d721869b73c8180f86ac", + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "55a3c30" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -12353,8 +12969,8 @@ ], "opponents": [ { - "jar": "adt.Ar1_2.1.jar", - "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" }, { "jar": "amk.ChumbaMini_0.2.jar", @@ -12394,50 +13010,87 @@ "width": 1000 }, "source_identity": { - "classic_selected": "adt.Ar2 1.0", + "classic_selected": "adt.Ar1 2.1", "division": "meleerumble", - "jar": "adt.Ar2_1.0.jar", - "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", - "key": "meleerumble/adt.Ar2_1.0.jar", + "jar": "adt.Ar1_2.1.jar", + "jar_sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e", + "key": "meleerumble/adt.Ar1_2.1.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 68.2, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, + "elapsed": 120.3, + "error_count": 31, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, "ok": true, - "score": 113045.0, + "score": 113151.0, "scores": [ - 17536.0, - 14580.0, - 13412.0, - 12686.0, - 11911.0, - 10998.0, - 10864.0, - 10537.0, - 5722.0, - 4799.0 + 16930.0, + 14262.0, + 13676.0, + 12905.0, + 12503.0, + 9991.0, + 9691.0, + 8433.0, + 7977.0, + 6783.0 ], "skipped": null } }, { "classic": { - "elapsed": 6.5, - "error_count": 482, + "elapsed": 6.6, + "error_count": 402, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -12445,7 +13098,7 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -12469,6 +13122,8 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -12546,56 +13201,60 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114832.0, + "score": 115545.0, "scores": [ - 11465.0, - 11240.0, - 7967.0, - 9586.0, - 8577.0, - 11546.0, - 9976.0, - 7013.0, - 17221.0, - 20241.0 + 11489.0, + 10778.0, + 8721.0, + 10755.0, + 8632.0, + 11547.0, + 10070.0, + 6417.0, + 16345.0, + 20791.0 ], - "selected": "adt.Ar2 1.0" + "selected": "adt.Ar1 2.1" }, - "completed_at": "2026-09-10T20:20:23Z", + "completed_at": "2026-09-28T22:05:30Z", "confirmation": null, "delta_pct": -1.6, - "id": "b6a7ebdb708d780b", + "id": "a07510045f88384d", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "26ffbc5f2b2b08bafd207206cd5ac48a767dddf5", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -12650,8 +13309,8 @@ ], "opponents": [ { - "jar": "adt.Ar1_2.1.jar", - "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" }, { "jar": "amk.ChumbaMini_0.2.jar", @@ -12691,38 +13350,66 @@ "width": 1000 }, "source_identity": { - "classic_selected": "adt.Ar2 1.0", + "classic_selected": "adt.Ar1 2.1", "division": "meleerumble", - "jar": "adt.Ar2_1.0.jar", - "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", - "key": "meleerumble/adt.Ar2_1.0.jar", + "jar": "adt.Ar1_2.1.jar", + "jar_sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e", + "key": "meleerumble/adt.Ar1_2.1.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 68.2, + "elapsed": 42.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113045.0, + "score": 113648.0, "scores": [ - 17536.0, - 14580.0, - 13412.0, - 12686.0, - 11911.0, - 10998.0, - 10864.0, - 10537.0, - 5722.0, - 4799.0 + 17627.0, + 13770.0, + 13176.0, + 12949.0, + 12253.0, + 11218.0, + 9702.0, + 8754.0, + 7161.0, + 7038.0 ], "skipped": null } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/adt.Ar2_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:33Z" }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:35Z" + } + ], + "identity": { + "classic_selected": "adt.Ar2 1.0", + "division": "meleerumble", + "jar": "adt.Ar2_1.0.jar", + "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", + "key": "meleerumble/adt.Ar2_1.0.jar", + "kind": "robot" + }, + "latest_observation": "755f52340af56ff7", + "observations": [ { "classic": { "elapsed": 6.5, @@ -12867,7 +13554,7 @@ "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, "delta_pct": -1.6, - "id": "6d56d818767162c4", + "id": "f9ea14f1920b372d", "manifest": { "artifacts": { "bot_api_jar": { @@ -12887,7 +13574,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", + "bridge_commit": "78d4bffda38d19b62380d721869b73c8180f86ac", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -13164,7 +13851,7 @@ "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, "delta_pct": -1.6, - "id": "f7ff3c51311232ea", + "id": "b6a7ebdb708d780b", "manifest": { "artifacts": { "bot_api_jar": { @@ -13184,7 +13871,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", + "bridge_commit": "26ffbc5f2b2b08bafd207206cd5ac48a767dddf5", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -13461,7 +14148,7 @@ "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, "delta_pct": -1.6, - "id": "c6695ddb17617bb4", + "id": "6d56d818767162c4", "manifest": { "artifacts": { "bot_api_jar": { @@ -13481,7 +14168,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", + "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -13758,7 +14445,7 @@ "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, "delta_pct": -1.6, - "id": "1d4b6c55b86bb735", + "id": "f7ff3c51311232ea", "manifest": { "artifacts": { "bot_api_jar": { @@ -13778,7 +14465,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", + "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -14055,7 +14742,7 @@ "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, "delta_pct": -1.6, - "id": "6ff7d3e8351f16b8", + "id": "c6695ddb17617bb4", "manifest": { "artifacts": { "bot_api_jar": { @@ -14075,7 +14762,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -14352,7 +15039,7 @@ "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, "delta_pct": -1.6, - "id": "fe54903bef90e615", + "id": "1d4b6c55b86bb735", "manifest": { "artifacts": { "bot_api_jar": { @@ -14361,7 +15048,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -14369,10 +15056,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -14649,7 +15336,7 @@ "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, "delta_pct": -1.6, - "id": "6bc175ce4baddafe", + "id": "6ff7d3e8351f16b8", "manifest": { "artifacts": { "bot_api_jar": { @@ -14658,7 +15345,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -14666,10 +15353,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -14946,7 +15633,7 @@ "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, "delta_pct": -1.6, - "id": "8746421b2797b078", + "id": "fe54903bef90e615", "manifest": { "artifacts": { "bot_api_jar": { @@ -14955,7 +15642,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -14963,10 +15650,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -15098,39 +15785,11 @@ ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/adt.Ar2_1.1.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:33Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:35Z" - } - ], - "identity": { - "classic_selected": "adt.Ar2 1.1", - "division": "meleerumble", - "jar": "adt.Ar2_1.1.jar", - "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", - "key": "meleerumble/adt.Ar2_1.1.jar", - "kind": "robot" - }, - "latest_observation": "b633393d13bb8843", - "observations": [ { "classic": { - "elapsed": 5.8, - "error_count": 624, + "elapsed": 6.5, + "error_count": 482, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -15170,19 +15829,23 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -15204,10 +15867,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -15253,25 +15912,25 @@ ], "has_log": true, "ok": true, - "score": 113985.0, + "score": 114832.0, "scores": [ - 12619.0, - 12066.0, - 10720.0, - 10968.0, - 12660.0, - 9790.0, - 10248.0, - 12501.0, - 5234.0, - 17179.0 + 11465.0, + 11240.0, + 7967.0, + 9586.0, + 8577.0, + 11546.0, + 9976.0, + 7013.0, + 17221.0, + 20241.0 ], - "selected": "adt.Ar2 1.1" + "selected": "adt.Ar2 1.0" }, - "completed_at": "2026-09-10T20:21:04Z", + "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, - "delta_pct": -2.5, - "id": "3fbb3068656a46bc", + "delta_pct": -1.6, + "id": "6bc175ce4baddafe", "manifest": { "artifacts": { "bot_api_jar": { @@ -15280,7 +15939,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -15288,10 +15947,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "78d4bffda38d19b62380d721869b73c8180f86ac", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -15354,10 +16013,6 @@ "jar": "adt.Ar1_2.1.jar", "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" }, - { - "jar": "adt.Ar2_1.0.jar", - "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" - }, { "jar": "amk.ChumbaMini_0.2.jar", "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" @@ -15385,6 +16040,10 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -15392,42 +16051,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "adt.Ar2 1.1", + "classic_selected": "adt.Ar2 1.0", "division": "meleerumble", - "jar": "adt.Ar2_1.1.jar", - "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", - "key": "meleerumble/adt.Ar2_1.1.jar", + "jar": "adt.Ar2_1.0.jar", + "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", + "key": "meleerumble/adt.Ar2_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 32.1, + "elapsed": 68.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 111152.0, + "score": 113045.0, "scores": [ - 16569.0, - 14054.0, - 13105.0, - 12098.0, - 10912.0, - 10312.0, - 9983.0, - 8795.0, - 8122.0, - 7202.0 + 17536.0, + 14580.0, + 13412.0, + 12686.0, + 11911.0, + 10998.0, + 10864.0, + 10537.0, + 5722.0, + 4799.0 ], "skipped": null } }, { "classic": { - "elapsed": 5.8, - "error_count": 624, + "elapsed": 6.5, + "error_count": 482, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -15467,19 +16126,23 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -15501,10 +16164,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -15550,25 +16209,25 @@ ], "has_log": true, "ok": true, - "score": 113985.0, + "score": 114832.0, "scores": [ - 12619.0, - 12066.0, - 10720.0, - 10968.0, - 12660.0, - 9790.0, - 10248.0, - 12501.0, - 5234.0, - 17179.0 + 11465.0, + 11240.0, + 7967.0, + 9586.0, + 8577.0, + 11546.0, + 9976.0, + 7013.0, + 17221.0, + 20241.0 ], - "selected": "adt.Ar2 1.1" + "selected": "adt.Ar2 1.0" }, - "completed_at": "2026-09-10T20:21:04Z", + "completed_at": "2026-09-10T20:20:23Z", "confirmation": null, - "delta_pct": -2.5, - "id": "07c7cbce78e86434", + "delta_pct": -1.6, + "id": "8746421b2797b078", "manifest": { "artifacts": { "bot_api_jar": { @@ -15577,7 +16236,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -15585,10 +16244,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "26ffbc5f2b2b08bafd207206cd5ac48a767dddf5", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -15651,10 +16310,6 @@ "jar": "adt.Ar1_2.1.jar", "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" }, - { - "jar": "adt.Ar2_1.0.jar", - "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" - }, { "jar": "amk.ChumbaMini_0.2.jar", "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" @@ -15682,6 +16337,10 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -15689,50 +16348,50 @@ "width": 1000 }, "source_identity": { - "classic_selected": "adt.Ar2 1.1", + "classic_selected": "adt.Ar2 1.0", "division": "meleerumble", - "jar": "adt.Ar2_1.1.jar", - "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", - "key": "meleerumble/adt.Ar2_1.1.jar", + "jar": "adt.Ar2_1.0.jar", + "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", + "key": "meleerumble/adt.Ar2_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 32.1, + "elapsed": 68.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 111152.0, + "score": 113045.0, "scores": [ - 16569.0, - 14054.0, - 13105.0, - 12098.0, - 10912.0, - 10312.0, - 9983.0, - 8795.0, - 8122.0, - 7202.0 + 17536.0, + 14580.0, + 13412.0, + 12686.0, + 11911.0, + 10998.0, + 10864.0, + 10537.0, + 5722.0, + 4799.0 ], "skipped": null } }, { "classic": { - "elapsed": 5.8, - "error_count": 624, + "elapsed": 6.4, + "error_count": 202, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -15740,7 +16399,7 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -15764,19 +16423,23 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -15798,10 +16461,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -15847,50 +16506,56 @@ ], "has_log": true, "ok": true, - "score": 113985.0, + "score": 114748.0, "scores": [ - 12619.0, - 12066.0, - 10720.0, - 10968.0, - 12660.0, - 9790.0, - 10248.0, - 12501.0, - 5234.0, - 17179.0 + 11996.0, + 9827.0, + 8397.0, + 10112.0, + 10565.0, + 10854.0, + 8653.0, + 6868.0, + 17830.0, + 19646.0 ], - "selected": "adt.Ar2 1.1" + "selected": "adt.Ar2 1.0" }, - "completed_at": "2026-09-10T20:21:04Z", + "completed_at": "2026-09-27T21:20:42Z", "confirmation": null, - "delta_pct": -2.5, - "id": "9c9cc642308db14c", + "delta_pct": -1.1, + "id": "312502d27702c2f9", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" } }, - "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "55a3c30" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -15948,10 +16613,6 @@ "jar": "adt.Ar1_2.1.jar", "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" }, - { - "jar": "adt.Ar2_1.0.jar", - "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" - }, { "jar": "amk.ChumbaMini_0.2.jar", "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" @@ -15979,6 +16640,10 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -15986,50 +16651,87 @@ "width": 1000 }, "source_identity": { - "classic_selected": "adt.Ar2 1.1", + "classic_selected": "adt.Ar2 1.0", "division": "meleerumble", - "jar": "adt.Ar2_1.1.jar", - "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", - "key": "meleerumble/adt.Ar2_1.1.jar", + "jar": "adt.Ar2_1.0.jar", + "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", + "key": "meleerumble/adt.Ar2_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 32.1, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, + "elapsed": 88.2, + "error_count": 31, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, "ok": true, - "score": 111152.0, + "score": 113444.0, "scores": [ - 16569.0, - 14054.0, - 13105.0, - 12098.0, - 10912.0, - 10312.0, - 9983.0, - 8795.0, - 8122.0, - 7202.0 + 17077.0, + 14636.0, + 12839.0, + 11739.0, + 11180.0, + 10664.0, + 10047.0, + 9459.0, + 8704.0, + 7099.0 ], "skipped": null } }, { "classic": { - "elapsed": 5.8, - "error_count": 624, + "elapsed": 6.6, + "error_count": 668, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -16037,7 +16739,7 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -16061,19 +16763,25 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -16095,12 +16803,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -16144,50 +16846,56 @@ ], "has_log": true, "ok": true, - "score": 113985.0, + "score": 114360.0, "scores": [ - 12619.0, - 12066.0, - 10720.0, - 10968.0, - 12660.0, - 9790.0, - 10248.0, - 12501.0, - 5234.0, - 17179.0 + 13261.0, + 13239.0, + 7279.0, + 10164.0, + 7511.0, + 10726.0, + 10517.0, + 6794.0, + 13357.0, + 21512.0 ], - "selected": "adt.Ar2 1.1" + "selected": "adt.Ar2 1.0" }, - "completed_at": "2026-09-10T20:21:04Z", + "completed_at": "2026-09-28T22:06:19Z", "confirmation": null, - "delta_pct": -2.5, - "id": "fd1ee1c491aa2a86", + "delta_pct": -0.5, + "id": "755f52340af56ff7", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -16245,10 +16953,6 @@ "jar": "adt.Ar1_2.1.jar", "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" }, - { - "jar": "adt.Ar2_1.0.jar", - "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" - }, { "jar": "amk.ChumbaMini_0.2.jar", "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" @@ -16276,6 +16980,10 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -16283,38 +16991,66 @@ "width": 1000 }, "source_identity": { - "classic_selected": "adt.Ar2 1.1", + "classic_selected": "adt.Ar2 1.0", "division": "meleerumble", - "jar": "adt.Ar2_1.1.jar", - "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", - "key": "meleerumble/adt.Ar2_1.1.jar", + "jar": "adt.Ar2_1.0.jar", + "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", + "key": "meleerumble/adt.Ar2_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 32.1, + "elapsed": 40.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 111152.0, + "score": 113828.0, "scores": [ - 16569.0, - 14054.0, - 13105.0, - 12098.0, - 10912.0, - 10312.0, - 9983.0, - 8795.0, - 8122.0, - 7202.0 + 17086.0, + 14261.0, + 13425.0, + 12915.0, + 12676.0, + 10743.0, + 8931.0, + 8858.0, + 7554.0, + 7379.0 ], "skipped": null } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/adt.Ar2_1.1.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:33Z" }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:35Z" + } + ], + "identity": { + "classic_selected": "adt.Ar2 1.1", + "division": "meleerumble", + "jar": "adt.Ar2_1.1.jar", + "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", + "key": "meleerumble/adt.Ar2_1.1.jar", + "kind": "robot" + }, + "latest_observation": "92f2fd8d3add3770", + "observations": [ { "classic": { "elapsed": 5.8, @@ -16459,7 +17195,7 @@ "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, "delta_pct": -2.5, - "id": "7460f20076ea744b", + "id": "3fbb3068656a46bc", "manifest": { "artifacts": { "bot_api_jar": { @@ -16479,7 +17215,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", + "bridge_commit": "78d4bffda38d19b62380d721869b73c8180f86ac", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -16756,7 +17492,7 @@ "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, "delta_pct": -2.5, - "id": "b1a31739d743463f", + "id": "07c7cbce78e86434", "manifest": { "artifacts": { "bot_api_jar": { @@ -16776,7 +17512,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", + "bridge_commit": "26ffbc5f2b2b08bafd207206cd5ac48a767dddf5", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -17053,7 +17789,7 @@ "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, "delta_pct": -2.5, - "id": "9d4ff97f88569be7", + "id": "9c9cc642308db14c", "manifest": { "artifacts": { "bot_api_jar": { @@ -17073,7 +17809,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -17350,7 +18086,7 @@ "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, "delta_pct": -2.5, - "id": "541483190294be13", + "id": "fd1ee1c491aa2a86", "manifest": { "artifacts": { "bot_api_jar": { @@ -17359,7 +18095,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -17367,10 +18103,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -17647,7 +18383,7 @@ "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, "delta_pct": -2.5, - "id": "0805a19311592dc2", + "id": "7460f20076ea744b", "manifest": { "artifacts": { "bot_api_jar": { @@ -17656,7 +18392,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -17664,10 +18400,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -17944,7 +18680,7 @@ "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, "delta_pct": -2.5, - "id": "b633393d13bb8843", + "id": "b1a31739d743463f", "manifest": { "artifacts": { "bot_api_jar": { @@ -17953,7 +18689,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -17961,10 +18697,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -18096,39 +18832,11 @@ ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/agd.Mooserwirt2_2.7.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:33Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:35Z" - } - ], - "identity": { - "classic_selected": "agd.Mooserwirt2 2.7", - "division": "meleerumble", - "jar": "agd.Mooserwirt2_2.7.jar", - "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", - "key": "meleerumble/agd.Mooserwirt2_2.7.jar", - "kind": "robot" - }, - "latest_observation": "c84d1719f56ee2e7", - "observations": [ { "classic": { - "elapsed": 8.4, - "error_count": 1058, + "elapsed": 5.8, + "error_count": 624, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -18168,23 +18876,19 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -18247,29 +18951,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114404.0, + "score": 113985.0, "scores": [ - 17088.0, - 12044.0, - 12804.0, - 8872.0, - 8912.0, - 7914.0, + 12619.0, + 12066.0, + 10720.0, 10968.0, - 9879.0, - 7829.0, - 18094.0 + 12660.0, + 9790.0, + 10248.0, + 12501.0, + 5234.0, + 17179.0 ], - "selected": "agd.Mooserwirt2 2.7" + "selected": "adt.Ar2 1.1" }, - "completed_at": "2026-09-10T20:21:25Z", + "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, - "delta_pct": null, - "id": "140b0a6350b81578", + "delta_pct": -2.5, + "id": "9d4ff97f88569be7", "manifest": { "artifacts": { "bot_api_jar": { @@ -18289,7 +18997,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "78d4bffda38d19b62380d721869b73c8180f86ac", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -18390,44 +19098,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agd.Mooserwirt2 2.7", + "classic_selected": "adt.Ar2 1.1", "division": "meleerumble", - "jar": "agd.Mooserwirt2_2.7.jar", - "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", - "key": "meleerumble/agd.Mooserwirt2_2.7.jar", + "jar": "adt.Ar2_1.1.jar", + "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", + "key": "meleerumble/adt.Ar2_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.io.IOException", - "unknown" - ] - ], - "elapsed": 10.2, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.io.IOException", - "origin": "unknown" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + "bridge_only_signatures": null, + "elapsed": 32.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 111152.0, + "scores": [ + 16569.0, + 14054.0, + 13105.0, + 12098.0, + 10912.0, + 10312.0, + 9983.0, + 8795.0, + 8122.0, + 7202.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } }, { "classic": { - "elapsed": 8.4, - "error_count": 1058, + "elapsed": 5.8, + "error_count": 624, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -18467,23 +19173,19 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -18546,29 +19248,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114404.0, + "score": 113985.0, "scores": [ - 17088.0, - 12044.0, - 12804.0, - 8872.0, - 8912.0, - 7914.0, + 12619.0, + 12066.0, + 10720.0, 10968.0, - 9879.0, - 7829.0, - 18094.0 + 12660.0, + 9790.0, + 10248.0, + 12501.0, + 5234.0, + 17179.0 ], - "selected": "agd.Mooserwirt2 2.7" + "selected": "adt.Ar2 1.1" }, - "completed_at": "2026-09-10T20:21:25Z", + "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, - "delta_pct": null, - "id": "eb2556cd29da7dca", + "delta_pct": -2.5, + "id": "541483190294be13", "manifest": { "artifacts": { "bot_api_jar": { @@ -18577,7 +19283,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -18585,10 +19291,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "26ffbc5f2b2b08bafd207206cd5ac48a767dddf5", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -18689,44 +19395,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agd.Mooserwirt2 2.7", + "classic_selected": "adt.Ar2 1.1", "division": "meleerumble", - "jar": "agd.Mooserwirt2_2.7.jar", - "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", - "key": "meleerumble/agd.Mooserwirt2_2.7.jar", + "jar": "adt.Ar2_1.1.jar", + "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", + "key": "meleerumble/adt.Ar2_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.io.IOException", - "unknown" - ] - ], - "elapsed": 10.2, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.io.IOException", - "origin": "unknown" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + "bridge_only_signatures": null, + "elapsed": 32.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 111152.0, + "scores": [ + 16569.0, + 14054.0, + 13105.0, + 12098.0, + 10912.0, + 10312.0, + 9983.0, + 8795.0, + 8122.0, + 7202.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } }, { "classic": { - "elapsed": 8.4, - "error_count": 1058, + "elapsed": 5.8, + "error_count": 624, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -18766,23 +19470,19 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -18845,29 +19545,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114404.0, + "score": 113985.0, "scores": [ - 17088.0, - 12044.0, - 12804.0, - 8872.0, - 8912.0, - 7914.0, + 12619.0, + 12066.0, + 10720.0, 10968.0, - 9879.0, - 7829.0, - 18094.0 + 12660.0, + 9790.0, + 10248.0, + 12501.0, + 5234.0, + 17179.0 ], - "selected": "agd.Mooserwirt2 2.7" + "selected": "adt.Ar2 1.1" }, - "completed_at": "2026-09-10T20:21:25Z", + "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, - "delta_pct": null, - "id": "0a3f8f75b0e3477c", + "delta_pct": -2.5, + "id": "0805a19311592dc2", "manifest": { "artifacts": { "bot_api_jar": { @@ -18876,7 +19580,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -18884,10 +19588,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -18988,44 +19692,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agd.Mooserwirt2 2.7", + "classic_selected": "adt.Ar2 1.1", "division": "meleerumble", - "jar": "agd.Mooserwirt2_2.7.jar", - "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", - "key": "meleerumble/agd.Mooserwirt2_2.7.jar", + "jar": "adt.Ar2_1.1.jar", + "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", + "key": "meleerumble/adt.Ar2_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.io.IOException", - "unknown" - ] - ], - "elapsed": 10.2, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.io.IOException", - "origin": "unknown" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + "bridge_only_signatures": null, + "elapsed": 32.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 111152.0, + "scores": [ + 16569.0, + 14054.0, + 13105.0, + 12098.0, + 10912.0, + 10312.0, + 9983.0, + 8795.0, + 8122.0, + 7202.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } }, { "classic": { - "elapsed": 8.4, - "error_count": 1058, + "elapsed": 5.8, + "error_count": 624, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -19065,23 +19767,19 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -19144,29 +19842,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114404.0, + "score": 113985.0, "scores": [ - 17088.0, - 12044.0, - 12804.0, - 8872.0, - 8912.0, - 7914.0, + 12619.0, + 12066.0, + 10720.0, 10968.0, - 9879.0, - 7829.0, - 18094.0 + 12660.0, + 9790.0, + 10248.0, + 12501.0, + 5234.0, + 17179.0 ], - "selected": "agd.Mooserwirt2 2.7" + "selected": "adt.Ar2 1.1" }, - "completed_at": "2026-09-10T20:21:25Z", + "completed_at": "2026-09-10T20:21:04Z", "confirmation": null, - "delta_pct": null, - "id": "e4b62f7153a09357", + "delta_pct": -2.5, + "id": "b633393d13bb8843", "manifest": { "artifacts": { "bot_api_jar": { @@ -19175,7 +19877,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -19183,10 +19885,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -19287,52 +19989,50 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agd.Mooserwirt2 2.7", + "classic_selected": "adt.Ar2 1.1", "division": "meleerumble", - "jar": "agd.Mooserwirt2_2.7.jar", - "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", - "key": "meleerumble/agd.Mooserwirt2_2.7.jar", + "jar": "adt.Ar2_1.1.jar", + "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", + "key": "meleerumble/adt.Ar2_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.io.IOException", - "unknown" - ] - ], - "elapsed": 10.2, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.io.IOException", - "origin": "unknown" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + "bridge_only_signatures": null, + "elapsed": 32.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 111152.0, + "scores": [ + 16569.0, + 14054.0, + 13105.0, + 12098.0, + 10912.0, + 10312.0, + 9983.0, + 8795.0, + 8122.0, + 7202.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } }, { "classic": { - "elapsed": 8.4, - "error_count": 1058, + "elapsed": 5.7, + "error_count": 576, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -19340,15 +20040,11 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -19403,29 +20099,33 @@ "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -19447,50 +20147,56 @@ ], "has_log": true, "ok": true, - "score": 114404.0, + "score": 113544.0, "scores": [ - 17088.0, - 12044.0, - 12804.0, - 8872.0, - 8912.0, - 7914.0, - 10968.0, - 9879.0, - 7829.0, - 18094.0 + 14107.0, + 13437.0, + 12254.0, + 9113.0, + 11561.0, + 7373.0, + 11796.0, + 12327.0, + 6246.0, + 15330.0 ], - "selected": "agd.Mooserwirt2 2.7" + "selected": "adt.Ar2 1.1" }, - "completed_at": "2026-09-10T20:21:25Z", + "completed_at": "2026-09-27T21:21:31Z", "confirmation": null, - "delta_pct": null, - "id": "eef5b7d7bdb75225", + "delta_pct": -1.8, + "id": "ddcd6fecc1330ee4", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" } }, - "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "55a3c30" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -19586,52 +20292,87 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agd.Mooserwirt2 2.7", + "classic_selected": "adt.Ar2 1.1", "division": "meleerumble", - "jar": "agd.Mooserwirt2_2.7.jar", - "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", - "key": "meleerumble/agd.Mooserwirt2_2.7.jar", + "jar": "adt.Ar2_1.1.jar", + "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", + "key": "meleerumble/adt.Ar2_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.io.IOException", - "unknown" - ] - ], - "elapsed": 10.2, - "error_count": 2, + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 31, "error_signatures": [ { - "exception": "java.io.IOException", - "origin": "unknown" + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." ], "has_log": true, - "ok": false, - "score": null, - "scores": [], + "ok": true, + "score": 111519.0, + "scores": [ + 16278.0, + 12804.0, + 12294.0, + 12135.0, + 11713.0, + 11527.0, + 11075.0, + 9232.0, + 7244.0, + 7217.0 + ], "skipped": null } }, { "classic": { - "elapsed": 8.4, - "error_count": 1058, + "elapsed": 6.1, + "error_count": 428, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -19639,7 +20380,7 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -19746,50 +20487,56 @@ ], "has_log": true, "ok": true, - "score": 114404.0, + "score": 114266.0, "scores": [ - 17088.0, - 12044.0, - 12804.0, - 8872.0, - 8912.0, - 7914.0, - 10968.0, - 9879.0, - 7829.0, - 18094.0 + 12848.0, + 11723.0, + 13152.0, + 9838.0, + 8229.0, + 11166.0, + 9616.0, + 10583.0, + 8480.0, + 18631.0 ], - "selected": "agd.Mooserwirt2 2.7" + "selected": "adt.Ar2 1.1" }, - "completed_at": "2026-09-10T20:21:25Z", + "completed_at": "2026-09-28T22:07:09Z", "confirmation": null, - "delta_pct": null, - "id": "0907bedad4f5a9a3", + "delta_pct": -3.1, + "id": "92f2fd8d3add3770", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -19885,40 +20632,66 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agd.Mooserwirt2 2.7", + "classic_selected": "adt.Ar2 1.1", "division": "meleerumble", - "jar": "agd.Mooserwirt2_2.7.jar", - "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", - "key": "meleerumble/agd.Mooserwirt2_2.7.jar", + "jar": "adt.Ar2_1.1.jar", + "jar_sha256": "56ce37e16ebf9257b337c9ca4cc670886bd795fdc424433f1ab5eda32b7fa3a6", + "key": "meleerumble/adt.Ar2_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.io.IOException", - "unknown" - ] - ], - "elapsed": 10.2, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.io.IOException", - "origin": "unknown" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + "bridge_only_signatures": null, + "elapsed": 42.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 110713.0, + "scores": [ + 19369.0, + 12197.0, + 11450.0, + 11332.0, + 10810.0, + 10786.0, + 9797.0, + 9751.0, + 8138.0, + 7083.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/agd.Mooserwirt2_2.7.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:33Z" }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:35Z" + } + ], + "identity": { + "classic_selected": "agd.Mooserwirt2 2.7", + "division": "meleerumble", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "meleerumble/agd.Mooserwirt2_2.7.jar", + "kind": "robot" + }, + "latest_observation": "778cd898ff919dd9", + "observations": [ { "classic": { "elapsed": 8.4, @@ -20063,7 +20836,7 @@ "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, "delta_pct": null, - "id": "6578bb126f9ba3dc", + "id": "140b0a6350b81578", "manifest": { "artifacts": { "bot_api_jar": { @@ -20083,7 +20856,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "78d4bffda38d19b62380d721869b73c8180f86ac", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -20362,7 +21135,7 @@ "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, "delta_pct": null, - "id": "85f5fbe6d3aeb914", + "id": "eb2556cd29da7dca", "manifest": { "artifacts": { "bot_api_jar": { @@ -20371,7 +21144,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -20379,10 +21152,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "26ffbc5f2b2b08bafd207206cd5ac48a767dddf5", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -20661,7 +21434,7 @@ "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, "delta_pct": null, - "id": "4bf53ac9257aa94a", + "id": "0a3f8f75b0e3477c", "manifest": { "artifacts": { "bot_api_jar": { @@ -20670,7 +21443,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -20678,10 +21451,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -20960,7 +21733,7 @@ "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, "delta_pct": null, - "id": "c84d1719f56ee2e7", + "id": "e4b62f7153a09357", "manifest": { "artifacts": { "bot_api_jar": { @@ -20969,7 +21742,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -20977,10 +21750,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -21114,39 +21887,11 @@ "scores": [], "skipped": null } - } - ], - "status": "DISCREPANCY (outcome)" - }, - "meleerumble/agrach.Dalek_1.0.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:33Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:35Z" - } - ], - "identity": { - "classic_selected": "agrach.Dalek 1.0", - "division": "meleerumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "meleerumble/agrach.Dalek_1.0.jar", - "kind": "robot" - }, - "latest_observation": "dce80d1630437076", - "observations": [ { "classic": { - "elapsed": 5.9, - "error_count": 376, + "elapsed": 8.4, + "error_count": 1058, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -21196,7 +21941,9 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -21222,8 +21969,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -21269,25 +22014,25 @@ ], "has_log": true, "ok": true, - "score": 115333.0, + "score": 114404.0, "scores": [ - 9475.0, - 13397.0, - 14995.0, - 9085.0, - 9469.0, - 7885.0, - 12772.0, - 10640.0, - 7585.0, - 20030.0 + 17088.0, + 12044.0, + 12804.0, + 8872.0, + 8912.0, + 7914.0, + 10968.0, + 9879.0, + 7829.0, + 18094.0 ], - "selected": "agrach.Dalek 1.0" + "selected": "agd.Mooserwirt2 2.7" }, - "completed_at": "2026-09-10T20:22:07Z", + "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, - "delta_pct": -2.6, - "id": "0af7fbac249218f2", + "delta_pct": null, + "id": "eef5b7d7bdb75225", "manifest": { "artifacts": { "bot_api_jar": { @@ -21307,7 +22052,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "78d4bffda38d19b62380d721869b73c8180f86ac", + "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -21408,42 +22153,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "agd.Mooserwirt2 2.7", "division": "meleerumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "meleerumble/agrach.Dalek_1.0.jar", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "meleerumble/agd.Mooserwirt2_2.7.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 34.2, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112387.0, - "scores": [ - 16610.0, - 14024.0, - 13569.0, - 13479.0, - 11762.0, - 10348.0, - 8891.0, - 8189.0, - 8077.0, - 7438.0 + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] + ], + "elapsed": 10.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "unknown" + } ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 5.9, - "error_count": 376, + "elapsed": 8.4, + "error_count": 1058, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -21493,7 +22240,9 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -21519,8 +22268,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -21566,25 +22313,25 @@ ], "has_log": true, "ok": true, - "score": 115333.0, + "score": 114404.0, "scores": [ - 9475.0, - 13397.0, - 14995.0, - 9085.0, - 9469.0, - 7885.0, - 12772.0, - 10640.0, - 7585.0, - 20030.0 + 17088.0, + 12044.0, + 12804.0, + 8872.0, + 8912.0, + 7914.0, + 10968.0, + 9879.0, + 7829.0, + 18094.0 ], - "selected": "agrach.Dalek 1.0" + "selected": "agd.Mooserwirt2 2.7" }, - "completed_at": "2026-09-10T20:22:07Z", + "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, - "delta_pct": -2.6, - "id": "0cb9b8920b678694", + "delta_pct": null, + "id": "0907bedad4f5a9a3", "manifest": { "artifacts": { "bot_api_jar": { @@ -21604,7 +22351,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "26ffbc5f2b2b08bafd207206cd5ac48a767dddf5", + "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -21705,42 +22452,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "agd.Mooserwirt2 2.7", "division": "meleerumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "meleerumble/agrach.Dalek_1.0.jar", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "meleerumble/agd.Mooserwirt2_2.7.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 34.2, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112387.0, - "scores": [ - 16610.0, - 14024.0, - 13569.0, - 13479.0, - 11762.0, - 10348.0, - 8891.0, - 8189.0, - 8077.0, - 7438.0 + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] ], + "elapsed": 10.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 5.9, - "error_count": 376, + "elapsed": 8.4, + "error_count": 1058, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -21790,7 +22539,9 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -21816,8 +22567,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -21863,25 +22612,25 @@ ], "has_log": true, "ok": true, - "score": 115333.0, + "score": 114404.0, "scores": [ - 9475.0, - 13397.0, - 14995.0, - 9085.0, - 9469.0, - 7885.0, - 12772.0, - 10640.0, - 7585.0, - 20030.0 + 17088.0, + 12044.0, + 12804.0, + 8872.0, + 8912.0, + 7914.0, + 10968.0, + 9879.0, + 7829.0, + 18094.0 ], - "selected": "agrach.Dalek 1.0" + "selected": "agd.Mooserwirt2 2.7" }, - "completed_at": "2026-09-10T20:22:07Z", + "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, - "delta_pct": -2.6, - "id": "297dbe1bd60cd0a3", + "delta_pct": null, + "id": "6578bb126f9ba3dc", "manifest": { "artifacts": { "bot_api_jar": { @@ -21901,7 +22650,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -22002,42 +22751,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "agd.Mooserwirt2 2.7", "division": "meleerumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "meleerumble/agrach.Dalek_1.0.jar", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "meleerumble/agd.Mooserwirt2_2.7.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 34.2, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112387.0, - "scores": [ - 16610.0, - 14024.0, - 13569.0, - 13479.0, - 11762.0, - 10348.0, - 8891.0, - 8189.0, - 8077.0, - 7438.0 + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] + ], + "elapsed": 10.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "unknown" + } ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 5.9, - "error_count": 376, + "elapsed": 8.4, + "error_count": 1058, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -22087,7 +22838,9 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -22113,8 +22866,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -22160,25 +22911,25 @@ ], "has_log": true, "ok": true, - "score": 115333.0, + "score": 114404.0, "scores": [ - 9475.0, - 13397.0, - 14995.0, - 9085.0, - 9469.0, - 7885.0, - 12772.0, - 10640.0, - 7585.0, - 20030.0 + 17088.0, + 12044.0, + 12804.0, + 8872.0, + 8912.0, + 7914.0, + 10968.0, + 9879.0, + 7829.0, + 18094.0 ], - "selected": "agrach.Dalek 1.0" + "selected": "agd.Mooserwirt2 2.7" }, - "completed_at": "2026-09-10T20:22:07Z", + "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, - "delta_pct": -2.6, - "id": "542389ba56ce3289", + "delta_pct": null, + "id": "85f5fbe6d3aeb914", "manifest": { "artifacts": { "bot_api_jar": { @@ -22187,7 +22938,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -22195,10 +22946,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -22299,42 +23050,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "agd.Mooserwirt2 2.7", "division": "meleerumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "meleerumble/agrach.Dalek_1.0.jar", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "meleerumble/agd.Mooserwirt2_2.7.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 34.2, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112387.0, - "scores": [ - 16610.0, - 14024.0, - 13569.0, - 13479.0, - 11762.0, - 10348.0, - 8891.0, - 8189.0, - 8077.0, - 7438.0 + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] + ], + "elapsed": 10.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 5.9, - "error_count": 376, + "elapsed": 8.4, + "error_count": 1058, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -22384,7 +23137,9 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -22410,8 +23165,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -22457,25 +23210,25 @@ ], "has_log": true, "ok": true, - "score": 115333.0, + "score": 114404.0, "scores": [ - 9475.0, - 13397.0, - 14995.0, - 9085.0, - 9469.0, - 7885.0, - 12772.0, - 10640.0, - 7585.0, - 20030.0 + 17088.0, + 12044.0, + 12804.0, + 8872.0, + 8912.0, + 7914.0, + 10968.0, + 9879.0, + 7829.0, + 18094.0 ], - "selected": "agrach.Dalek 1.0" + "selected": "agd.Mooserwirt2 2.7" }, - "completed_at": "2026-09-10T20:22:07Z", + "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, - "delta_pct": -2.6, - "id": "71fac4e736d00d6a", + "delta_pct": null, + "id": "4bf53ac9257aa94a", "manifest": { "artifacts": { "bot_api_jar": { @@ -22484,7 +23237,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -22492,10 +23245,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -22596,42 +23349,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "agd.Mooserwirt2 2.7", "division": "meleerumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "meleerumble/agrach.Dalek_1.0.jar", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "meleerumble/agd.Mooserwirt2_2.7.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 34.2, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112387.0, - "scores": [ - 16610.0, - 14024.0, - 13569.0, - 13479.0, - 11762.0, - 10348.0, - 8891.0, - 8189.0, - 8077.0, - 7438.0 + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] ], + "elapsed": 10.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 5.9, - "error_count": 376, + "elapsed": 8.4, + "error_count": 1058, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -22681,7 +23436,9 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -22707,8 +23464,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -22754,25 +23509,25 @@ ], "has_log": true, "ok": true, - "score": 115333.0, + "score": 114404.0, "scores": [ - 9475.0, - 13397.0, - 14995.0, - 9085.0, - 9469.0, - 7885.0, - 12772.0, - 10640.0, - 7585.0, - 20030.0 + 17088.0, + 12044.0, + 12804.0, + 8872.0, + 8912.0, + 7914.0, + 10968.0, + 9879.0, + 7829.0, + 18094.0 ], - "selected": "agrach.Dalek 1.0" + "selected": "agd.Mooserwirt2 2.7" }, - "completed_at": "2026-09-10T20:22:07Z", + "completed_at": "2026-09-10T20:21:25Z", "confirmation": null, - "delta_pct": -2.6, - "id": "f470feb030782f0b", + "delta_pct": null, + "id": "c84d1719f56ee2e7", "manifest": { "artifacts": { "bot_api_jar": { @@ -22781,7 +23536,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -22789,10 +23544,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -22893,58 +23648,56 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "agd.Mooserwirt2 2.7", "division": "meleerumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "meleerumble/agrach.Dalek_1.0.jar", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "meleerumble/agd.Mooserwirt2_2.7.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 34.2, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112387.0, - "scores": [ - 16610.0, - 14024.0, - 13569.0, - 13479.0, - 11762.0, - 10348.0, - 8891.0, - 8189.0, - 8077.0, - 7438.0 + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] ], + "elapsed": 10.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 5.9, - "error_count": 376, + "elapsed": 7.9, + "error_count": 370, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" - }, - { - "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "unknown" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -22978,7 +23731,11 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -23004,10 +23761,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -23051,50 +23804,56 @@ ], "has_log": true, "ok": true, - "score": 115333.0, + "score": 114764.0, "scores": [ - 9475.0, - 13397.0, - 14995.0, - 9085.0, - 9469.0, - 7885.0, - 12772.0, - 10640.0, - 7585.0, - 20030.0 + 20832.0, + 10761.0, + 14078.0, + 8713.0, + 10080.0, + 8730.0, + 10497.0, + 8609.0, + 6523.0, + 15941.0 ], - "selected": "agrach.Dalek 1.0" + "selected": "agd.Mooserwirt2 2.7" }, - "completed_at": "2026-09-10T20:22:07Z", + "completed_at": "2026-09-27T21:21:53Z", "confirmation": null, - "delta_pct": -2.6, - "id": "6623009703a407b4", + "delta_pct": null, + "id": "e07dd1791ceb7844", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "55a3c30" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -23190,50 +23949,58 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "agd.Mooserwirt2 2.7", "division": "meleerumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "meleerumble/agrach.Dalek_1.0.jar", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "meleerumble/agd.Mooserwirt2_2.7.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 34.2, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112387.0, - "scores": [ - 16610.0, - 14024.0, - 13569.0, - 13479.0, - 11762.0, - 10348.0, - 8891.0, - 8189.0, - 8077.0, - 7438.0 + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] ], + "elapsed": 12.2, + "error_count": 4, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 5.9, - "error_count": 376, + "elapsed": 8.8, + "error_count": 610, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -23241,7 +24008,7 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -23265,6 +24032,8 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -23275,7 +24044,9 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -23301,10 +24072,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -23348,50 +24115,56 @@ ], "has_log": true, "ok": true, - "score": 115333.0, + "score": 113878.0, "scores": [ - 9475.0, - 13397.0, - 14995.0, - 9085.0, - 9469.0, - 7885.0, - 12772.0, - 10640.0, - 7585.0, - 20030.0 + 20790.0, + 11302.0, + 11823.0, + 8042.0, + 9693.0, + 8522.0, + 11203.0, + 10413.0, + 7460.0, + 14630.0 ], - "selected": "agrach.Dalek 1.0" + "selected": "agd.Mooserwirt2 2.7" }, - "completed_at": "2026-09-10T20:22:07Z", + "completed_at": "2026-09-28T22:08:03Z", "confirmation": null, - "delta_pct": -2.6, - "id": "921e2dadcdc3d4c7", + "delta_pct": 0.3, + "id": "778cd898ff919dd9", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -23487,38 +24260,66 @@ "width": 1000 }, "source_identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "agd.Mooserwirt2 2.7", "division": "meleerumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "meleerumble/agrach.Dalek_1.0.jar", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "meleerumble/agd.Mooserwirt2_2.7.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 34.2, + "elapsed": 42.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112387.0, + "score": 114223.0, "scores": [ - 16610.0, - 14024.0, - 13569.0, - 13479.0, - 11762.0, - 10348.0, - 8891.0, - 8189.0, - 8077.0, - 7438.0 + 17521.0, + 16000.0, + 13387.0, + 13224.0, + 12609.0, + 10238.0, + 8759.0, + 8221.0, + 7422.0, + 6842.0 ], "skipped": null } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/agrach.Dalek_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:33Z" }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:35Z" + } + ], + "identity": { + "classic_selected": "agrach.Dalek 1.0", + "division": "meleerumble", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", + "kind": "robot" + }, + "latest_observation": "0ae3ca92b917360a", + "observations": [ { "classic": { "elapsed": 5.9, @@ -23663,7 +24464,7 @@ "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, "delta_pct": -2.6, - "id": "653e01e30fcd1919", + "id": "0af7fbac249218f2", "manifest": { "artifacts": { "bot_api_jar": { @@ -23672,7 +24473,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -23680,10 +24481,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "78d4bffda38d19b62380d721869b73c8180f86ac", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -23960,7 +24761,7 @@ "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, "delta_pct": -2.6, - "id": "dce80d1630437076", + "id": "0cb9b8920b678694", "manifest": { "artifacts": { "bot_api_jar": { @@ -23969,7 +24770,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -23977,10 +24778,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "26ffbc5f2b2b08bafd207206cd5ac48a767dddf5", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -24112,39 +24913,11 @@ ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/ags.Glacier_0.2.11.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:33Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:35Z" - } - ], - "identity": { - "classic_selected": "ags.Glacier 0.2.11", - "division": "meleerumble", - "jar": "ags.Glacier_0.2.11.jar", - "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", - "key": "meleerumble/ags.Glacier_0.2.11.jar", - "kind": "robot" - }, - "latest_observation": "5937e5feeac76b35", - "observations": [ { "classic": { - "elapsed": 11.4, - "error_count": 266, + "elapsed": 5.9, + "error_count": 376, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -24168,8 +24941,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -24196,9 +24967,7 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -24263,29 +25032,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114144.0, + "score": 115333.0, "scores": [ - 24433.0, - 8802.0, - 10885.0, - 10880.0, - 9531.0, - 8482.0, - 8458.0, - 11499.0, - 6458.0, - 14716.0 + 9475.0, + 13397.0, + 14995.0, + 9085.0, + 9469.0, + 7885.0, + 12772.0, + 10640.0, + 7585.0, + 20030.0 ], - "selected": "ags.Glacier 0.2.11" + "selected": "agrach.Dalek 1.0" }, - "completed_at": "2026-09-10T20:40:23Z", + "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, - "delta_pct": -2.2, - "id": "14ec6a817e5ff3c2", + "delta_pct": -2.6, + "id": "297dbe1bd60cd0a3", "manifest": { "artifacts": { "bot_api_jar": { @@ -24305,7 +25078,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -24406,42 +25179,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ags.Glacier 0.2.11", + "classic_selected": "agrach.Dalek 1.0", "division": "meleerumble", - "jar": "ags.Glacier_0.2.11.jar", - "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", - "key": "meleerumble/ags.Glacier_0.2.11.jar", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 30.1, + "elapsed": 34.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 111655.0, + "score": 112387.0, "scores": [ - 16632.0, - 14414.0, - 12054.0, - 12010.0, - 11847.0, - 11159.0, - 10633.0, - 10284.0, - 8026.0, - 4596.0 + 16610.0, + 14024.0, + 13569.0, + 13479.0, + 11762.0, + 10348.0, + 8891.0, + 8189.0, + 8077.0, + 7438.0 ], "skipped": null } }, { "classic": { - "elapsed": 11.4, - "error_count": 266, + "elapsed": 5.9, + "error_count": 376, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -24465,10 +25238,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -24495,7 +25264,7 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -24560,29 +25329,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114144.0, + "score": 115333.0, "scores": [ - 24433.0, - 8802.0, - 10885.0, - 10880.0, - 9531.0, - 8482.0, - 8458.0, - 11499.0, - 6458.0, - 14716.0 + 9475.0, + 13397.0, + 14995.0, + 9085.0, + 9469.0, + 7885.0, + 12772.0, + 10640.0, + 7585.0, + 20030.0 ], - "selected": "ags.Glacier 0.2.11" + "selected": "agrach.Dalek 1.0" }, - "completed_at": "2026-09-10T20:40:23Z", + "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, - "delta_pct": -2.2, - "id": "a0e165224e348075", + "delta_pct": -2.6, + "id": "542389ba56ce3289", "manifest": { "artifacts": { "bot_api_jar": { @@ -24591,7 +25364,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -24599,10 +25372,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -24703,42 +25476,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ags.Glacier 0.2.11", + "classic_selected": "agrach.Dalek 1.0", "division": "meleerumble", - "jar": "ags.Glacier_0.2.11.jar", - "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", - "key": "meleerumble/ags.Glacier_0.2.11.jar", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 30.1, + "elapsed": 34.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 111655.0, + "score": 112387.0, "scores": [ - 16632.0, - 14414.0, - 12054.0, - 12010.0, - 11847.0, - 11159.0, - 10633.0, - 10284.0, - 8026.0, - 4596.0 + 16610.0, + 14024.0, + 13569.0, + 13479.0, + 11762.0, + 10348.0, + 8891.0, + 8189.0, + 8077.0, + 7438.0 ], "skipped": null } }, { "classic": { - "elapsed": 11.4, - "error_count": 266, + "elapsed": 5.9, + "error_count": 376, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -24762,8 +25535,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -24790,9 +25561,7 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -24857,29 +25626,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114144.0, + "score": 115333.0, "scores": [ - 24433.0, - 8802.0, - 10885.0, - 10880.0, - 9531.0, - 8482.0, - 8458.0, - 11499.0, - 6458.0, - 14716.0 + 9475.0, + 13397.0, + 14995.0, + 9085.0, + 9469.0, + 7885.0, + 12772.0, + 10640.0, + 7585.0, + 20030.0 ], - "selected": "ags.Glacier 0.2.11" + "selected": "agrach.Dalek 1.0" }, - "completed_at": "2026-09-10T20:40:23Z", + "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, - "delta_pct": -2.2, - "id": "2ae6ef8670bc5aae", + "delta_pct": -2.6, + "id": "71fac4e736d00d6a", "manifest": { "artifacts": { "bot_api_jar": { @@ -24888,7 +25661,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -24896,10 +25669,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -25000,42 +25773,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ags.Glacier 0.2.11", + "classic_selected": "agrach.Dalek 1.0", "division": "meleerumble", - "jar": "ags.Glacier_0.2.11.jar", - "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", - "key": "meleerumble/ags.Glacier_0.2.11.jar", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 30.1, + "elapsed": 34.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 111655.0, + "score": 112387.0, "scores": [ - 16632.0, - 14414.0, - 12054.0, - 12010.0, - 11847.0, - 11159.0, - 10633.0, - 10284.0, - 8026.0, - 4596.0 + 16610.0, + 14024.0, + 13569.0, + 13479.0, + 11762.0, + 10348.0, + 8891.0, + 8189.0, + 8077.0, + 7438.0 ], "skipped": null } }, { "classic": { - "elapsed": 11.4, - "error_count": 266, + "elapsed": 5.9, + "error_count": 376, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -25059,10 +25832,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -25089,7 +25858,7 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -25154,29 +25923,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114144.0, + "score": 115333.0, "scores": [ - 24433.0, - 8802.0, - 10885.0, - 10880.0, - 9531.0, - 8482.0, - 8458.0, - 11499.0, - 6458.0, - 14716.0 + 9475.0, + 13397.0, + 14995.0, + 9085.0, + 9469.0, + 7885.0, + 12772.0, + 10640.0, + 7585.0, + 20030.0 ], - "selected": "ags.Glacier 0.2.11" + "selected": "agrach.Dalek 1.0" }, - "completed_at": "2026-09-10T20:40:23Z", + "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, - "delta_pct": -2.2, - "id": "5937e5feeac76b35", + "delta_pct": -2.6, + "id": "f470feb030782f0b", "manifest": { "artifacts": { "bot_api_jar": { @@ -25185,7 +25958,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -25193,10 +25966,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -25297,70 +26070,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ags.Glacier 0.2.11", + "classic_selected": "agrach.Dalek 1.0", "division": "meleerumble", - "jar": "ags.Glacier_0.2.11.jar", - "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", - "key": "meleerumble/ags.Glacier_0.2.11.jar", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 30.1, + "elapsed": 34.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 111655.0, + "score": 112387.0, "scores": [ - 16632.0, - 14414.0, - 12054.0, - 12010.0, - 11847.0, - 11159.0, - 10633.0, - 10284.0, - 8026.0, - 4596.0 + 16610.0, + 14024.0, + 13569.0, + 13479.0, + 11762.0, + 10348.0, + 8891.0, + 8189.0, + 8077.0, + 7438.0 ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:33Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:35Z" - } - ], - "identity": { - "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", - "division": "meleerumble", - "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", - "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", - "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", - "kind": "robot" - }, - "latest_observation": "8ed34fb1a31e5429", - "observations": [ { "classic": { - "elapsed": 14.9, - "error_count": 232, + "elapsed": 5.9, + "error_count": 376, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -25410,11 +26155,7 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -25479,29 +26220,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 113431.0, + "score": 115333.0, "scores": [ - 17570.0, - 11327.0, - 14632.0, - 7563.0, - 9073.0, - 8952.0, - 10413.0, - 9641.0, - 7755.0, - 16505.0 + 9475.0, + 13397.0, + 14995.0, + 9085.0, + 9469.0, + 7885.0, + 12772.0, + 10640.0, + 7585.0, + 20030.0 ], - "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" + "selected": "agrach.Dalek 1.0" }, - "completed_at": "2026-09-10T20:40:47Z", + "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, - "delta_pct": null, - "id": "8ae3e2121ec9ade9", + "delta_pct": -2.6, + "id": "6623009703a407b4", "manifest": { "artifacts": { "bot_api_jar": { @@ -25622,44 +26367,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", + "classic_selected": "agrach.Dalek 1.0", "division": "meleerumble", - "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", - "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", - "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.lang.NullPointerException", - "ags.surreptitious.MiniSurreptitious.move" - ] - ], - "elapsed": 6.3, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.lang.NullPointerException", - "origin": "ags.surreptitious.MiniSurreptitious.move" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"ags.util.points.AbsolutePoint.addRelativePoint(ags.util.points.RelativePoint)\" because \"this.status.location\" is null" + "bridge_only_signatures": null, + "elapsed": 34.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112387.0, + "scores": [ + 16610.0, + 14024.0, + 13569.0, + 13479.0, + 11762.0, + 10348.0, + 8891.0, + 8189.0, + 8077.0, + 7438.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } }, { "classic": { - "elapsed": 14.9, - "error_count": 232, + "elapsed": 5.9, + "error_count": 376, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -25709,11 +26452,7 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -25778,29 +26517,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 113431.0, + "score": 115333.0, "scores": [ - 17570.0, - 11327.0, - 14632.0, - 7563.0, - 9073.0, - 8952.0, - 10413.0, - 9641.0, - 7755.0, - 16505.0 + 9475.0, + 13397.0, + 14995.0, + 9085.0, + 9469.0, + 7885.0, + 12772.0, + 10640.0, + 7585.0, + 20030.0 ], - "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" + "selected": "agrach.Dalek 1.0" }, - "completed_at": "2026-09-10T20:40:47Z", + "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, - "delta_pct": null, - "id": "583fdd51a9a802f8", + "delta_pct": -2.6, + "id": "921e2dadcdc3d4c7", "manifest": { "artifacts": { "bot_api_jar": { @@ -25921,44 +26664,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", + "classic_selected": "agrach.Dalek 1.0", "division": "meleerumble", - "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", - "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", - "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.lang.NullPointerException", - "ags.surreptitious.MiniSurreptitious.move" - ] - ], - "elapsed": 6.3, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.lang.NullPointerException", - "origin": "ags.surreptitious.MiniSurreptitious.move" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"ags.util.points.AbsolutePoint.addRelativePoint(ags.util.points.RelativePoint)\" because \"this.status.location\" is null" + "bridge_only_signatures": null, + "elapsed": 34.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112387.0, + "scores": [ + 16610.0, + 14024.0, + 13569.0, + 13479.0, + 11762.0, + 10348.0, + 8891.0, + 8189.0, + 8077.0, + 7438.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } }, { "classic": { - "elapsed": 14.9, - "error_count": 232, + "elapsed": 5.9, + "error_count": 376, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -26008,11 +26749,7 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -26077,29 +26814,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 113431.0, + "score": 115333.0, "scores": [ - 17570.0, - 11327.0, - 14632.0, - 7563.0, - 9073.0, - 8952.0, - 10413.0, - 9641.0, - 7755.0, - 16505.0 + 9475.0, + 13397.0, + 14995.0, + 9085.0, + 9469.0, + 7885.0, + 12772.0, + 10640.0, + 7585.0, + 20030.0 ], - "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" + "selected": "agrach.Dalek 1.0" }, - "completed_at": "2026-09-10T20:40:47Z", + "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, - "delta_pct": null, - "id": "157f4226a7dfef84", + "delta_pct": -2.6, + "id": "653e01e30fcd1919", "manifest": { "artifacts": { "bot_api_jar": { @@ -26220,44 +26961,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", + "classic_selected": "agrach.Dalek 1.0", "division": "meleerumble", - "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", - "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", - "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.lang.NullPointerException", - "ags.surreptitious.MiniSurreptitious.move" - ] - ], - "elapsed": 6.3, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.lang.NullPointerException", - "origin": "ags.surreptitious.MiniSurreptitious.move" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"ags.util.points.AbsolutePoint.addRelativePoint(ags.util.points.RelativePoint)\" because \"this.status.location\" is null" + "bridge_only_signatures": null, + "elapsed": 34.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112387.0, + "scores": [ + 16610.0, + 14024.0, + 13569.0, + 13479.0, + 11762.0, + 10348.0, + 8891.0, + 8189.0, + 8077.0, + 7438.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } }, { "classic": { - "elapsed": 14.9, - "error_count": 232, + "elapsed": 5.9, + "error_count": 376, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -26307,11 +27046,7 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -26376,29 +27111,33 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 113431.0, + "score": 115333.0, "scores": [ - 17570.0, - 11327.0, - 14632.0, - 7563.0, - 9073.0, - 8952.0, - 10413.0, - 9641.0, - 7755.0, - 16505.0 + 9475.0, + 13397.0, + 14995.0, + 9085.0, + 9469.0, + 7885.0, + 12772.0, + 10640.0, + 7585.0, + 20030.0 ], - "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" + "selected": "agrach.Dalek 1.0" }, - "completed_at": "2026-09-10T20:40:47Z", + "completed_at": "2026-09-10T20:22:07Z", "confirmation": null, - "delta_pct": null, - "id": "8ed34fb1a31e5429", + "delta_pct": -2.6, + "id": "dce80d1630437076", "manifest": { "artifacts": { "bot_api_jar": { @@ -26519,80 +27258,50 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", + "classic_selected": "agrach.Dalek 1.0", "division": "meleerumble", - "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", - "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", - "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.lang.NullPointerException", - "ags.surreptitious.MiniSurreptitious.move" - ] - ], - "elapsed": 6.3, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.lang.NullPointerException", - "origin": "ags.surreptitious.MiniSurreptitious.move" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"ags.util.points.AbsolutePoint.addRelativePoint(ags.util.points.RelativePoint)\" because \"this.status.location\" is null" + "bridge_only_signatures": null, + "elapsed": 34.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112387.0, + "scores": [ + 16610.0, + 14024.0, + 13569.0, + 13479.0, + 11762.0, + 10348.0, + 8891.0, + 8189.0, + 8077.0, + 7438.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } - } - ], - "status": "DISCREPANCY (outcome)" - }, - "meleerumble/ahf.NanoAndrew_.4.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:33Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:36Z" - } - ], - "identity": { - "classic_selected": "ahf.NanoAndrew .4", - "division": "meleerumble", - "jar": "ahf.NanoAndrew_.4.jar", - "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", - "key": "meleerumble/ahf.NanoAndrew_.4.jar", - "kind": "robot" - }, - "latest_observation": "9b2cae1a592bd2c7", - "observations": [ { "classic": { - "elapsed": 5.6, - "error_count": 650, + "elapsed": 5.9, + "error_count": 490, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -26600,10 +27309,16 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -26658,12 +27373,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -26707,50 +27416,56 @@ ], "has_log": true, "ok": true, - "score": 115682.0, + "score": 115169.0, "scores": [ - 15835.0, - 9401.0, - 13913.0, - 8952.0, - 13351.0, - 8700.0, - 12941.0, - 11164.0, - 6562.0, - 14863.0 + 12604.0, + 15341.0, + 13787.0, + 8575.0, + 10416.0, + 8956.0, + 11401.0, + 10788.0, + 6227.0, + 17074.0 ], - "selected": "ahf.NanoAndrew .4" + "selected": "agrach.Dalek 1.0" }, - "completed_at": "2026-09-10T20:41:31Z", + "completed_at": "2026-09-28T22:08:53Z", "confirmation": null, - "delta_pct": -2.6, - "id": "88d8a12982546c70", + "delta_pct": -2.2, + "id": "0ae3ca92b917360a", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -26846,42 +27561,70 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ahf.NanoAndrew .4", + "classic_selected": "agrach.Dalek 1.0", "division": "meleerumble", - "jar": "ahf.NanoAndrew_.4.jar", - "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", - "key": "meleerumble/ahf.NanoAndrew_.4.jar", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "meleerumble/agrach.Dalek_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 36.1, + "elapsed": 42.3, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112631.0, + "score": 112677.0, "scores": [ - 16302.0, - 14710.0, - 12956.0, - 12889.0, - 11637.0, - 9974.0, - 9884.0, - 8949.0, - 8207.0, - 7123.0 + 18875.0, + 15458.0, + 12561.0, + 12018.0, + 10541.0, + 9668.0, + 9474.0, + 9357.0, + 7455.0, + 7270.0 ], "skipped": null } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/ags.Glacier_0.2.11.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:33Z" }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:35Z" + } + ], + "identity": { + "classic_selected": "ags.Glacier 0.2.11", + "division": "meleerumble", + "jar": "ags.Glacier_0.2.11.jar", + "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", + "key": "meleerumble/ags.Glacier_0.2.11.jar", + "kind": "robot" + }, + "latest_observation": "9e12c9052df5dcdf", + "observations": [ { "classic": { - "elapsed": 5.6, - "error_count": 650, + "elapsed": 11.4, + "error_count": 266, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -26901,6 +27644,12 @@ } ], "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -26955,12 +27704,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -27004,25 +27747,25 @@ ], "has_log": true, "ok": true, - "score": 115682.0, + "score": 114144.0, "scores": [ - 15835.0, - 9401.0, - 13913.0, - 8952.0, - 13351.0, - 8700.0, - 12941.0, - 11164.0, - 6562.0, - 14863.0 + 24433.0, + 8802.0, + 10885.0, + 10880.0, + 9531.0, + 8482.0, + 8458.0, + 11499.0, + 6458.0, + 14716.0 ], - "selected": "ahf.NanoAndrew .4" + "selected": "ags.Glacier 0.2.11" }, - "completed_at": "2026-09-10T20:41:31Z", + "completed_at": "2026-09-10T20:40:23Z", "confirmation": null, - "delta_pct": -2.6, - "id": "8f83d14d67e72c0f", + "delta_pct": -2.2, + "id": "14ec6a817e5ff3c2", "manifest": { "artifacts": { "bot_api_jar": { @@ -27031,7 +27774,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -27039,10 +27782,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -27143,42 +27886,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ahf.NanoAndrew .4", + "classic_selected": "ags.Glacier 0.2.11", "division": "meleerumble", - "jar": "ahf.NanoAndrew_.4.jar", - "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", - "key": "meleerumble/ahf.NanoAndrew_.4.jar", + "jar": "ags.Glacier_0.2.11.jar", + "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", + "key": "meleerumble/ags.Glacier_0.2.11.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 36.1, + "elapsed": 30.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112631.0, + "score": 111655.0, "scores": [ - 16302.0, - 14710.0, - 12956.0, - 12889.0, - 11637.0, - 9974.0, - 9884.0, - 8949.0, - 8207.0, - 7123.0 + 16632.0, + 14414.0, + 12054.0, + 12010.0, + 11847.0, + 11159.0, + 10633.0, + 10284.0, + 8026.0, + 4596.0 ], "skipped": null } }, { "classic": { - "elapsed": 5.6, - "error_count": 650, + "elapsed": 11.4, + "error_count": 266, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -27198,6 +27941,12 @@ } ], "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -27252,12 +28001,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -27301,25 +28044,25 @@ ], "has_log": true, "ok": true, - "score": 115682.0, + "score": 114144.0, "scores": [ - 15835.0, - 9401.0, - 13913.0, - 8952.0, - 13351.0, - 8700.0, - 12941.0, - 11164.0, - 6562.0, - 14863.0 + 24433.0, + 8802.0, + 10885.0, + 10880.0, + 9531.0, + 8482.0, + 8458.0, + 11499.0, + 6458.0, + 14716.0 ], - "selected": "ahf.NanoAndrew .4" + "selected": "ags.Glacier 0.2.11" }, - "completed_at": "2026-09-10T20:41:31Z", + "completed_at": "2026-09-10T20:40:23Z", "confirmation": null, - "delta_pct": -2.6, - "id": "9825253b2a07e3b9", + "delta_pct": -2.2, + "id": "a0e165224e348075", "manifest": { "artifacts": { "bot_api_jar": { @@ -27339,7 +28082,7 @@ "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -27440,42 +28183,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ahf.NanoAndrew .4", + "classic_selected": "ags.Glacier 0.2.11", "division": "meleerumble", - "jar": "ahf.NanoAndrew_.4.jar", - "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", - "key": "meleerumble/ahf.NanoAndrew_.4.jar", + "jar": "ags.Glacier_0.2.11.jar", + "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", + "key": "meleerumble/ags.Glacier_0.2.11.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 36.1, + "elapsed": 30.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112631.0, + "score": 111655.0, "scores": [ - 16302.0, - 14710.0, - 12956.0, - 12889.0, - 11637.0, - 9974.0, - 9884.0, - 8949.0, - 8207.0, - 7123.0 + 16632.0, + 14414.0, + 12054.0, + 12010.0, + 11847.0, + 11159.0, + 10633.0, + 10284.0, + 8026.0, + 4596.0 ], "skipped": null } }, { "classic": { - "elapsed": 5.6, - "error_count": 650, + "elapsed": 11.4, + "error_count": 266, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -27495,6 +28238,12 @@ } ], "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -27549,12 +28298,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -27598,25 +28341,25 @@ ], "has_log": true, "ok": true, - "score": 115682.0, + "score": 114144.0, "scores": [ - 15835.0, - 9401.0, - 13913.0, - 8952.0, - 13351.0, - 8700.0, - 12941.0, - 11164.0, - 6562.0, - 14863.0 + 24433.0, + 8802.0, + 10885.0, + 10880.0, + 9531.0, + 8482.0, + 8458.0, + 11499.0, + 6458.0, + 14716.0 ], - "selected": "ahf.NanoAndrew .4" + "selected": "ags.Glacier 0.2.11" }, - "completed_at": "2026-09-10T20:41:31Z", + "completed_at": "2026-09-10T20:40:23Z", "confirmation": null, - "delta_pct": -2.6, - "id": "9b2cae1a592bd2c7", + "delta_pct": -2.2, + "id": "2ae6ef8670bc5aae", "manifest": { "artifacts": { "bot_api_jar": { @@ -27625,7 +28368,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -27633,10 +28376,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -27737,70 +28480,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ahf.NanoAndrew .4", + "classic_selected": "ags.Glacier 0.2.11", "division": "meleerumble", - "jar": "ahf.NanoAndrew_.4.jar", - "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", - "key": "meleerumble/ahf.NanoAndrew_.4.jar", + "jar": "ags.Glacier_0.2.11.jar", + "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", + "key": "meleerumble/ags.Glacier_0.2.11.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 36.1, + "elapsed": 30.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112631.0, + "score": 111655.0, "scores": [ - 16302.0, - 14710.0, - 12956.0, - 12889.0, - 11637.0, - 9974.0, - 9884.0, - 8949.0, - 8207.0, - 7123.0 + 16632.0, + 14414.0, + 12054.0, + 12010.0, + 11847.0, + 11159.0, + 10633.0, + 10284.0, + 8026.0, + 4596.0 ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/ahr.ice.Ice_1.0.2.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:33Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:36Z" - } - ], - "identity": { - "classic_selected": "ahr.ice.Ice 1.0.2", - "division": "meleerumble", - "jar": "ahr.ice.Ice_1.0.2.jar", - "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", - "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", - "kind": "robot" - }, - "latest_observation": "1b4cd1e42e4e657f", - "observations": [ { "classic": { - "elapsed": 7.3, - "error_count": 366, + "elapsed": 11.4, + "error_count": 266, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -27810,6 +28525,10 @@ "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, { "exception": "java.lang.SecurityException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" @@ -27820,6 +28539,10 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", @@ -27872,10 +28595,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -27919,25 +28638,25 @@ ], "has_log": true, "ok": true, - "score": 113937.0, + "score": 114144.0, "scores": [ - 10499.0, - 13115.0, - 15605.0, - 9026.0, - 11240.0, - 9306.0, - 11248.0, - 11836.0, - 6321.0, - 15741.0 + 24433.0, + 8802.0, + 10885.0, + 10880.0, + 9531.0, + 8482.0, + 8458.0, + 11499.0, + 6458.0, + 14716.0 ], - "selected": "ahr.ice.Ice 1.0.2" + "selected": "ags.Glacier 0.2.11" }, - "completed_at": "2026-09-10T20:42:12Z", + "completed_at": "2026-09-10T20:40:23Z", "confirmation": null, - "delta_pct": -0.8, - "id": "7a578bc8dbcedd62", + "delta_pct": -2.2, + "id": "5937e5feeac76b35", "manifest": { "artifacts": { "bot_api_jar": { @@ -27946,7 +28665,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -27954,10 +28673,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -28058,54 +28777,58 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ahr.ice.Ice 1.0.2", + "classic_selected": "ags.Glacier 0.2.11", "division": "meleerumble", - "jar": "ahr.ice.Ice_1.0.2.jar", - "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", - "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", + "jar": "ags.Glacier_0.2.11.jar", + "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", + "key": "meleerumble/ags.Glacier_0.2.11.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 32.1, + "elapsed": 30.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113074.0, + "score": 111655.0, "scores": [ - 19184.0, - 14803.0, - 13451.0, - 11821.0, - 11566.0, - 10801.0, - 9722.0, - 9079.0, - 6480.0, - 6167.0 + 16632.0, + 14414.0, + 12054.0, + 12010.0, + 11847.0, + 11159.0, + 10633.0, + 10284.0, + 8026.0, + 4596.0 ], "skipped": null } }, { "classic": { - "elapsed": 7.3, - "error_count": 366, + "elapsed": 13.2, + "error_count": 364, "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "unknown" }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -28165,6 +28888,10 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -28194,68 +28921,70 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + "java.lang.ArrayIndexOutOfBoundsException" ], "has_log": true, "ok": true, - "score": 113937.0, + "score": 114373.0, "scores": [ - 10499.0, - 13115.0, - 15605.0, - 9026.0, - 11240.0, - 9306.0, - 11248.0, - 11836.0, - 6321.0, - 15741.0 + 22264.0, + 10653.0, + 10461.0, + 9062.0, + 10787.0, + 8341.0, + 11311.0, + 9960.0, + 5335.0, + 16199.0 ], - "selected": "ahr.ice.Ice 1.0.2" + "selected": "ags.Glacier 0.2.11" }, - "completed_at": "2026-09-10T20:42:12Z", + "completed_at": "2026-09-28T22:10:03Z", "confirmation": null, - "delta_pct": -0.8, - "id": "6903aafd292bf38f", + "delta_pct": -2.4, + "id": "9e12c9052df5dcdf", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -28351,42 +29080,76 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ahr.ice.Ice 1.0.2", + "classic_selected": "ags.Glacier 0.2.11", "division": "meleerumble", - "jar": "ahr.ice.Ice_1.0.2.jar", - "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", - "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", + "jar": "ags.Glacier_0.2.11.jar", + "jar_sha256": "37122320b1f4f8572edd27b8fa5549af5b55b89738e855945cb69ff0713cb8b0", + "key": "meleerumble/ags.Glacier_0.2.11.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 32.1, + "elapsed": 54.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113074.0, + "score": 111670.0, "scores": [ - 19184.0, - 14803.0, - 13451.0, - 11821.0, - 11566.0, - 10801.0, - 9722.0, - 9079.0, - 6480.0, - 6167.0 + 22764.0, + 16343.0, + 12350.0, + 11450.0, + 10726.0, + 9373.0, + 8855.0, + 7120.0, + 6445.0, + 6244.0 ], "skipped": null } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:33Z" }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:35Z" + }, + { + "cause": "initial-status-before-run", + "id": "diagnosis-3", + "owner": "bridge", + "recorded_at": "2026-09-29T14:30:21Z" + } + ], + "identity": { + "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", + "division": "meleerumble", + "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", + "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "kind": "robot" + }, + "latest_observation": "dc8e698cbe4541f8", + "observations": [ { "classic": { - "elapsed": 7.3, - "error_count": 366, + "elapsed": 14.9, + "error_count": 232, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -28396,6 +29159,10 @@ "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, { "exception": "java.lang.SecurityException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" @@ -28458,10 +29225,10 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -28505,25 +29272,25 @@ ], "has_log": true, "ok": true, - "score": 113937.0, + "score": 113431.0, "scores": [ - 10499.0, - 13115.0, - 15605.0, - 9026.0, - 11240.0, - 9306.0, - 11248.0, - 11836.0, - 6321.0, - 15741.0 + 17570.0, + 11327.0, + 14632.0, + 7563.0, + 9073.0, + 8952.0, + 10413.0, + 9641.0, + 7755.0, + 16505.0 ], - "selected": "ahr.ice.Ice 1.0.2" + "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" }, - "completed_at": "2026-09-10T20:42:12Z", + "completed_at": "2026-09-10T20:40:47Z", "confirmation": null, - "delta_pct": -0.8, - "id": "2a08d49e02733cd3", + "delta_pct": null, + "id": "8ae3e2121ec9ade9", "manifest": { "artifacts": { "bot_api_jar": { @@ -28532,7 +29299,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -28540,10 +29307,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -28644,42 +29411,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ahr.ice.Ice 1.0.2", + "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", "division": "meleerumble", - "jar": "ahr.ice.Ice_1.0.2.jar", - "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", - "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", + "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", + "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 32.1, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 113074.0, - "scores": [ - 19184.0, - 14803.0, - 13451.0, - 11821.0, - 11566.0, - 10801.0, - 9722.0, - 9079.0, - 6480.0, - 6167.0 + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "ags.surreptitious.MiniSurreptitious.move" + ] + ], + "elapsed": 6.3, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "ags.surreptitious.MiniSurreptitious.move" + } ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"ags.util.points.AbsolutePoint.addRelativePoint(ags.util.points.RelativePoint)\" because \"this.status.location\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 7.3, - "error_count": 366, + "elapsed": 14.9, + "error_count": 232, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -28689,6 +29458,10 @@ "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, { "exception": "java.lang.SecurityException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" @@ -28751,10 +29524,10 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -28798,25 +29571,25 @@ ], "has_log": true, "ok": true, - "score": 113937.0, + "score": 113431.0, "scores": [ - 10499.0, - 13115.0, - 15605.0, - 9026.0, - 11240.0, - 9306.0, - 11248.0, - 11836.0, - 6321.0, - 15741.0 + 17570.0, + 11327.0, + 14632.0, + 7563.0, + 9073.0, + 8952.0, + 10413.0, + 9641.0, + 7755.0, + 16505.0 ], - "selected": "ahr.ice.Ice 1.0.2" + "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" }, - "completed_at": "2026-09-10T20:42:12Z", + "completed_at": "2026-09-10T20:40:47Z", "confirmation": null, - "delta_pct": -0.8, - "id": "1b4cd1e42e4e657f", + "delta_pct": null, + "id": "583fdd51a9a802f8", "manifest": { "artifacts": { "bot_api_jar": { @@ -28825,7 +29598,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -28833,10 +29606,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -28937,70 +29710,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ahr.ice.Ice 1.0.2", + "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", "division": "meleerumble", - "jar": "ahr.ice.Ice_1.0.2.jar", - "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", - "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", + "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", + "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 32.1, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 113074.0, - "scores": [ - 19184.0, - 14803.0, - 13451.0, - 11821.0, - 11566.0, - 10801.0, - 9722.0, - 9079.0, - 6480.0, - 6167.0 + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "ags.surreptitious.MiniSurreptitious.move" + ] + ], + "elapsed": 6.3, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "ags.surreptitious.MiniSurreptitious.move" + } ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"ags.util.points.AbsolutePoint.addRelativePoint(ags.util.points.RelativePoint)\" because \"this.status.location\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/ak.Fermat_2.0.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:34Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:36Z" - } - ], - "identity": { - "classic_selected": "ak.Fermat 2.0", - "division": "meleerumble", - "jar": "ak.Fermat_2.0.jar", - "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", - "key": "meleerumble/ak.Fermat_2.0.jar", - "kind": "robot" - }, - "latest_observation": "c8d17a86834b130c", - "observations": [ { "classic": { - "elapsed": 11.9, - "error_count": 704, + "elapsed": 14.9, + "error_count": 232, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -29078,6 +29825,8 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -29107,41 +29856,39 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114086.0, + "score": 113431.0, "scores": [ - 21708.0, - 9206.0, - 14103.0, - 10031.0, - 10944.0, - 8849.0, - 10265.0, - 9583.0, - 5353.0, - 14044.0 + 17570.0, + 11327.0, + 14632.0, + 7563.0, + 9073.0, + 8952.0, + 10413.0, + 9641.0, + 7755.0, + 16505.0 ], - "selected": "ak.Fermat 2.0" + "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" }, - "completed_at": "2026-09-10T20:42:43Z", + "completed_at": "2026-09-10T20:40:47Z", "confirmation": null, "delta_pct": null, - "id": "792f88449d882a79", + "id": "157f4226a7dfef84", "manifest": { "artifacts": { "bot_api_jar": { @@ -29150,7 +29897,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -29158,10 +29905,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -29262,32 +30009,32 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ak.Fermat 2.0", + "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", "division": "meleerumble", - "jar": "ak.Fermat_2.0.jar", - "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", - "key": "meleerumble/ak.Fermat_2.0.jar", + "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", + "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", "kind": "robot" }, "status": "DISCREPANCY (outcome)", "tank_royale": { "bridge_only_signatures": [ [ - "java.lang.ArrayIndexOutOfBoundsException", - "ak.RobotBody.getDirection" + "java.lang.NullPointerException", + "ags.surreptitious.MiniSurreptitious.move" ] ], - "elapsed": 16.2, + "elapsed": 6.3, "error_count": 2, "error_signatures": [ { - "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "ak.RobotBody.getDirection" + "exception": "java.lang.NullPointerException", + "origin": "ags.surreptitious.MiniSurreptitious.move" } ], "errors": [ "HARNESS: worker produced no result (exit code -1)", - "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50" + "java.lang.NullPointerException: Cannot invoke \"ags.util.points.AbsolutePoint.addRelativePoint(ags.util.points.RelativePoint)\" because \"this.status.location\" is null" ], "has_log": true, "ok": false, @@ -29298,8 +30045,8 @@ }, { "classic": { - "elapsed": 11.9, - "error_count": 704, + "elapsed": 14.9, + "error_count": 232, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -29377,6 +30124,8 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -29406,41 +30155,39 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114086.0, + "score": 113431.0, "scores": [ - 21708.0, - 9206.0, - 14103.0, - 10031.0, - 10944.0, - 8849.0, - 10265.0, - 9583.0, - 5353.0, - 14044.0 + 17570.0, + 11327.0, + 14632.0, + 7563.0, + 9073.0, + 8952.0, + 10413.0, + 9641.0, + 7755.0, + 16505.0 ], - "selected": "ak.Fermat 2.0" + "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" }, - "completed_at": "2026-09-10T20:42:43Z", + "completed_at": "2026-09-10T20:40:47Z", "confirmation": null, "delta_pct": null, - "id": "6ac0f63f8a39e053", + "id": "8ed34fb1a31e5429", "manifest": { "artifacts": { "bot_api_jar": { @@ -29449,7 +30196,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -29457,10 +30204,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -29561,32 +30308,32 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ak.Fermat 2.0", + "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", "division": "meleerumble", - "jar": "ak.Fermat_2.0.jar", - "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", - "key": "meleerumble/ak.Fermat_2.0.jar", + "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", + "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", "kind": "robot" }, "status": "DISCREPANCY (outcome)", "tank_royale": { "bridge_only_signatures": [ [ - "java.lang.ArrayIndexOutOfBoundsException", - "ak.RobotBody.getDirection" + "java.lang.NullPointerException", + "ags.surreptitious.MiniSurreptitious.move" ] ], - "elapsed": 16.2, + "elapsed": 6.3, "error_count": 2, "error_signatures": [ { - "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "ak.RobotBody.getDirection" + "exception": "java.lang.NullPointerException", + "origin": "ags.surreptitious.MiniSurreptitious.move" } ], "errors": [ "HARNESS: worker produced no result (exit code -1)", - "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50" + "java.lang.NullPointerException: Cannot invoke \"ags.util.points.AbsolutePoint.addRelativePoint(ags.util.points.RelativePoint)\" because \"this.status.location\" is null" ], "has_log": true, "ok": false, @@ -29597,16 +30344,16 @@ }, { "classic": { - "elapsed": 11.9, - "error_count": 704, + "elapsed": 14.7, + "error_count": 872, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -29614,7 +30361,7 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -29676,6 +30423,8 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -29705,66 +30454,70 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114086.0, + "score": 113171.0, "scores": [ - 21708.0, - 9206.0, - 14103.0, - 10031.0, - 10944.0, - 8849.0, - 10265.0, - 9583.0, - 5353.0, - 14044.0 + 17137.0, + 12270.0, + 12011.0, + 6760.0, + 10149.0, + 8207.0, + 12151.0, + 11904.0, + 5526.0, + 17056.0 ], - "selected": "ak.Fermat 2.0" + "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" }, - "completed_at": "2026-09-10T20:42:43Z", + "completed_at": "2026-09-28T22:10:27Z", "confirmation": null, "delta_pct": null, - "id": "73b6b31abbbc3eed", + "id": "47678289d72ba9b1", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -29860,32 +30613,32 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ak.Fermat 2.0", + "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", "division": "meleerumble", - "jar": "ak.Fermat_2.0.jar", - "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", - "key": "meleerumble/ak.Fermat_2.0.jar", + "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", + "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", "kind": "robot" }, "status": "DISCREPANCY (outcome)", "tank_royale": { "bridge_only_signatures": [ [ - "java.lang.ArrayIndexOutOfBoundsException", - "ak.RobotBody.getDirection" + "java.lang.NullPointerException", + "ags.surreptitious.MiniSurreptitious.move" ] ], - "elapsed": 16.2, + "elapsed": 6.2, "error_count": 2, "error_signatures": [ { - "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "ak.RobotBody.getDirection" + "exception": "java.lang.NullPointerException", + "origin": "ags.surreptitious.MiniSurreptitious.move" } ], "errors": [ "HARNESS: worker produced no result (exit code -1)", - "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50" + "java.lang.NullPointerException: Cannot invoke \"ags.util.points.AbsolutePoint.addRelativePoint(ags.util.points.RelativePoint)\" because \"this.status.location\" is null" ], "has_log": true, "ok": false, @@ -29896,16 +30649,16 @@ }, { "classic": { - "elapsed": 11.9, - "error_count": 704, + "elapsed": 14.6, + "error_count": 302, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -29913,7 +30666,7 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -29975,6 +30728,8 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -29990,80 +30745,84 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114086.0, + "score": 113663.0, "scores": [ - 21708.0, - 9206.0, - 14103.0, - 10031.0, - 10944.0, - 8849.0, - 10265.0, - 9583.0, - 5353.0, - 14044.0 + 17625.0, + 12171.0, + 11141.0, + 9272.0, + 10393.0, + 6884.0, + 11392.0, + 12899.0, + 6770.0, + 15116.0 ], - "selected": "ak.Fermat 2.0" + "selected": "ags.surreptitious.MiniSurreptitious 0.0.1" }, - "completed_at": "2026-09-10T20:42:43Z", + "completed_at": "2026-09-29T14:31:35Z", "confirmation": null, - "delta_pct": null, - "id": "c8d17a86834b130c", + "delta_pct": -2.1, + "id": "dc8e698cbe4541f8", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "9e414f4b09363228c378d90d2a1f3e72da9152159f2c17bf9dbd1ee750956a9c" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "abaa9e3e53e37f457364231b20cfb721a0c66855bb6dccec8a07ae42fbc0030f" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "8e50c0bca49b7a644c35113fd87cfdea24883e61", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "initial-status-before-run", + "diagnosis_id": "diagnosis-3", + "owner": "bridge", + "repair": "8e50c0b" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -30159,50 +30918,48 @@ "width": 1000 }, "source_identity": { - "classic_selected": "ak.Fermat 2.0", + "classic_selected": "ags.surreptitious.MiniSurreptitious 0.0.1", "division": "meleerumble", - "jar": "ak.Fermat_2.0.jar", - "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", - "key": "meleerumble/ak.Fermat_2.0.jar", + "jar": "ags.surreptitious.MiniSurreptitious_0.0.1.jar", + "jar_sha256": "0c1cdf2e268c5e96d3a24063df946d694c879d499bf2df55a987539cdfbc18ad", + "key": "meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "bridge_only_signatures": [ - [ - "java.lang.ArrayIndexOutOfBoundsException", - "ak.RobotBody.getDirection" - ] - ], - "elapsed": 16.2, - "error_count": 2, - "error_signatures": [ - { - "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "ak.RobotBody.getDirection" - } - ], - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50" + "bridge_only_signatures": null, + "elapsed": 44.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 111323.0, + "scores": [ + 17306.0, + 14070.0, + 14067.0, + 11215.0, + 10828.0, + 10443.0, + 9480.0, + 8671.0, + 8199.0, + 7044.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "DISCREPANCY (outcome)" + "status": "DISCREPANCY (errors)" }, - "meleerumble/amk.ChumbaMini_0.2.jar": { + "meleerumble/ahf.NanoAndrew_.4.jar": { "diagnosis_events": [ { "cause": "melee-opponent-pool-contamination", "id": "diagnosis-1", "owner": "harness", - "recorded_at": "2026-09-10T21:05:34Z" + "recorded_at": "2026-09-10T21:05:33Z" }, { "cause": "robot-file-stream-limit", @@ -30212,19 +30969,19 @@ } ], "identity": { - "classic_selected": "amk.ChumbaMini 0.2", + "classic_selected": "ahf.NanoAndrew .4", "division": "meleerumble", - "jar": "amk.ChumbaMini_0.2.jar", - "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", - "key": "meleerumble/amk.ChumbaMini_0.2.jar", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "meleerumble/ahf.NanoAndrew_.4.jar", "kind": "robot" }, - "latest_observation": "9d895a8bc6e3fd0a", + "latest_observation": "6f3ff78188a918ba", "observations": [ { "classic": { - "elapsed": 6.7, - "error_count": 76, + "elapsed": 5.6, + "error_count": 650, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -30298,50 +31055,74 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114637.0, + "score": 115682.0, "scores": [ - 7954.0, - 11944.0, - 10159.0, - 11647.0, - 7980.0, - 11219.0, - 9416.0, - 5989.0, - 16869.0, - 21460.0 + 15835.0, + 9401.0, + 13913.0, + 8952.0, + 13351.0, + 8700.0, + 12941.0, + 11164.0, + 6562.0, + 14863.0 ], - "selected": "amk.ChumbaMini 0.2" + "selected": "ahf.NanoAndrew .4" }, - "completed_at": "2026-09-10T20:44:30Z", + "completed_at": "2026-09-10T20:41:31Z", "confirmation": null, - "delta_pct": -1.3, - "id": "c22fd85799fd957c", + "delta_pct": -2.6, + "id": "88d8a12982546c70", "manifest": { "artifacts": { "bot_api_jar": { @@ -30428,6 +31209,10 @@ "jar": "adt.Ar2_1.0.jar", "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, { "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" @@ -30451,10 +31236,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -30462,42 +31243,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ChumbaMini 0.2", + "classic_selected": "ahf.NanoAndrew .4", "division": "meleerumble", - "jar": "amk.ChumbaMini_0.2.jar", - "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", - "key": "meleerumble/amk.ChumbaMini_0.2.jar", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "meleerumble/ahf.NanoAndrew_.4.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 98.2, + "elapsed": 36.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113140.0, + "score": 112631.0, "scores": [ - 18692.0, - 14842.0, - 12880.0, - 11834.0, - 10274.0, - 10217.0, - 10128.0, - 8718.0, - 8316.0, - 7239.0 + 16302.0, + 14710.0, + 12956.0, + 12889.0, + 11637.0, + 9974.0, + 9884.0, + 8949.0, + 8207.0, + 7123.0 ], "skipped": null } }, { "classic": { - "elapsed": 6.7, - "error_count": 76, + "elapsed": 5.6, + "error_count": 650, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -30571,50 +31352,74 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114637.0, + "score": 115682.0, "scores": [ - 7954.0, - 11944.0, - 10159.0, - 11647.0, - 7980.0, - 11219.0, - 9416.0, - 5989.0, - 16869.0, - 21460.0 + 15835.0, + 9401.0, + 13913.0, + 8952.0, + 13351.0, + 8700.0, + 12941.0, + 11164.0, + 6562.0, + 14863.0 ], - "selected": "amk.ChumbaMini 0.2" + "selected": "ahf.NanoAndrew .4" }, - "completed_at": "2026-09-10T20:44:30Z", + "completed_at": "2026-09-10T20:41:31Z", "confirmation": null, - "delta_pct": -1.3, - "id": "96d3917569aae17b", + "delta_pct": -2.6, + "id": "8f83d14d67e72c0f", "manifest": { "artifacts": { "bot_api_jar": { @@ -30701,6 +31506,10 @@ "jar": "adt.Ar2_1.0.jar", "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, { "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" @@ -30724,10 +31533,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -30735,42 +31540,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ChumbaMini 0.2", + "classic_selected": "ahf.NanoAndrew .4", "division": "meleerumble", - "jar": "amk.ChumbaMini_0.2.jar", - "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", - "key": "meleerumble/amk.ChumbaMini_0.2.jar", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "meleerumble/ahf.NanoAndrew_.4.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 98.2, + "elapsed": 36.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113140.0, + "score": 112631.0, "scores": [ - 18692.0, - 14842.0, - 12880.0, - 11834.0, - 10274.0, - 10217.0, - 10128.0, - 8718.0, - 8316.0, - 7239.0 + 16302.0, + 14710.0, + 12956.0, + 12889.0, + 11637.0, + 9974.0, + 9884.0, + 8949.0, + 8207.0, + 7123.0 ], "skipped": null } }, { "classic": { - "elapsed": 6.7, - "error_count": 76, + "elapsed": 5.6, + "error_count": 650, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -30844,50 +31649,74 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114637.0, + "score": 115682.0, "scores": [ - 7954.0, - 11944.0, - 10159.0, - 11647.0, - 7980.0, - 11219.0, - 9416.0, - 5989.0, - 16869.0, - 21460.0 + 15835.0, + 9401.0, + 13913.0, + 8952.0, + 13351.0, + 8700.0, + 12941.0, + 11164.0, + 6562.0, + 14863.0 ], - "selected": "amk.ChumbaMini 0.2" + "selected": "ahf.NanoAndrew .4" }, - "completed_at": "2026-09-10T20:44:30Z", + "completed_at": "2026-09-10T20:41:31Z", "confirmation": null, - "delta_pct": -1.3, - "id": "122cca1debac03ac", + "delta_pct": -2.6, + "id": "9825253b2a07e3b9", "manifest": { "artifacts": { "bot_api_jar": { @@ -30974,6 +31803,10 @@ "jar": "adt.Ar2_1.0.jar", "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, { "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" @@ -30997,10 +31830,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -31008,42 +31837,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ChumbaMini 0.2", + "classic_selected": "ahf.NanoAndrew .4", "division": "meleerumble", - "jar": "amk.ChumbaMini_0.2.jar", - "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", - "key": "meleerumble/amk.ChumbaMini_0.2.jar", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "meleerumble/ahf.NanoAndrew_.4.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 98.2, + "elapsed": 36.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113140.0, + "score": 112631.0, "scores": [ - 18692.0, - 14842.0, - 12880.0, - 11834.0, - 10274.0, - 10217.0, - 10128.0, - 8718.0, - 8316.0, - 7239.0 + 16302.0, + 14710.0, + 12956.0, + 12889.0, + 11637.0, + 9974.0, + 9884.0, + 8949.0, + 8207.0, + 7123.0 ], "skipped": null } }, { "classic": { - "elapsed": 6.7, - "error_count": 76, + "elapsed": 5.6, + "error_count": 650, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -31117,50 +31946,74 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114637.0, + "score": 115682.0, "scores": [ - 7954.0, - 11944.0, - 10159.0, - 11647.0, - 7980.0, - 11219.0, - 9416.0, - 5989.0, - 16869.0, - 21460.0 + 15835.0, + 9401.0, + 13913.0, + 8952.0, + 13351.0, + 8700.0, + 12941.0, + 11164.0, + 6562.0, + 14863.0 ], - "selected": "amk.ChumbaMini 0.2" + "selected": "ahf.NanoAndrew .4" }, - "completed_at": "2026-09-10T20:44:30Z", + "completed_at": "2026-09-10T20:41:31Z", "confirmation": null, - "delta_pct": -1.3, - "id": "9d895a8bc6e3fd0a", + "delta_pct": -2.6, + "id": "9b2cae1a592bd2c7", "manifest": { "artifacts": { "bot_api_jar": { @@ -31247,6 +32100,10 @@ "jar": "adt.Ar2_1.0.jar", "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, { "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" @@ -31270,10 +32127,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -31281,85 +32134,115 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ChumbaMini 0.2", + "classic_selected": "ahf.NanoAndrew .4", "division": "meleerumble", - "jar": "amk.ChumbaMini_0.2.jar", - "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", - "key": "meleerumble/amk.ChumbaMini_0.2.jar", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "meleerumble/ahf.NanoAndrew_.4.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 98.2, + "elapsed": 36.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113140.0, + "score": 112631.0, "scores": [ - 18692.0, - 14842.0, - 12880.0, - 11834.0, - 10274.0, - 10217.0, - 10128.0, - 8718.0, - 8316.0, - 7239.0 + 16302.0, + 14710.0, + 12956.0, + 12889.0, + 11637.0, + 9974.0, + 9884.0, + 8949.0, + 8207.0, + 7123.0 ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/amk.ChumbaWumba_0.3.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:34Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:36Z" - } - ], - "identity": { - "classic_selected": "amk.ChumbaWumba 0.3", - "division": "meleerumble", - "jar": "amk.ChumbaWumba_0.3.jar", - "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", - "key": "meleerumble/amk.ChumbaWumba_0.3.jar", - "kind": "robot" - }, - "latest_observation": "59b8ce064be79025", - "observations": [ { "classic": { - "elapsed": 6.8, - "error_count": 668, + "elapsed": 5.8, + "error_count": 632, "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "unknown" }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -31385,128 +32268,80 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114733.0, + "score": 115253.0, "scores": [ - 10540.0, - 10714.0, - 12139.0, - 8485.0, - 9847.0, - 10336.0, - 9948.0, - 5918.0, - 16863.0, - 19943.0 + 18030.0, + 12230.0, + 10838.0, + 9650.0, + 11563.0, + 7818.0, + 10746.0, + 10504.0, + 7149.0, + 16725.0 ], - "selected": "amk.ChumbaWumba 0.3" + "selected": "ahf.NanoAndrew .4" }, - "completed_at": "2026-09-10T20:45:39Z", + "completed_at": "2026-09-28T22:11:17Z", "confirmation": null, "delta_pct": -1.2, - "id": "6b1081bec8093413", + "id": "6f3ff78188a918ba", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -31572,6 +32407,10 @@ "jar": "amk.ChumbaMini_0.2.jar", "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, { "jar": "amk.Punbot.Punbot_0.01.jar", "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" @@ -31591,10 +32430,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -31602,42 +32437,70 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ChumbaWumba 0.3", + "classic_selected": "ahf.NanoAndrew .4", "division": "meleerumble", - "jar": "amk.ChumbaWumba_0.3.jar", - "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", - "key": "meleerumble/amk.ChumbaWumba_0.3.jar", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "meleerumble/ahf.NanoAndrew_.4.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 60.1, + "elapsed": 42.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113340.0, + "score": 113873.0, "scores": [ - 18408.0, - 15775.0, - 13741.0, - 13201.0, - 11103.0, - 10172.0, - 8905.0, - 8499.0, - 7681.0, - 5855.0 + 17605.0, + 14142.0, + 13299.0, + 12823.0, + 11742.0, + 9865.0, + 9757.0, + 9636.0, + 8038.0, + 6966.0 ], "skipped": null } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/ahr.ice.Ice_1.0.2.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:33Z" }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:36Z" + } + ], + "identity": { + "classic_selected": "ahr.ice.Ice 1.0.2", + "division": "meleerumble", + "jar": "ahr.ice.Ice_1.0.2.jar", + "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", + "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", + "kind": "robot" + }, + "latest_observation": "55fdd09abb52d8f4", + "observations": [ { "classic": { - "elapsed": 6.8, - "error_count": 668, + "elapsed": 7.3, + "error_count": 366, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -31653,6 +32516,62 @@ } ], "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -31678,103 +32597,47 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114733.0, + "score": 113937.0, "scores": [ - 10540.0, - 10714.0, - 12139.0, - 8485.0, - 9847.0, - 10336.0, - 9948.0, - 5918.0, - 16863.0, - 19943.0 + 10499.0, + 13115.0, + 15605.0, + 9026.0, + 11240.0, + 9306.0, + 11248.0, + 11836.0, + 6321.0, + 15741.0 ], - "selected": "amk.ChumbaWumba 0.3" + "selected": "ahr.ice.Ice 1.0.2" }, - "completed_at": "2026-09-10T20:45:39Z", + "completed_at": "2026-09-10T20:42:12Z", "confirmation": null, - "delta_pct": -1.2, - "id": "a5a9324d5e525f5b", + "delta_pct": -0.8, + "id": "7a578bc8dbcedd62", "manifest": { "artifacts": { "bot_api_jar": { @@ -31783,7 +32646,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -31791,10 +32654,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -31865,6 +32728,10 @@ "jar": "amk.ChumbaMini_0.2.jar", "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, { "jar": "amk.Punbot.Punbot_0.01.jar", "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" @@ -31884,10 +32751,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -31895,42 +32758,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ChumbaWumba 0.3", + "classic_selected": "ahr.ice.Ice 1.0.2", "division": "meleerumble", - "jar": "amk.ChumbaWumba_0.3.jar", - "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", - "key": "meleerumble/amk.ChumbaWumba_0.3.jar", + "jar": "ahr.ice.Ice_1.0.2.jar", + "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", + "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 60.1, + "elapsed": 32.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113340.0, + "score": 113074.0, "scores": [ - 18408.0, - 15775.0, - 13741.0, - 13201.0, - 11103.0, - 10172.0, - 8905.0, - 8499.0, - 7681.0, - 5855.0 + 19184.0, + 14803.0, + 13451.0, + 11821.0, + 11566.0, + 10801.0, + 9722.0, + 9079.0, + 6480.0, + 6167.0 ], "skipped": null } }, { "classic": { - "elapsed": 6.8, - "error_count": 668, + "elapsed": 7.3, + "error_count": 366, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -31946,6 +32809,62 @@ } ], "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -31971,103 +32890,47 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114733.0, + "score": 113937.0, "scores": [ - 10540.0, - 10714.0, - 12139.0, - 8485.0, - 9847.0, - 10336.0, - 9948.0, - 5918.0, - 16863.0, - 19943.0 + 10499.0, + 13115.0, + 15605.0, + 9026.0, + 11240.0, + 9306.0, + 11248.0, + 11836.0, + 6321.0, + 15741.0 ], - "selected": "amk.ChumbaWumba 0.3" + "selected": "ahr.ice.Ice 1.0.2" }, - "completed_at": "2026-09-10T20:45:39Z", + "completed_at": "2026-09-10T20:42:12Z", "confirmation": null, - "delta_pct": -1.2, - "id": "60be37f85d3b0889", + "delta_pct": -0.8, + "id": "6903aafd292bf38f", "manifest": { "artifacts": { "bot_api_jar": { @@ -32087,7 +32950,7 @@ "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -32158,6 +33021,10 @@ "jar": "amk.ChumbaMini_0.2.jar", "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, { "jar": "amk.Punbot.Punbot_0.01.jar", "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" @@ -32177,10 +33044,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -32188,42 +33051,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ChumbaWumba 0.3", + "classic_selected": "ahr.ice.Ice 1.0.2", "division": "meleerumble", - "jar": "amk.ChumbaWumba_0.3.jar", - "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", - "key": "meleerumble/amk.ChumbaWumba_0.3.jar", + "jar": "ahr.ice.Ice_1.0.2.jar", + "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", + "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 60.1, + "elapsed": 32.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113340.0, + "score": 113074.0, "scores": [ - 18408.0, - 15775.0, - 13741.0, - 13201.0, - 11103.0, - 10172.0, - 8905.0, - 8499.0, - 7681.0, - 5855.0 + 19184.0, + 14803.0, + 13451.0, + 11821.0, + 11566.0, + 10801.0, + 9722.0, + 9079.0, + 6480.0, + 6167.0 ], "skipped": null } }, { "classic": { - "elapsed": 6.8, - "error_count": 668, + "elapsed": 7.3, + "error_count": 366, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -32239,6 +33102,62 @@ } ], "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -32264,103 +33183,47 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114733.0, + "score": 113937.0, "scores": [ - 10540.0, - 10714.0, - 12139.0, - 8485.0, - 9847.0, - 10336.0, - 9948.0, - 5918.0, - 16863.0, - 19943.0 + 10499.0, + 13115.0, + 15605.0, + 9026.0, + 11240.0, + 9306.0, + 11248.0, + 11836.0, + 6321.0, + 15741.0 ], - "selected": "amk.ChumbaWumba 0.3" + "selected": "ahr.ice.Ice 1.0.2" }, - "completed_at": "2026-09-10T20:45:39Z", + "completed_at": "2026-09-10T20:42:12Z", "confirmation": null, - "delta_pct": -1.2, - "id": "59b8ce064be79025", + "delta_pct": -0.8, + "id": "2a08d49e02733cd3", "manifest": { "artifacts": { "bot_api_jar": { @@ -32369,7 +33232,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -32377,10 +33240,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -32451,6 +33314,10 @@ "jar": "amk.ChumbaMini_0.2.jar", "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, { "jar": "amk.Punbot.Punbot_0.01.jar", "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" @@ -32470,10 +33337,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -32481,70 +33344,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ChumbaWumba 0.3", + "classic_selected": "ahr.ice.Ice 1.0.2", "division": "meleerumble", - "jar": "amk.ChumbaWumba_0.3.jar", - "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", - "key": "meleerumble/amk.ChumbaWumba_0.3.jar", + "jar": "ahr.ice.Ice_1.0.2.jar", + "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", + "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 60.1, + "elapsed": 32.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 113340.0, + "score": 113074.0, "scores": [ - 18408.0, - 15775.0, - 13741.0, - 13201.0, - 11103.0, - 10172.0, - 8905.0, - 8499.0, - 7681.0, - 5855.0 + 19184.0, + 14803.0, + 13451.0, + 11821.0, + 11566.0, + 10801.0, + 9722.0, + 9079.0, + 6480.0, + 6167.0 ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/amk.Punbot.Punbot_0.01.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:34Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:36Z" - } - ], - "identity": { - "classic_selected": "amk.Punbot.Punbot 0.01", - "division": "meleerumble", - "jar": "amk.Punbot.Punbot_0.01.jar", - "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", - "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", - "kind": "robot" - }, - "latest_observation": "d8d5f7f19cea99d9", - "observations": [ { "classic": { - "elapsed": 6.8, - "error_count": 910, + "elapsed": 7.3, + "error_count": 366, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -32554,10 +33389,6 @@ "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" }, - { - "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "unknown" - }, { "exception": "java.lang.SecurityException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" @@ -32568,7 +33399,9 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -32618,8 +33451,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -32667,25 +33498,25 @@ ], "has_log": true, "ok": true, - "score": 114110.0, + "score": 113937.0, "scores": [ - 8525.0, - 9930.0, - 11853.0, - 8407.0, - 12168.0, - 11071.0, - 10876.0, - 6587.0, - 14465.0, - 20228.0 + 10499.0, + 13115.0, + 15605.0, + 9026.0, + 11240.0, + 9306.0, + 11248.0, + 11836.0, + 6321.0, + 15741.0 ], - "selected": "amk.Punbot.Punbot 0.01" + "selected": "ahr.ice.Ice 1.0.2" }, - "completed_at": "2026-09-10T20:48:22Z", + "completed_at": "2026-09-10T20:42:12Z", "confirmation": null, - "delta_pct": -1.1, - "id": "fb7dcac0a2895b29", + "delta_pct": -0.8, + "id": "1b4cd1e42e4e657f", "manifest": { "artifacts": { "bot_api_jar": { @@ -32694,7 +33525,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -32702,10 +33533,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -32780,6 +33611,10 @@ "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, { "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" @@ -32795,10 +33630,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -32806,58 +33637,54 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.Punbot.Punbot 0.01", + "classic_selected": "ahr.ice.Ice 1.0.2", "division": "meleerumble", - "jar": "amk.Punbot.Punbot_0.01.jar", - "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", - "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "jar": "ahr.ice.Ice_1.0.2.jar", + "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", + "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 62.1, + "elapsed": 32.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112866.0, + "score": 113074.0, "scores": [ - 16371.0, - 14989.0, - 12660.0, - 12046.0, - 11586.0, - 10807.0, - 10508.0, - 9712.0, - 8593.0, - 5594.0 + 19184.0, + 14803.0, + 13451.0, + 11821.0, + 11566.0, + 10801.0, + 9722.0, + 9079.0, + 6480.0, + 6167.0 ], "skipped": null } }, { "classic": { - "elapsed": 6.8, - "error_count": 910, + "elapsed": 7.1, + "error_count": 376, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" - }, - { - "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "unknown" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -32865,7 +33692,9 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -32958,56 +33787,60 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114110.0, + "score": 114545.0, "scores": [ - 8525.0, - 9930.0, - 11853.0, - 8407.0, - 12168.0, - 11071.0, - 10876.0, - 6587.0, - 14465.0, - 20228.0 + 9885.0, + 13893.0, + 15310.0, + 10013.0, + 10948.0, + 8435.0, + 12253.0, + 9390.0, + 5959.0, + 18459.0 ], - "selected": "amk.Punbot.Punbot 0.01" + "selected": "ahr.ice.Ice 1.0.2" }, - "completed_at": "2026-09-10T20:48:22Z", + "completed_at": "2026-09-28T22:12:07Z", "confirmation": null, - "delta_pct": -1.1, - "id": "96831501f3e46a56", + "delta_pct": -2.6, + "id": "55fdd09abb52d8f4", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -33077,6 +33910,10 @@ "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, { "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" @@ -33092,10 +33929,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -33103,42 +33936,76 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.Punbot.Punbot 0.01", + "classic_selected": "ahr.ice.Ice 1.0.2", "division": "meleerumble", - "jar": "amk.Punbot.Punbot_0.01.jar", - "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", - "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "jar": "ahr.ice.Ice_1.0.2.jar", + "jar_sha256": "46da6577681b39d9a472ff9559a8e29fa9fa0dde914b2854b22dde5c4d89a507", + "key": "meleerumble/ahr.ice.Ice_1.0.2.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 62.1, + "elapsed": 40.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112866.0, + "score": 111612.0, "scores": [ - 16371.0, - 14989.0, - 12660.0, - 12046.0, - 11586.0, - 10807.0, - 10508.0, - 9712.0, - 8593.0, - 5594.0 + 14987.0, + 14274.0, + 13869.0, + 13867.0, + 11697.0, + 10623.0, + 8653.0, + 8358.0, + 8225.0, + 7059.0 ], "skipped": null } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/ak.Fermat_2.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:34Z" + }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:36Z" }, + { + "cause": "initial-status-before-run", + "id": "diagnosis-3", + "owner": "bridge", + "recorded_at": "2026-09-29T14:35:35Z" + } + ], + "identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "meleerumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "meleerumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "latest_observation": "dd82d6b34b151588", + "observations": [ { "classic": { - "elapsed": 6.8, - "error_count": 910, + "elapsed": 11.9, + "error_count": 704, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -33162,7 +34029,11 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -33241,45 +34112,41 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + "java.lang.ArrayIndexOutOfBoundsException" ], "has_log": true, "ok": true, - "score": 114110.0, + "score": 114086.0, "scores": [ - 8525.0, - 9930.0, - 11853.0, - 8407.0, - 12168.0, - 11071.0, - 10876.0, - 6587.0, - 14465.0, - 20228.0 + 21708.0, + 9206.0, + 14103.0, + 10031.0, + 10944.0, + 8849.0, + 10265.0, + 9583.0, + 5353.0, + 14044.0 ], - "selected": "amk.Punbot.Punbot 0.01" + "selected": "ak.Fermat 2.0" }, - "completed_at": "2026-09-10T20:48:22Z", + "completed_at": "2026-09-10T20:42:43Z", "confirmation": null, - "delta_pct": -1.1, - "id": "ca49806edb3c67ce", + "delta_pct": null, + "id": "792f88449d882a79", "manifest": { "artifacts": { "bot_api_jar": { @@ -33288,7 +34155,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -33296,10 +34163,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -33374,6 +34241,10 @@ "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, { "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" @@ -33389,10 +34260,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -33400,42 +34267,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.Punbot.Punbot 0.01", + "classic_selected": "ak.Fermat 2.0", "division": "meleerumble", - "jar": "amk.Punbot.Punbot_0.01.jar", - "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", - "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "meleerumble/ak.Fermat_2.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 62.1, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112866.0, - "scores": [ - 16371.0, - 14989.0, - 12660.0, - 12046.0, - 11586.0, - 10807.0, - 10508.0, - 9712.0, - 8593.0, - 5594.0 + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "ak.RobotBody.getDirection" + ] ], + "elapsed": 16.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "ak.RobotBody.getDirection" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 6.8, - "error_count": 910, + "elapsed": 11.9, + "error_count": 704, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -33459,7 +34328,11 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", @@ -33538,45 +34411,41 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + "java.lang.ArrayIndexOutOfBoundsException" ], "has_log": true, "ok": true, - "score": 114110.0, + "score": 114086.0, "scores": [ - 8525.0, - 9930.0, - 11853.0, - 8407.0, - 12168.0, - 11071.0, - 10876.0, - 6587.0, - 14465.0, - 20228.0 + 21708.0, + 9206.0, + 14103.0, + 10031.0, + 10944.0, + 8849.0, + 10265.0, + 9583.0, + 5353.0, + 14044.0 ], - "selected": "amk.Punbot.Punbot 0.01" + "selected": "ak.Fermat 2.0" }, - "completed_at": "2026-09-10T20:48:22Z", + "completed_at": "2026-09-10T20:42:43Z", "confirmation": null, - "delta_pct": -1.1, - "id": "d8d5f7f19cea99d9", + "delta_pct": null, + "id": "6ac0f63f8a39e053", "manifest": { "artifacts": { "bot_api_jar": { @@ -33585,7 +34454,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -33593,10 +34462,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -33671,6 +34540,10 @@ "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, { "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" @@ -33686,10 +34559,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -33697,70 +34566,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.Punbot.Punbot 0.01", + "classic_selected": "ak.Fermat 2.0", "division": "meleerumble", - "jar": "amk.Punbot.Punbot_0.01.jar", - "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", - "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "meleerumble/ak.Fermat_2.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 62.1, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112866.0, - "scores": [ - 16371.0, - 14989.0, - 12660.0, - 12046.0, - 11586.0, - 10807.0, - 10508.0, - 9712.0, - 8593.0, - 5594.0 + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "ak.RobotBody.getDirection" + ] + ], + "elapsed": 16.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "ak.RobotBody.getDirection" + } ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:34Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:36Z" - } - ], - "identity": { - "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", - "division": "meleerumble", - "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", - "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", - "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", - "kind": "robot" - }, - "latest_observation": "5db1d80aa5499f68", - "observations": [ { "classic": { - "elapsed": 6.3, - "error_count": 382, + "elapsed": 11.9, + "error_count": 704, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -33770,6 +34613,10 @@ "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, { "exception": "java.lang.SecurityException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" @@ -33834,8 +34681,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -33865,39 +34710,41 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" ], "has_log": true, "ok": true, - "score": 114667.0, + "score": 114086.0, "scores": [ - 8327.0, - 11211.0, - 13732.0, - 6848.0, - 12345.0, - 9601.0, - 9167.0, - 5853.0, - 18786.0, - 18797.0 + 21708.0, + 9206.0, + 14103.0, + 10031.0, + 10944.0, + 8849.0, + 10265.0, + 9583.0, + 5353.0, + 14044.0 ], - "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + "selected": "ak.Fermat 2.0" }, - "completed_at": "2026-09-10T20:49:28Z", + "completed_at": "2026-09-10T20:42:43Z", "confirmation": null, - "delta_pct": -1.9, - "id": "5f5fd2fab070dd18", + "delta_pct": null, + "id": "73b6b31abbbc3eed", "manifest": { "artifacts": { "bot_api_jar": { @@ -33906,7 +34753,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -33914,10 +34761,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -33996,6 +34843,10 @@ "jar": "amk.Punbot.Punbot_0.01.jar", "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, { "jar": "amk.jointstrike.JointStrike_0.2.jar", "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" @@ -34007,10 +34858,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -34018,42 +34865,44 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "classic_selected": "ak.Fermat 2.0", "division": "meleerumble", - "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", - "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", - "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "meleerumble/ak.Fermat_2.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 58.1, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112507.0, - "scores": [ - 17431.0, - 16717.0, - 12462.0, - 12360.0, - 12075.0, - 10269.0, - 9903.0, - 8853.0, - 7287.0, - 5150.0 + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "ak.RobotBody.getDirection" + ] + ], + "elapsed": 16.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "ak.RobotBody.getDirection" + } ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 6.3, - "error_count": 382, + "elapsed": 11.9, + "error_count": 704, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -34063,6 +34912,10 @@ "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, { "exception": "java.lang.SecurityException", "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" @@ -34127,8 +34980,6 @@ "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", @@ -34158,39 +35009,41 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" ], "has_log": true, "ok": true, - "score": 114667.0, + "score": 114086.0, "scores": [ - 8327.0, - 11211.0, - 13732.0, - 6848.0, - 12345.0, - 9601.0, - 9167.0, - 5853.0, - 18786.0, - 18797.0 + 21708.0, + 9206.0, + 14103.0, + 10031.0, + 10944.0, + 8849.0, + 10265.0, + 9583.0, + 5353.0, + 14044.0 ], - "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + "selected": "ak.Fermat 2.0" }, - "completed_at": "2026-09-10T20:49:28Z", + "completed_at": "2026-09-10T20:42:43Z", "confirmation": null, - "delta_pct": -1.9, - "id": "3e9e1857d597d012", + "delta_pct": null, + "id": "c8d17a86834b130c", "manifest": { "artifacts": { "bot_api_jar": { @@ -34199,7 +35052,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -34207,10 +35060,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -34289,6 +35142,10 @@ "jar": "amk.Punbot.Punbot_0.01.jar", "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, { "jar": "amk.jointstrike.JointStrike_0.2.jar", "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" @@ -34300,10 +35157,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -34311,54 +35164,60 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "classic_selected": "ak.Fermat 2.0", "division": "meleerumble", - "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", - "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", - "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "meleerumble/ak.Fermat_2.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 58.1, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112507.0, - "scores": [ - 17431.0, - 16717.0, - 12462.0, - 12360.0, - 12075.0, - 10269.0, - 9903.0, - 8853.0, - 7287.0, - 5150.0 + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "ak.RobotBody.getDirection" + ] + ], + "elapsed": 16.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "ak.RobotBody.getDirection" + } ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 6.3, - "error_count": 382, + "elapsed": 11.5, + "error_count": 318, "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "unknown" }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -34465,50 +35324,56 @@ ], "has_log": true, "ok": true, - "score": 114667.0, + "score": 114663.0, "scores": [ - 8327.0, - 11211.0, - 13732.0, - 6848.0, - 12345.0, - 9601.0, - 9167.0, - 5853.0, - 18786.0, - 18797.0 + 21436.0, + 10276.0, + 11166.0, + 9236.0, + 12078.0, + 7855.0, + 10399.0, + 9484.0, + 6174.0, + 16559.0 ], - "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + "selected": "ak.Fermat 2.0" }, - "completed_at": "2026-09-10T20:49:28Z", + "completed_at": "2026-09-28T22:13:03Z", "confirmation": null, - "delta_pct": -1.9, - "id": "155f11307130b1ec", + "delta_pct": null, + "id": "9f0653b73fceb95c", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -34582,6 +35447,10 @@ "jar": "amk.Punbot.Punbot_0.01.jar", "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, { "jar": "amk.jointstrike.JointStrike_0.2.jar", "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" @@ -34593,10 +35462,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -34604,54 +35469,60 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "classic_selected": "ak.Fermat 2.0", "division": "meleerumble", - "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", - "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", - "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "meleerumble/ak.Fermat_2.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (errors)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 58.1, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 112507.0, - "scores": [ - 17431.0, - 16717.0, - 12462.0, - 12360.0, - 12075.0, - 10269.0, - 9903.0, - 8853.0, - 7287.0, - 5150.0 + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "ak.RobotBody.getDirection" + ] ], + "elapsed": 42.3, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "ak.RobotBody.getDirection" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } }, { "classic": { - "elapsed": 6.3, - "error_count": 382, + "elapsed": 10.9, + "error_count": 872, "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "unknown" }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -34758,47 +35629,48 @@ ], "has_log": true, "ok": true, - "score": 114667.0, + "score": 114690.0, "scores": [ - 8327.0, - 11211.0, - 13732.0, - 6848.0, - 12345.0, - 9601.0, - 9167.0, - 5853.0, - 18786.0, - 18797.0 + 22833.0, + 12746.0, + 10770.0, + 7674.0, + 11442.0, + 7842.0, + 11072.0, + 10182.0, + 6093.0, + 14036.0 ], - "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + "selected": "ak.Fermat 2.0" }, - "completed_at": "2026-09-10T20:49:28Z", + "completed_at": "2026-09-29T14:35:01Z", "confirmation": null, - "delta_pct": -1.9, - "id": "5db1d80aa5499f68", + "delta_pct": -3.5, + "id": "bc0742d34282e1cf", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "9e414f4b09363228c378d90d2a1f3e72da9152159f2c17bf9dbd1ee750956a9c" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "abaa9e3e53e37f457364231b20cfb721a0c66855bb6dccec8a07ae42fbc0030f" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "8e50c0bca49b7a644c35113fd87cfdea24883e61", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, "retest": null, @@ -34875,6 +35747,10 @@ "jar": "amk.Punbot.Punbot_0.01.jar", "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, { "jar": "amk.jointstrike.JointStrike_0.2.jar", "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" @@ -34886,10 +35762,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -34897,78 +35769,50 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "classic_selected": "ak.Fermat 2.0", "division": "meleerumble", - "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", - "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", - "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "meleerumble/ak.Fermat_2.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 58.1, + "elapsed": 44.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112507.0, + "score": 110693.0, "scores": [ - 17431.0, - 16717.0, - 12462.0, - 12360.0, - 12075.0, - 10269.0, - 9903.0, - 8853.0, - 7287.0, - 5150.0 + 15174.0, + 13138.0, + 13047.0, + 12308.0, + 11534.0, + 10227.0, + 9937.0, + 9678.0, + 8885.0, + 6765.0 ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "meleerumble/amk.jointstrike.JointStrike_0.2.jar": { - "diagnosis_events": [ - { - "cause": "melee-opponent-pool-contamination", - "id": "diagnosis-1", - "owner": "harness", - "recorded_at": "2026-09-10T21:05:34Z" }, - { - "cause": "robot-file-stream-limit", - "id": "diagnosis-2", - "owner": "bridge", - "recorded_at": "2026-09-10T21:05:36Z" - } - ], - "identity": { - "classic_selected": "amk.jointstrike.JointStrike 0.2", - "division": "meleerumble", - "jar": "amk.jointstrike.JointStrike_0.2.jar", - "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", - "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", - "kind": "robot" - }, - "latest_observation": "d8d75fced51e8ee0", - "observations": [ { "classic": { - "elapsed": 7.4, - "error_count": 132, + "elapsed": 10.5, + "error_count": 204, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "amk.guns.Aristocles.prepare" + "origin": "amk.ChumbaMini.saveData" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.guns.Aristocles.prepare" }, { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -34976,7 +35820,7 @@ }, { "exception": "java.lang.SecurityException", - "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + "origin": "amk.ChumbaMini.saveData" } ], "errors": [ @@ -35067,66 +35911,72 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException" + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" ], "has_log": true, "ok": true, - "score": 114905.0, + "score": 113858.0, "scores": [ - 7132.0, - 11159.0, - 15286.0, - 7064.0, - 12490.0, - 8546.0, - 9727.0, - 7687.0, - 14458.0, - 21356.0 + 21231.0, + 12337.0, + 11735.0, + 6595.0, + 9812.0, + 7743.0, + 13191.0, + 10866.0, + 6669.0, + 13679.0 ], - "selected": "amk.jointstrike.JointStrike 0.2" + "selected": "ak.Fermat 2.0" }, - "completed_at": "2026-09-10T20:47:10Z", + "completed_at": "2026-09-29T14:36:41Z", "confirmation": null, - "delta_pct": -1.9, - "id": "02ec6bfdbeba885e", + "delta_pct": -1.6, + "id": "dd82d6b34b151588", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "9e414f4b09363228c378d90d2a1f3e72da9152159f2c17bf9dbd1ee750956a9c" }, "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" }, "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "abaa9e3e53e37f457364231b20cfb721a0c66855bb6dccec8a07ae42fbc0030f" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "8e50c0bca49b7a644c35113fd87cfdea24883e61", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "initial-status-before-run", + "diagnosis_id": "diagnosis-3", + "owner": "bridge", + "repair": "8e50c0b" + }, "setup": { "height": 1000, "opponent_pool": [ @@ -35204,6 +36054,10 @@ "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, { "jar": "ap.Frederick_1.1.jar", "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" @@ -35211,10 +36065,6 @@ { "jar": "apc.botM_3.0.jar", "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" - }, - { - "jar": "ara.Shera_0.88.jar", - "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" } ], "participants": 10, @@ -35222,42 +36072,70 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.jointstrike.JointStrike 0.2", + "classic_selected": "ak.Fermat 2.0", "division": "meleerumble", - "jar": "amk.jointstrike.JointStrike_0.2.jar", - "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", - "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "meleerumble/ak.Fermat_2.0.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 80.2, + "elapsed": 46.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112720.0, + "score": 111993.0, "scores": [ - 18020.0, - 12973.0, - 12849.0, - 11951.0, - 11267.0, - 11041.0, - 10792.0, - 9891.0, - 7783.0, - 6153.0 + 16517.0, + 15453.0, + 13399.0, + 11714.0, + 11675.0, + 11146.0, + 9585.0, + 8927.0, + 8276.0, + 5301.0 ], "skipped": null } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/amk.ChumbaMini_0.2.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:34Z" }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:36Z" + } + ], + "identity": { + "classic_selected": "amk.ChumbaMini 0.2", + "division": "meleerumble", + "jar": "amk.ChumbaMini_0.2.jar", + "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", + "key": "meleerumble/amk.ChumbaMini_0.2.jar", + "kind": "robot" + }, + "latest_observation": "6f6e0ac8484232dd", + "observations": [ { "classic": { - "elapsed": 7.4, - "error_count": 132, + "elapsed": 6.7, + "error_count": 76, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -35340,30 +36218,6 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException", @@ -35380,25 +36234,25 @@ ], "has_log": true, "ok": true, - "score": 114905.0, + "score": 114637.0, "scores": [ - 7132.0, - 11159.0, - 15286.0, - 7064.0, - 12490.0, - 8546.0, - 9727.0, - 7687.0, - 14458.0, - 21356.0 + 7954.0, + 11944.0, + 10159.0, + 11647.0, + 7980.0, + 11219.0, + 9416.0, + 5989.0, + 16869.0, + 21460.0 ], - "selected": "amk.jointstrike.JointStrike 0.2" + "selected": "amk.ChumbaMini 0.2" }, - "completed_at": "2026-09-10T20:47:10Z", + "completed_at": "2026-09-10T20:44:30Z", "confirmation": null, - "delta_pct": -1.9, - "id": "d932f279b852aa2e", + "delta_pct": -1.3, + "id": "c22fd85799fd957c", "manifest": { "artifacts": { "bot_api_jar": { @@ -35407,7 +36261,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -35415,10 +36269,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -35485,10 +36339,6 @@ "jar": "adt.Ar2_1.0.jar", "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" }, - { - "jar": "amk.ChumbaMini_0.2.jar", - "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" - }, { "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" @@ -35501,6 +36351,10 @@ "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, { "jar": "ap.Frederick_1.1.jar", "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" @@ -35519,42 +36373,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.jointstrike.JointStrike 0.2", + "classic_selected": "amk.ChumbaMini 0.2", "division": "meleerumble", - "jar": "amk.jointstrike.JointStrike_0.2.jar", - "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", - "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "jar": "amk.ChumbaMini_0.2.jar", + "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", + "key": "meleerumble/amk.ChumbaMini_0.2.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 80.2, + "elapsed": 98.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112720.0, + "score": 113140.0, "scores": [ - 18020.0, - 12973.0, - 12849.0, - 11951.0, - 11267.0, - 11041.0, - 10792.0, - 9891.0, - 7783.0, - 6153.0 + 18692.0, + 14842.0, + 12880.0, + 11834.0, + 10274.0, + 10217.0, + 10128.0, + 8718.0, + 8316.0, + 7239.0 ], "skipped": null } }, { "classic": { - "elapsed": 7.4, - "error_count": 132, + "elapsed": 6.7, + "error_count": 76, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -35637,30 +36491,6 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException", @@ -35677,25 +36507,25 @@ ], "has_log": true, "ok": true, - "score": 114905.0, + "score": 114637.0, "scores": [ - 7132.0, - 11159.0, - 15286.0, - 7064.0, - 12490.0, - 8546.0, - 9727.0, - 7687.0, - 14458.0, - 21356.0 + 7954.0, + 11944.0, + 10159.0, + 11647.0, + 7980.0, + 11219.0, + 9416.0, + 5989.0, + 16869.0, + 21460.0 ], - "selected": "amk.jointstrike.JointStrike 0.2" + "selected": "amk.ChumbaMini 0.2" }, - "completed_at": "2026-09-10T20:47:10Z", + "completed_at": "2026-09-10T20:44:30Z", "confirmation": null, - "delta_pct": -1.9, - "id": "94879e23606440ae", + "delta_pct": -1.3, + "id": "96d3917569aae17b", "manifest": { "artifacts": { "bot_api_jar": { @@ -35715,7 +36545,7 @@ "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -35782,10 +36612,6 @@ "jar": "adt.Ar2_1.0.jar", "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" }, - { - "jar": "amk.ChumbaMini_0.2.jar", - "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" - }, { "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" @@ -35798,6 +36624,10 @@ "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, { "jar": "ap.Frederick_1.1.jar", "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" @@ -35816,42 +36646,42 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.jointstrike.JointStrike 0.2", + "classic_selected": "amk.ChumbaMini 0.2", "division": "meleerumble", - "jar": "amk.jointstrike.JointStrike_0.2.jar", - "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", - "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "jar": "amk.ChumbaMini_0.2.jar", + "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", + "key": "meleerumble/amk.ChumbaMini_0.2.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 80.2, + "elapsed": 98.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112720.0, + "score": 113140.0, "scores": [ - 18020.0, - 12973.0, - 12849.0, - 11951.0, - 11267.0, - 11041.0, - 10792.0, - 9891.0, - 7783.0, - 6153.0 + 18692.0, + 14842.0, + 12880.0, + 11834.0, + 10274.0, + 10217.0, + 10128.0, + 8718.0, + 8316.0, + 7239.0 ], "skipped": null } }, { "classic": { - "elapsed": 7.4, - "error_count": 132, + "elapsed": 6.7, + "error_count": 76, "error_signatures": [ { "exception": "java.lang.ArrayIndexOutOfBoundsException", @@ -35934,30 +36764,6 @@ "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException", "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", "java.lang.ArrayIndexOutOfBoundsException", @@ -35974,25 +36780,25 @@ ], "has_log": true, "ok": true, - "score": 114905.0, + "score": 114637.0, "scores": [ - 7132.0, - 11159.0, - 15286.0, - 7064.0, - 12490.0, - 8546.0, - 9727.0, - 7687.0, - 14458.0, - 21356.0 + 7954.0, + 11944.0, + 10159.0, + 11647.0, + 7980.0, + 11219.0, + 9416.0, + 5989.0, + 16869.0, + 21460.0 ], - "selected": "amk.jointstrike.JointStrike 0.2" + "selected": "amk.ChumbaMini 0.2" }, - "completed_at": "2026-09-10T20:47:10Z", + "completed_at": "2026-09-10T20:44:30Z", "confirmation": null, - "delta_pct": -1.9, - "id": "d8d75fced51e8ee0", + "delta_pct": -1.3, + "id": "122cca1debac03ac", "manifest": { "artifacts": { "bot_api_jar": { @@ -36001,7 +36807,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -36009,10 +36815,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -36079,10 +36885,6 @@ "jar": "adt.Ar2_1.0.jar", "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" }, - { - "jar": "amk.ChumbaMini_0.2.jar", - "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" - }, { "jar": "amk.ChumbaWumba_0.3.jar", "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" @@ -36095,6 +36897,10 @@ "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, { "jar": "ap.Frederick_1.1.jar", "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" @@ -36113,283 +36919,138687 @@ "width": 1000 }, "source_identity": { - "classic_selected": "amk.jointstrike.JointStrike 0.2", + "classic_selected": "amk.ChumbaMini 0.2", "division": "meleerumble", - "jar": "amk.jointstrike.JointStrike_0.2.jar", - "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", - "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "jar": "amk.ChumbaMini_0.2.jar", + "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", + "key": "meleerumble/amk.ChumbaMini_0.2.jar", "kind": "robot" }, "status": "DISCREPANCY (errors)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 80.2, + "elapsed": 98.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 112720.0, + "score": 113140.0, "scores": [ - 18020.0, - 12973.0, - 12849.0, - 11951.0, - 11267.0, - 11041.0, - 10792.0, - 9891.0, - 7783.0, - 6153.0 + 18692.0, + 14842.0, + 12880.0, + 11834.0, + 10274.0, + 10217.0, + 10128.0, + 8718.0, + 8316.0, + 7239.0 ], "skipped": null } - } - ], - "status": "DISCREPANCY (errors)" - }, - "roborumble/AD.CodaFirst_1.1.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "AD.CodaFirst 1.1", - "division": "roborumble", - "jar": "AD.CodaFirst_1.1.jar", - "jar_sha256": "140825976d19ac8cbbf3a92040a9bc8568acb15933f6888cd0adce705497421f", - "key": "roborumble/AD.CodaFirst_1.1.jar", - "kind": "robot" - }, - "latest_observation": "c64fb0b475ea6e81", - "observations": [ + }, { "classic": { - "elapsed": 2.2, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 6.7, + "error_count": 76, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, "ok": true, - "score": 12974.0, + "score": 114637.0, "scores": [ - 6684.0, - 6290.0 + 7954.0, + 11944.0, + 10159.0, + 11647.0, + 7980.0, + 11219.0, + 9416.0, + 5989.0, + 16869.0, + 21460.0 ], - "selected": "AD.CodaFirst 1.1" + "selected": "amk.ChumbaMini 0.2" }, - "completed_at": "2026-09-08T20:11:39Z", - "delta_pct": -47.8, - "id": "c64fb0b475ea6e81", + "completed_at": "2026-09-10T20:44:30Z", + "confirmation": null, + "delta_pct": -1.3, + "id": "9d895a8bc6e3fd0a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 }, + "retest": null, "setup": { - "height": 600, - "participants": 2, + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, "rounds": 35, - "width": 800 + "width": 1000 }, "source_identity": { - "classic_selected": "AD.CodaFirst 1.1", - "division": "roborumble", - "jar": "AD.CodaFirst_1.1.jar", - "jar_sha256": "140825976d19ac8cbbf3a92040a9bc8568acb15933f6888cd0adce705497421f", - "key": "roborumble/AD.CodaFirst_1.1.jar", + "classic_selected": "amk.ChumbaMini 0.2", + "division": "meleerumble", + "jar": "amk.ChumbaMini_0.2.jar", + "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", + "key": "meleerumble/amk.ChumbaMini_0.2.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 98.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6767.0, + "score": 113140.0, "scores": [ - 3407.0, - 3360.0 + 18692.0, + 14842.0, + 12880.0, + 11834.0, + 10274.0, + 10217.0, + 10128.0, + 8718.0, + 8316.0, + 7239.0 ], "skipped": null } - } - ], - "status": "score-review" - }, - "roborumble/AIR.iRobot_1.0.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "AIR.iRobot 1.0", - "division": "roborumble", - "jar": "AIR.iRobot_1.0.jar", - "jar_sha256": "b0843906e321f787ca4da9f79bdd645f2e8524a69a98056e89350a9efed076af", - "key": "roborumble/AIR.iRobot_1.0.jar", - "kind": "robot" - }, - "latest_observation": "30ccf919e98128fe", - "observations": [ + }, { "classic": { - "elapsed": 2.7, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 6.7, + "error_count": 244, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, "ok": true, - "score": 4947.0, + "score": 114307.0, "scores": [ - 2195.0, - 2752.0 + 7858.0, + 11821.0, + 14088.0, + 11110.0, + 7902.0, + 9653.0, + 10118.0, + 7390.0, + 12961.0, + 21406.0 ], - "selected": "AIR.iRobot 1.0" + "selected": "amk.ChumbaMini 0.2" }, - "completed_at": "2026-09-08T20:20:16Z", - "delta_pct": null, - "id": "30ccf919e98128fe", + "completed_at": "2026-09-28T22:13:53Z", + "confirmation": null, + "delta_pct": -1.1, + "id": "6f6e0ac8484232dd", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", "threshold": 25.0 }, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, "setup": { - "height": 600, - "participants": 2, + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, "rounds": 35, - "width": 800 + "width": 1000 }, "source_identity": { - "classic_selected": "AIR.iRobot 1.0", - "division": "roborumble", - "jar": "AIR.iRobot_1.0.jar", - "jar_sha256": "b0843906e321f787ca4da9f79bdd645f2e8524a69a98056e89350a9efed076af", - "key": "roborumble/AIR.iRobot_1.0.jar", + "classic_selected": "amk.ChumbaMini 0.2", + "division": "meleerumble", + "jar": "amk.ChumbaMini_0.2.jar", + "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", + "key": "meleerumble/amk.ChumbaMini_0.2.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "elapsed": 6.2, - "error_count": 3, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5" + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 113039.0, + "scores": [ + 17688.0, + 14414.0, + 13399.0, + 11830.0, + 11698.0, + 11049.0, + 9413.0, + 8827.0, + 8592.0, + 6129.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "DISCREPANCY (errors)" }, - "roborumble/And.BasicSurfer_FF1.6.jar": { - "diagnosis_events": [], + "meleerumble/amk.ChumbaWumba_0.3.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:34Z" + }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:36Z" + } + ], "identity": { - "classic_selected": "And.BasicSurfer FF1.6", - "division": "roborumble", - "jar": "And.BasicSurfer_FF1.6.jar", - "jar_sha256": "ff0393de6bfab609d13bd37c562ff5d2736e7b186ebfd65039ac1cde3546b1f9", - "key": "roborumble/And.BasicSurfer_FF1.6.jar", + "classic_selected": "amk.ChumbaWumba 0.3", + "division": "meleerumble", + "jar": "amk.ChumbaWumba_0.3.jar", + "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", + "key": "meleerumble/amk.ChumbaWumba_0.3.jar", "kind": "robot" }, - "latest_observation": "e10ba12633f28ccf", + "latest_observation": "1323d63a4492d748", "observations": [ { "classic": { - "elapsed": 3.0, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 6.8, + "error_count": 668, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, "ok": true, - "score": 3671.0, + "score": 114733.0, "scores": [ - 1404.0, - 2267.0 + 10540.0, + 10714.0, + 12139.0, + 8485.0, + 9847.0, + 10336.0, + 9948.0, + 5918.0, + 16863.0, + 19943.0 ], - "selected": "And.BasicSurfer FF1.6" + "selected": "amk.ChumbaWumba 0.3" }, - "completed_at": "2026-09-08T20:26:36Z", - "delta_pct": 9.3, - "id": "e10ba12633f28ccf", + "completed_at": "2026-09-10T20:45:39Z", + "confirmation": null, + "delta_pct": -1.2, + "id": "6b1081bec8093413", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ChumbaWumba 0.3", + "division": "meleerumble", + "jar": "amk.ChumbaWumba_0.3.jar", + "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", + "key": "meleerumble/amk.ChumbaWumba_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 60.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 113340.0, + "scores": [ + 18408.0, + 15775.0, + 13741.0, + 13201.0, + 11103.0, + 10172.0, + 8905.0, + 8499.0, + 7681.0, + 5855.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.8, + "error_count": 668, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114733.0, + "scores": [ + 10540.0, + 10714.0, + 12139.0, + 8485.0, + 9847.0, + 10336.0, + 9948.0, + 5918.0, + 16863.0, + 19943.0 + ], + "selected": "amk.ChumbaWumba 0.3" + }, + "completed_at": "2026-09-10T20:45:39Z", + "confirmation": null, + "delta_pct": -1.2, + "id": "a5a9324d5e525f5b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ChumbaWumba 0.3", + "division": "meleerumble", + "jar": "amk.ChumbaWumba_0.3.jar", + "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", + "key": "meleerumble/amk.ChumbaWumba_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 60.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 113340.0, + "scores": [ + 18408.0, + 15775.0, + 13741.0, + 13201.0, + 11103.0, + 10172.0, + 8905.0, + 8499.0, + 7681.0, + 5855.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.8, + "error_count": 668, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114733.0, + "scores": [ + 10540.0, + 10714.0, + 12139.0, + 8485.0, + 9847.0, + 10336.0, + 9948.0, + 5918.0, + 16863.0, + 19943.0 + ], + "selected": "amk.ChumbaWumba 0.3" + }, + "completed_at": "2026-09-10T20:45:39Z", + "confirmation": null, + "delta_pct": -1.2, + "id": "60be37f85d3b0889", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ChumbaWumba 0.3", + "division": "meleerumble", + "jar": "amk.ChumbaWumba_0.3.jar", + "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", + "key": "meleerumble/amk.ChumbaWumba_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 60.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 113340.0, + "scores": [ + 18408.0, + 15775.0, + 13741.0, + 13201.0, + 11103.0, + 10172.0, + 8905.0, + 8499.0, + 7681.0, + 5855.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.8, + "error_count": 668, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114733.0, + "scores": [ + 10540.0, + 10714.0, + 12139.0, + 8485.0, + 9847.0, + 10336.0, + 9948.0, + 5918.0, + 16863.0, + 19943.0 + ], + "selected": "amk.ChumbaWumba 0.3" + }, + "completed_at": "2026-09-10T20:45:39Z", + "confirmation": null, + "delta_pct": -1.2, + "id": "59b8ce064be79025", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ChumbaWumba 0.3", + "division": "meleerumble", + "jar": "amk.ChumbaWumba_0.3.jar", + "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", + "key": "meleerumble/amk.ChumbaWumba_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 60.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 113340.0, + "scores": [ + 18408.0, + 15775.0, + 13741.0, + 13201.0, + 11103.0, + 10172.0, + 8905.0, + 8499.0, + 7681.0, + 5855.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.5, + "error_count": 220, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114750.0, + "scores": [ + 9015.0, + 13421.0, + 12165.0, + 11098.0, + 7813.0, + 11048.0, + 9806.0, + 5547.0, + 14932.0, + 19905.0 + ], + "selected": "amk.ChumbaWumba 0.3" + }, + "completed_at": "2026-09-28T22:14:42Z", + "confirmation": null, + "delta_pct": -1.4, + "id": "1323d63a4492d748", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" + } + }, + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ChumbaWumba 0.3", + "division": "meleerumble", + "jar": "amk.ChumbaWumba_0.3.jar", + "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", + "key": "meleerumble/amk.ChumbaWumba_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 113151.0, + "scores": [ + 19266.0, + 13900.0, + 13507.0, + 10548.0, + 10363.0, + 10181.0, + 9674.0, + 8948.0, + 8891.0, + 7873.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/amk.Punbot.Punbot_0.01.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:34Z" + }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:36Z" + } + ], + "identity": { + "classic_selected": "amk.Punbot.Punbot 0.01", + "division": "meleerumble", + "jar": "amk.Punbot.Punbot_0.01.jar", + "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", + "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "kind": "robot" + }, + "latest_observation": "b60725ebe22987f2", + "observations": [ + { + "classic": { + "elapsed": 6.8, + "error_count": 910, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114110.0, + "scores": [ + 8525.0, + 9930.0, + 11853.0, + 8407.0, + 12168.0, + 11071.0, + 10876.0, + 6587.0, + 14465.0, + 20228.0 + ], + "selected": "amk.Punbot.Punbot 0.01" + }, + "completed_at": "2026-09-10T20:48:22Z", + "confirmation": null, + "delta_pct": -1.1, + "id": "fb7dcac0a2895b29", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } + }, + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.Punbot.Punbot 0.01", + "division": "meleerumble", + "jar": "amk.Punbot.Punbot_0.01.jar", + "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", + "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 62.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112866.0, + "scores": [ + 16371.0, + 14989.0, + 12660.0, + 12046.0, + 11586.0, + 10807.0, + 10508.0, + 9712.0, + 8593.0, + 5594.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.8, + "error_count": 910, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114110.0, + "scores": [ + 8525.0, + 9930.0, + 11853.0, + 8407.0, + 12168.0, + 11071.0, + 10876.0, + 6587.0, + 14465.0, + 20228.0 + ], + "selected": "amk.Punbot.Punbot 0.01" + }, + "completed_at": "2026-09-10T20:48:22Z", + "confirmation": null, + "delta_pct": -1.1, + "id": "96831501f3e46a56", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.Punbot.Punbot 0.01", + "division": "meleerumble", + "jar": "amk.Punbot.Punbot_0.01.jar", + "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", + "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 62.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112866.0, + "scores": [ + 16371.0, + 14989.0, + 12660.0, + 12046.0, + 11586.0, + 10807.0, + 10508.0, + 9712.0, + 8593.0, + 5594.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.8, + "error_count": 910, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114110.0, + "scores": [ + 8525.0, + 9930.0, + 11853.0, + 8407.0, + 12168.0, + 11071.0, + 10876.0, + 6587.0, + 14465.0, + 20228.0 + ], + "selected": "amk.Punbot.Punbot 0.01" + }, + "completed_at": "2026-09-10T20:48:22Z", + "confirmation": null, + "delta_pct": -1.1, + "id": "ca49806edb3c67ce", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.Punbot.Punbot 0.01", + "division": "meleerumble", + "jar": "amk.Punbot.Punbot_0.01.jar", + "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", + "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 62.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112866.0, + "scores": [ + 16371.0, + 14989.0, + 12660.0, + 12046.0, + 11586.0, + 10807.0, + 10508.0, + 9712.0, + 8593.0, + 5594.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.8, + "error_count": 910, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114110.0, + "scores": [ + 8525.0, + 9930.0, + 11853.0, + 8407.0, + 12168.0, + 11071.0, + 10876.0, + 6587.0, + 14465.0, + 20228.0 + ], + "selected": "amk.Punbot.Punbot 0.01" + }, + "completed_at": "2026-09-10T20:48:22Z", + "confirmation": null, + "delta_pct": -1.1, + "id": "d8d5f7f19cea99d9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.Punbot.Punbot 0.01", + "division": "meleerumble", + "jar": "amk.Punbot.Punbot_0.01.jar", + "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", + "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 62.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112866.0, + "scores": [ + 16371.0, + 14989.0, + 12660.0, + 12046.0, + 11586.0, + 10807.0, + 10508.0, + 9712.0, + 8593.0, + 5594.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 7.0, + "error_count": 842, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114639.0, + "scores": [ + 9034.0, + 12507.0, + 11903.0, + 7774.0, + 9934.0, + 10779.0, + 11658.0, + 5369.0, + 15402.0, + 20279.0 + ], + "selected": "amk.Punbot.Punbot 0.01" + }, + "completed_at": "2026-09-28T22:16:29Z", + "confirmation": null, + "delta_pct": -1.6, + "id": "b60725ebe22987f2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" + } + }, + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.Punbot.Punbot 0.01", + "division": "meleerumble", + "jar": "amk.Punbot.Punbot_0.01.jar", + "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", + "key": "meleerumble/amk.Punbot.Punbot_0.01.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 44.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112820.0, + "scores": [ + 17153.0, + 13417.0, + 12601.0, + 12493.0, + 10802.0, + 10240.0, + 9775.0, + 9464.0, + 9331.0, + 7544.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:34Z" + }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:36Z" + } + ], + "identity": { + "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "division": "meleerumble", + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", + "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "kind": "robot" + }, + "latest_observation": "a7b8728491649f22", + "observations": [ + { + "classic": { + "elapsed": 6.3, + "error_count": 382, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114667.0, + "scores": [ + 8327.0, + 11211.0, + 13732.0, + 6848.0, + 12345.0, + 9601.0, + 9167.0, + 5853.0, + 18786.0, + 18797.0 + ], + "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + }, + "completed_at": "2026-09-10T20:49:28Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "5f5fd2fab070dd18", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } + }, + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "division": "meleerumble", + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", + "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 58.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112507.0, + "scores": [ + 17431.0, + 16717.0, + 12462.0, + 12360.0, + 12075.0, + 10269.0, + 9903.0, + 8853.0, + 7287.0, + 5150.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.3, + "error_count": 382, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114667.0, + "scores": [ + 8327.0, + 11211.0, + 13732.0, + 6848.0, + 12345.0, + 9601.0, + 9167.0, + 5853.0, + 18786.0, + 18797.0 + ], + "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + }, + "completed_at": "2026-09-10T20:49:28Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "3e9e1857d597d012", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "division": "meleerumble", + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", + "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 58.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112507.0, + "scores": [ + 17431.0, + 16717.0, + 12462.0, + 12360.0, + 12075.0, + 10269.0, + 9903.0, + 8853.0, + 7287.0, + 5150.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.3, + "error_count": 382, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114667.0, + "scores": [ + 8327.0, + 11211.0, + 13732.0, + 6848.0, + 12345.0, + 9601.0, + 9167.0, + 5853.0, + 18786.0, + 18797.0 + ], + "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + }, + "completed_at": "2026-09-10T20:49:28Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "155f11307130b1ec", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "division": "meleerumble", + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", + "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 58.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112507.0, + "scores": [ + 17431.0, + 16717.0, + 12462.0, + 12360.0, + 12075.0, + 10269.0, + 9903.0, + 8853.0, + 7287.0, + 5150.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.3, + "error_count": 382, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114667.0, + "scores": [ + 8327.0, + 11211.0, + 13732.0, + 6848.0, + 12345.0, + 9601.0, + 9167.0, + 5853.0, + 18786.0, + 18797.0 + ], + "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + }, + "completed_at": "2026-09-10T20:49:28Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "5db1d80aa5499f68", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "division": "meleerumble", + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", + "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 58.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112507.0, + "scores": [ + 17431.0, + 16717.0, + 12462.0, + 12360.0, + 12075.0, + 10269.0, + 9903.0, + 8853.0, + 7287.0, + 5150.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.6, + "error_count": 58, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 114371.0, + "scores": [ + 12054.0, + 10953.0, + 12993.0, + 10132.0, + 10265.0, + 7985.0, + 9749.0, + 6888.0, + 14528.0, + 18824.0 + ], + "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + }, + "completed_at": "2026-09-28T22:17:18Z", + "confirmation": null, + "delta_pct": -0.9, + "id": "a7b8728491649f22", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" + } + }, + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "division": "meleerumble", + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", + "key": "meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 113363.0, + "scores": [ + 19088.0, + 15310.0, + 15142.0, + 10903.0, + 10327.0, + 10257.0, + 9980.0, + 8006.0, + 7658.0, + 6692.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/amk.jointstrike.JointStrike_0.2.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-10T21:05:34Z" + }, + { + "cause": "robot-file-stream-limit", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-10T21:05:36Z" + } + ], + "identity": { + "classic_selected": "amk.jointstrike.JointStrike 0.2", + "division": "meleerumble", + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", + "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "kind": "robot" + }, + "latest_observation": "d503301e2aabbbd1", + "observations": [ + { + "classic": { + "elapsed": 7.4, + "error_count": 132, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114905.0, + "scores": [ + 7132.0, + 11159.0, + 15286.0, + 7064.0, + 12490.0, + 8546.0, + 9727.0, + 7687.0, + 14458.0, + 21356.0 + ], + "selected": "amk.jointstrike.JointStrike 0.2" + }, + "completed_at": "2026-09-10T20:47:10Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "02ec6bfdbeba885e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } + }, + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.jointstrike.JointStrike 0.2", + "division": "meleerumble", + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", + "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 80.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112720.0, + "scores": [ + 18020.0, + 12973.0, + 12849.0, + 11951.0, + 11267.0, + 11041.0, + 10792.0, + 9891.0, + 7783.0, + 6153.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 7.4, + "error_count": 132, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114905.0, + "scores": [ + 7132.0, + 11159.0, + 15286.0, + 7064.0, + 12490.0, + 8546.0, + 9727.0, + 7687.0, + 14458.0, + 21356.0 + ], + "selected": "amk.jointstrike.JointStrike 0.2" + }, + "completed_at": "2026-09-10T20:47:10Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "d932f279b852aa2e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.jointstrike.JointStrike 0.2", + "division": "meleerumble", + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", + "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 80.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112720.0, + "scores": [ + 18020.0, + 12973.0, + 12849.0, + 11951.0, + 11267.0, + 11041.0, + 10792.0, + 9891.0, + 7783.0, + 6153.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 7.4, + "error_count": 132, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114905.0, + "scores": [ + 7132.0, + 11159.0, + 15286.0, + 7064.0, + 12490.0, + 8546.0, + 9727.0, + 7687.0, + 14458.0, + 21356.0 + ], + "selected": "amk.jointstrike.JointStrike 0.2" + }, + "completed_at": "2026-09-10T20:47:10Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "94879e23606440ae", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.jointstrike.JointStrike 0.2", + "division": "meleerumble", + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", + "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 80.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112720.0, + "scores": [ + 18020.0, + 12973.0, + 12849.0, + 11951.0, + 11267.0, + 11041.0, + 10792.0, + 9891.0, + 7783.0, + 6153.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 7.4, + "error_count": 132, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "net.sf.robocode.host.io.RobotFileSystemManager.addStream" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114905.0, + "scores": [ + 7132.0, + 11159.0, + 15286.0, + 7064.0, + 12490.0, + 8546.0, + 9727.0, + 7687.0, + 14458.0, + 21356.0 + ], + "selected": "amk.jointstrike.JointStrike 0.2" + }, + "completed_at": "2026-09-10T20:47:10Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "d8d75fced51e8ee0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.jointstrike.JointStrike 0.2", + "division": "meleerumble", + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", + "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 80.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 112720.0, + "scores": [ + 18020.0, + 12973.0, + 12849.0, + 11951.0, + 11267.0, + 11041.0, + 10792.0, + 9891.0, + 7783.0, + 6153.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.6, + "error_count": 82, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114751.0, + "scores": [ + 9041.0, + 12527.0, + 12332.0, + 8891.0, + 9437.0, + 8459.0, + 11427.0, + 6721.0, + 16242.0, + 19674.0 + ], + "selected": "amk.jointstrike.JointStrike 0.2" + }, + "completed_at": "2026-09-28T22:15:35Z", + "confirmation": null, + "delta_pct": -0.5, + "id": "d503301e2aabbbd1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" + } + }, + "bridge_commit": "e663103706b048ae53434b2071f7b8c62b45d757", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "robot-file-stream-limit", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "e663103" + }, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.jointstrike.JointStrike 0.2", + "division": "meleerumble", + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", + "key": "meleerumble/amk.jointstrike.JointStrike_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 44.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 114165.0, + "scores": [ + 20775.0, + 11991.0, + 11771.0, + 11026.0, + 10913.0, + 10906.0, + 10879.0, + 9544.0, + 8645.0, + 7715.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/amk.superstrike.SuperStrike_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amk.superstrike.SuperStrike 0.3", + "division": "meleerumble", + "jar": "amk.superstrike.SuperStrike_0.3.jar", + "jar_sha256": "ef146a488f92e25b5f8f957831fd715bb6a6b2b1f8cf72ffa05bad505c34c79b", + "key": "meleerumble/amk.superstrike.SuperStrike_0.3.jar", + "kind": "robot" + }, + "latest_observation": "44e5d871a2089a0a", + "observations": [ + { + "classic": { + "elapsed": 4.2, + "error_count": 506, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114773.0, + "scores": [ + 12595.0, + 13395.0, + 13450.0, + 10253.0, + 11654.0, + 9509.0, + 10236.0, + 9902.0, + 8588.0, + 15191.0 + ], + "selected": "amk.superstrike.SuperStrike 0.3" + }, + "completed_at": "2026-09-22T14:53:54Z", + "confirmation": null, + "delta_pct": -3.1, + "id": "44e5d871a2089a0a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amk.superstrike.SuperStrike 0.3", + "division": "meleerumble", + "jar": "amk.superstrike.SuperStrike_0.3.jar", + "jar_sha256": "ef146a488f92e25b5f8f957831fd715bb6a6b2b1f8cf72ffa05bad505c34c79b", + "key": "meleerumble/amk.superstrike.SuperStrike_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.1, + "error_count": 31, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111227.0, + "scores": [ + 16489.0, + 13494.0, + 12875.0, + 11826.0, + 11765.0, + 11067.0, + 9645.0, + 9202.0, + 7747.0, + 7117.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/amz.NanoClone_1.41.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amz.NanoClone 1.41", + "division": "meleerumble", + "jar": "amz.NanoClone_1.41.jar", + "jar_sha256": "bc98f99e0cc2dcd3f839ccff6bd0e149a5bc70dfc8883c413245567eadd2c401", + "key": "meleerumble/amz.NanoClone_1.41.jar", + "kind": "robot" + }, + "latest_observation": "87e98511be4470ad", + "observations": [ + { + "classic": { + "elapsed": 4.0, + "error_count": 850, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 115230.0, + "scores": [ + 16527.0, + 12302.0, + 13729.0, + 10129.0, + 13776.0, + 7776.0, + 9292.0, + 9913.0, + 5258.0, + 16528.0 + ], + "selected": "amz.NanoClone 1.41" + }, + "completed_at": "2026-09-22T14:54:28Z", + "confirmation": null, + "delta_pct": -5.4, + "id": "87e98511be4470ad", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "amz.NanoClone 1.41", + "division": "meleerumble", + "jar": "amz.NanoClone_1.41.jar", + "jar_sha256": "bc98f99e0cc2dcd3f839ccff6bd0e149a5bc70dfc8883c413245567eadd2c401", + "key": "meleerumble/amz.NanoClone_1.41.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.1, + "error_count": 31, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 109045.0, + "scores": [ + 17603.0, + 15521.0, + 12485.0, + 12428.0, + 11006.0, + 10259.0, + 10131.0, + 9839.0, + 8839.0, + 934.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/ap.Frederick_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ap.Frederick 1.1", + "division": "meleerumble", + "jar": "ap.Frederick_1.1.jar", + "jar_sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899", + "key": "meleerumble/ap.Frederick_1.1.jar", + "kind": "robot" + }, + "latest_observation": "0d8c9f65ee072eec", + "observations": [ + { + "classic": { + "elapsed": 4.7, + "error_count": 150, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114270.0, + "scores": [ + 6080.0, + 12502.0, + 12400.0, + 9241.0, + 9051.0, + 7915.0, + 10097.0, + 10179.0, + 17168.0, + 19637.0 + ], + "selected": "ap.Frederick 1.1" + }, + "completed_at": "2026-09-22T14:56:15Z", + "confirmation": null, + "delta_pct": -1.0, + "id": "0d8c9f65ee072eec", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "ap.Frederick 1.1", + "division": "meleerumble", + "jar": "ap.Frederick_1.1.jar", + "jar_sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899", + "key": "meleerumble/ap.Frederick_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 100.2, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113133.0, + "scores": [ + 18031.0, + 13804.0, + 13372.0, + 11884.0, + 11115.0, + 10820.0, + 9555.0, + 8770.0, + 8746.0, + 7036.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/apc.botM_3.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apc.botM 3.0", + "division": "meleerumble", + "jar": "apc.botM_3.0.jar", + "jar_sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94", + "key": "meleerumble/apc.botM_3.0.jar", + "kind": "robot" + }, + "latest_observation": "e635d3558bfd09bc", + "observations": [ + { + "classic": { + "elapsed": 5.8, + "error_count": 252, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114338.0, + "scores": [ + 13871.0, + 13440.0, + 13586.0, + 7580.0, + 11610.0, + 7178.0, + 10860.0, + 10791.0, + 6795.0, + 18627.0 + ], + "selected": "apc.botM 3.0" + }, + "completed_at": "2026-09-27T21:26:50Z", + "confirmation": null, + "delta_pct": -0.4, + "id": "e635d3558bfd09bc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "apc.botM 3.0", + "division": "meleerumble", + "jar": "apc.botM_3.0.jar", + "jar_sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94", + "key": "meleerumble/apc.botM_3.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 82.2, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113842.0, + "scores": [ + 18645.0, + 13977.0, + 13949.0, + 11473.0, + 11021.0, + 10990.0, + 10347.0, + 9171.0, + 8491.0, + 5778.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/apollokidd.ApolloKidd_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apollokidd.ApolloKidd 0.9", + "division": "meleerumble", + "jar": "apollokidd.ApolloKidd_0.9.jar", + "jar_sha256": "e7153516f9b25d4d571e484022c7c9fc6ab19f036faeb46213764691c84e7390", + "key": "meleerumble/apollokidd.ApolloKidd_0.9.jar", + "kind": "robot" + }, + "latest_observation": "21a2c4a504e912ab", + "observations": [ + { + "classic": { + "elapsed": 5.5, + "error_count": 470, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 116187.0, + "scores": [ + 17764.0, + 11335.0, + 11198.0, + 10393.0, + 12084.0, + 7355.0, + 11497.0, + 11208.0, + 5529.0, + 17824.0 + ], + "selected": "apollokidd.ApolloKidd 0.9" + }, + "completed_at": "2026-09-27T21:27:39Z", + "confirmation": null, + "delta_pct": -2.7, + "id": "21a2c4a504e912ab", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "apollokidd.ApolloKidd 0.9", + "division": "meleerumble", + "jar": "apollokidd.ApolloKidd_0.9.jar", + "jar_sha256": "e7153516f9b25d4d571e484022c7c9fc6ab19f036faeb46213764691c84e7390", + "key": "meleerumble/apollokidd.ApolloKidd_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 29, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113029.0, + "scores": [ + 16905.0, + 14535.0, + 12566.0, + 12036.0, + 11747.0, + 11274.0, + 10961.0, + 10715.0, + 6704.0, + 5586.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/ara.Shera_0.88.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ara.Shera 0.88", + "division": "meleerumble", + "jar": "ara.Shera_0.88.jar", + "jar_sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040", + "key": "meleerumble/ara.Shera_0.88.jar", + "kind": "robot" + }, + "latest_observation": "1e651c72ac620a9e", + "observations": [ + { + "classic": { + "elapsed": 6.4, + "error_count": 376, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113762.0, + "scores": [ + 18088.0, + 11802.0, + 11270.0, + 9328.0, + 11801.0, + 6774.0, + 11089.0, + 8253.0, + 8524.0, + 16833.0 + ], + "selected": "ara.Shera 0.88" + }, + "completed_at": "2026-09-27T21:29:26Z", + "confirmation": null, + "delta_pct": -1.8, + "id": "1e651c72ac620a9e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "ara.Shera 0.88", + "division": "meleerumble", + "jar": "ara.Shera_0.88.jar", + "jar_sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040", + "key": "meleerumble/ara.Shera_0.88.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 98.2, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111750.0, + "scores": [ + 19421.0, + 13392.0, + 12630.0, + 12627.0, + 11575.0, + 9889.0, + 9039.0, + 8815.0, + 7864.0, + 6498.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/arthord.MannyPacquiao_Beta.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "arthord.MannyPacquiao Beta", + "division": "meleerumble", + "jar": "arthord.MannyPacquiao_Beta.jar", + "jar_sha256": "4bffcd9f4553a556fb6d136ffcf958755baf2050b0673d4c8c88f119fa45d257", + "key": "meleerumble/arthord.MannyPacquiao_Beta.jar", + "kind": "robot" + }, + "latest_observation": "4b092c6fc546a70d", + "observations": [ + { + "classic": { + "elapsed": 91.9, + "error_count": 984, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "arthord.MannyPacquiao.run" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.SecurityException", + "origin": "arthord.MannyPacquiao.run" + }, + { + "exception": "robocode.exception.RobotException", + "origin": "arthord.MannyPacquiao.run" + } + ], + "errors": [ + "Robot arthord.MannyPacquiao Beta is not stopping. Forcing a stop.", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "Robot arthord.MannyPacquiao Beta is not stopping. Forcing a stop.", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "Robot arthord.MannyPacquiao Beta is not stopping. Forcing a stop.", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "Robot arthord.MannyPacquiao Beta is not stopping. Forcing a stop.", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "Robot arthord.MannyPacquiao Beta is not stopping. Forcing a stop.", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "Robot arthord.MannyPacquiao Beta is not stopping. Forcing a stop.", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "Robot arthord.MannyPacquiao Beta is not stopping. Forcing a stop.", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "Robot arthord.MannyPacquiao Beta is not stopping. Forcing a stop.", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "Robot arthord.MannyPacquiao Beta is not stopping. Forcing a stop.", + "Unable to stop thread: arthord.MannyPacquiao Beta", + "robocode.exception.RobotException: You cannot take action in this thread!", + "robocode.exception.RobotException: You cannot take action in this thread!", + "robocode.exception.RobotException: You cannot take action in this thread!", + "robocode.exception.RobotException: You cannot take action in this thread!", + "robocode.exception.RobotException: You cannot take action in this thread!", + "robocode.exception.RobotException: You cannot take action in this thread!", + "robocode.exception.RobotException: You cannot take action in this thread!", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114489.0, + "scores": [ + 6551.0, + 13128.0, + 13657.0, + 10281.0, + 15006.0, + 7826.0, + 11601.0, + 11223.0, + 6649.0, + 18567.0 + ], + "selected": "arthord.MannyPacquiao Beta" + }, + "completed_at": "2026-09-27T21:32:57Z", + "confirmation": null, + "delta_pct": -1.0, + "id": "4b092c6fc546a70d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "arthord.MannyPacquiao Beta", + "division": "meleerumble", + "jar": "arthord.MannyPacquiao_Beta.jar", + "jar_sha256": "4bffcd9f4553a556fb6d136ffcf958755baf2050b0673d4c8c88f119fa45d257", + "key": "meleerumble/arthord.MannyPacquiao_Beta.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 116.5, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113381.0, + "scores": [ + 15618.0, + 14513.0, + 14279.0, + 12008.0, + 11910.0, + 11253.0, + 9306.0, + 9163.0, + 8713.0, + 6618.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/arthord.NanoSatanMelee_Beta.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "arthord.NanoSatanMelee Beta", + "division": "meleerumble", + "jar": "arthord.NanoSatanMelee_Beta.jar", + "jar_sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe", + "key": "meleerumble/arthord.NanoSatanMelee_Beta.jar", + "kind": "robot" + }, + "latest_observation": "9b446497f4946220", + "observations": [ + { + "classic": { + "elapsed": 5.9, + "error_count": 480, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113660.0, + "scores": [ + 14506.0, + 10850.0, + 13633.0, + 8313.0, + 10844.0, + 9084.0, + 10834.0, + 11479.0, + 6718.0, + 17399.0 + ], + "selected": "arthord.NanoSatanMelee Beta" + }, + "completed_at": "2026-09-27T21:33:44Z", + "confirmation": null, + "delta_pct": -1.6, + "id": "9b446497f4946220", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "arthord.NanoSatanMelee Beta", + "division": "meleerumble", + "jar": "arthord.NanoSatanMelee_Beta.jar", + "jar_sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe", + "key": "meleerumble/arthord.NanoSatanMelee_Beta.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111787.0, + "scores": [ + 17078.0, + 15823.0, + 11868.0, + 11067.0, + 11046.0, + 10344.0, + 9254.0, + 8897.0, + 8409.0, + 8001.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/ary.Swarm_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ary.Swarm 1.1", + "division": "meleerumble", + "jar": "ary.Swarm_1.1.jar", + "jar_sha256": "4387f83a8810fbb3c99b684097c490a68c166d83d815cfe8f95f4415ce6cd45b", + "key": "meleerumble/ary.Swarm_1.1.jar", + "kind": "robot" + }, + "latest_observation": "4df116958c48cf67", + "observations": [ + { + "classic": { + "elapsed": 6.5, + "error_count": 174, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 113518.0, + "scores": [ + 20371.0, + 11258.0, + 10747.0, + 9319.0, + 10908.0, + 6695.0, + 10314.0, + 9514.0, + 8087.0, + 16305.0 + ], + "selected": "ary.Swarm 1.1" + }, + "completed_at": "2026-09-27T21:34:35Z", + "confirmation": null, + "delta_pct": -0.9, + "id": "4df116958c48cf67", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "ary.Swarm 1.1", + "division": "meleerumble", + "jar": "ary.Swarm_1.1.jar", + "jar_sha256": "4387f83a8810fbb3c99b684097c490a68c166d83d815cfe8f95f4415ce6cd45b", + "key": "meleerumble/ary.Swarm_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112500.0, + "scores": [ + 17952.0, + 17313.0, + 11541.0, + 11021.0, + 10424.0, + 10274.0, + 10260.0, + 8712.0, + 8256.0, + 6747.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/as.FrankTheTank_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "as.FrankTheTank 1.3", + "division": "meleerumble", + "jar": "as.FrankTheTank_1.3.jar", + "jar_sha256": "fba4c679a952beddaf4248435b6432901e8111195b50b0201b16d4a0fcb7de38", + "key": "meleerumble/as.FrankTheTank_1.3.jar", + "kind": "robot" + }, + "latest_observation": "37024126101ec28f", + "observations": [ + { + "classic": { + "elapsed": 5.6, + "error_count": 842, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 115747.0, + "scores": [ + 13489.0, + 12519.0, + 12661.0, + 10435.0, + 14840.0, + 6424.0, + 12063.0, + 11455.0, + 7147.0, + 14714.0 + ], + "selected": "as.FrankTheTank 1.3" + }, + "completed_at": "2026-09-27T21:35:21Z", + "confirmation": null, + "delta_pct": -3.7, + "id": "37024126101ec28f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "as.FrankTheTank 1.3", + "division": "meleerumble", + "jar": "as.FrankTheTank_1.3.jar", + "jar_sha256": "fba4c679a952beddaf4248435b6432901e8111195b50b0201b16d4a0fcb7de38", + "key": "meleerumble/as.FrankTheTank_1.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111487.0, + "scores": [ + 17740.0, + 13744.0, + 13027.0, + 10861.0, + 10702.0, + 10196.0, + 10123.0, + 8527.0, + 8412.0, + 8155.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/asd.Cthulhu_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "asd.Cthulhu 1.3", + "division": "meleerumble", + "jar": "asd.Cthulhu_1.3.jar", + "jar_sha256": "208de4c048a8b6f619c676f0cc8098b758a6fd42ce06689f5549459d0d542051", + "key": "meleerumble/asd.Cthulhu_1.3.jar", + "kind": "robot" + }, + "latest_observation": "1233d28410286af5", + "observations": [ + { + "classic": { + "elapsed": 6.6, + "error_count": 679, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent" + ], + "has_log": true, + "ok": true, + "score": 113820.0, + "scores": [ + 9238.0, + 13221.0, + 15989.0, + 10214.0, + 12046.0, + 8611.0, + 10582.0, + 11008.0, + 5886.0, + 17025.0 + ], + "selected": "asd.Cthulhu 1.3" + }, + "completed_at": "2026-09-27T21:36:15Z", + "confirmation": null, + "delta_pct": -2.8, + "id": "1233d28410286af5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "asd.Cthulhu 1.3", + "division": "meleerumble", + "jar": "asd.Cthulhu_1.3.jar", + "jar_sha256": "208de4c048a8b6f619c676f0cc8098b758a6fd42ce06689f5549459d0d542051", + "key": "meleerumble/asd.Cthulhu_1.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 44.1, + "error_count": 64, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "errore scrittura su file: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 110585.0, + "scores": [ + 16313.0, + 12821.0, + 12439.0, + 11275.0, + 10970.0, + 10886.0, + 10227.0, + 9599.0, + 8563.0, + 7492.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/awesomeness.Elite_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "awesomeness.Elite 1.0", + "division": "meleerumble", + "jar": "awesomeness.Elite_1.0.jar", + "jar_sha256": "4984536ad014022196926ae714ccd7df455cf37b4d5823a3b96dee3479a250b7", + "key": "meleerumble/awesomeness.Elite_1.0.jar", + "kind": "robot" + }, + "latest_observation": "b70b7c4324fb2671", + "observations": [ + { + "classic": { + "elapsed": 5.7, + "error_count": 502, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114370.0, + "scores": [ + 14286.0, + 15419.0, + 12909.0, + 10792.0, + 12230.0, + 7508.0, + 9850.0, + 11635.0, + 7380.0, + 12361.0 + ], + "selected": "awesomeness.Elite 1.0" + }, + "completed_at": "2026-09-27T21:36:59Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "b70b7c4324fb2671", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "awesomeness.Elite 1.0", + "division": "meleerumble", + "jar": "awesomeness.Elite_1.0.jar", + "jar_sha256": "4984536ad014022196926ae714ccd7df455cf37b4d5823a3b96dee3479a250b7", + "key": "meleerumble/awesomeness.Elite_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112230.0, + "scores": [ + 18075.0, + 13739.0, + 13450.0, + 12746.0, + 12467.0, + 10257.0, + 9499.0, + 7829.0, + 7618.0, + 6550.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/axeBots.HataMoto_3.09.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "axeBots.HataMoto 3.09", + "division": "meleerumble", + "jar": "axeBots.HataMoto_3.09.jar", + "jar_sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c", + "key": "meleerumble/axeBots.HataMoto_3.09.jar", + "kind": "robot" + }, + "latest_observation": "f02a222e13047011", + "observations": [ + { + "classic": { + "elapsed": 10.5, + "error_count": 403, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "Unable to stop thread: axeBots.HataMoto 3.09", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent" + ], + "has_log": true, + "ok": true, + "score": 114498.0, + "scores": [ + 15943.0, + 12235.0, + 13261.0, + 8377.0, + 9431.0, + 11796.0, + 11687.0, + 9269.0, + 5723.0, + 16776.0 + ], + "selected": "axeBots.HataMoto 3.09" + }, + "completed_at": "2026-09-27T21:37:46Z", + "confirmation": null, + "delta_pct": null, + "id": "f02a222e13047011", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "axeBots.HataMoto 3.09", + "division": "meleerumble", + "jar": "axeBots.HataMoto_3.09.jar", + "jar_sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c", + "key": "meleerumble/axeBots.HataMoto_3.09.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] + ], + "elapsed": 34.4, + "error_count": 31, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "meleerumble/az.Ololobot_0.2.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "az.Ololobot 0.2.4", + "division": "meleerumble", + "jar": "az.Ololobot_0.2.4.jar", + "jar_sha256": "b6938411c048bde80bf0186892f03342e0c60dff05127052ed21932825765eb9", + "key": "meleerumble/az.Ololobot_0.2.4.jar", + "kind": "robot" + }, + "latest_observation": "091cbdb379677185", + "observations": [ + { + "classic": { + "elapsed": 9.7, + "error_count": 386, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113791.0, + "scores": [ + 17998.0, + 11916.0, + 10794.0, + 8207.0, + 11664.0, + 8502.0, + 10657.0, + 10743.0, + 7085.0, + 16225.0 + ], + "selected": "az.Ololobot 0.2.4" + }, + "completed_at": "2026-09-27T21:38:05Z", + "confirmation": null, + "delta_pct": null, + "id": "091cbdb379677185", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "az.Ololobot 0.2.4", + "division": "meleerumble", + "jar": "az.Ololobot_0.2.4.jar", + "jar_sha256": "b6938411c048bde80bf0186892f03342e0c60dff05127052ed21932825765eb9", + "key": "meleerumble/az.Ololobot_0.2.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "az.Ololobot.onScannedRobot" + ] + ], + "elapsed": 6.2, + "error_count": 344, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "az.Ololobot.onScannedRobot" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "az.Ololobot.run" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13", + "java.lang.ArrayIndexOutOfBoundsException: Index 13 out of bounds for length 13" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "meleerumble/baal.nano.N_1.42.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "baal.nano.N 1.42", + "division": "meleerumble", + "jar": "baal.nano.N_1.42.jar", + "jar_sha256": "a653da798755fcbfe9b62af99b7dfaa37bef7495dc2dc19d908e97e95693bee0", + "key": "meleerumble/baal.nano.N_1.42.jar", + "kind": "robot" + }, + "latest_observation": "584cd0f3ef575185", + "observations": [ + { + "classic": { + "elapsed": 5.6, + "error_count": 348, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114391.0, + "scores": [ + 14746.0, + 11383.0, + 15176.0, + 10987.0, + 12460.0, + 8616.0, + 8516.0, + 9512.0, + 6313.0, + 16682.0 + ], + "selected": "baal.nano.N 1.42" + }, + "completed_at": "2026-09-27T21:38:53Z", + "confirmation": null, + "delta_pct": -0.9, + "id": "584cd0f3ef575185", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "baal.nano.N 1.42", + "division": "meleerumble", + "jar": "baal.nano.N_1.42.jar", + "jar_sha256": "a653da798755fcbfe9b62af99b7dfaa37bef7495dc2dc19d908e97e95693bee0", + "key": "meleerumble/baal.nano.N_1.42.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113377.0, + "scores": [ + 18615.0, + 14200.0, + 13970.0, + 12667.0, + 11101.0, + 9944.0, + 9372.0, + 8584.0, + 8516.0, + 6408.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bayen.UbaMicro_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bayen.UbaMicro 1.4", + "division": "meleerumble", + "jar": "bayen.UbaMicro_1.4.jar", + "jar_sha256": "7691bd56732d5813079f65319f62a7bda392937bfe458528383fd2b89b1a7d11", + "key": "meleerumble/bayen.UbaMicro_1.4.jar", + "kind": "robot" + }, + "latest_observation": "34284e784f889aa4", + "observations": [ + { + "classic": { + "elapsed": 5.5, + "error_count": 480, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 115070.0, + "scores": [ + 15458.0, + 12309.0, + 13362.0, + 10992.0, + 11654.0, + 6284.0, + 10136.0, + 10498.0, + 7612.0, + 16765.0 + ], + "selected": "bayen.UbaMicro 1.4" + }, + "completed_at": "2026-09-28T14:53:56Z", + "confirmation": null, + "delta_pct": -3.1, + "id": "34284e784f889aa4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bayen.UbaMicro 1.4", + "division": "meleerumble", + "jar": "bayen.UbaMicro_1.4.jar", + "jar_sha256": "7691bd56732d5813079f65319f62a7bda392937bfe458528383fd2b89b1a7d11", + "key": "meleerumble/bayen.UbaMicro_1.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 29, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111497.0, + "scores": [ + 19174.0, + 14320.0, + 13240.0, + 12011.0, + 11120.0, + 9680.0, + 8833.0, + 7730.0, + 7716.0, + 7673.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bayen.nut.Squirrel_1.615.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bayen.nut.Squirrel 1.615", + "division": "meleerumble", + "jar": "bayen.nut.Squirrel_1.615.jar", + "jar_sha256": "16e179f041de685fbe45ebcc94b8f2f57cde891552e364d1f58b7779067dc13c", + "key": "meleerumble/bayen.nut.Squirrel_1.615.jar", + "kind": "robot" + }, + "latest_observation": "0e555108c857e84e", + "observations": [ + { + "classic": { + "elapsed": 6.1, + "error_count": 1372, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "bayen.nut.GFTWave1.setSegmentations" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5" + ], + "has_log": true, + "ok": true, + "score": 114815.0, + "scores": [ + 14916.0, + 11952.0, + 13422.0, + 9615.0, + 11057.0, + 8742.0, + 8142.0, + 12660.0, + 5695.0, + 18614.0 + ], + "selected": "bayen.nut.Squirrel 1.615" + }, + "completed_at": "2026-09-28T14:53:12Z", + "confirmation": null, + "delta_pct": null, + "id": "0e555108c857e84e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bayen.nut.Squirrel 1.615", + "division": "meleerumble", + "jar": "bayen.nut.Squirrel_1.615.jar", + "jar_sha256": "16e179f041de685fbe45ebcc94b8f2f57cde891552e364d1f58b7779067dc13c", + "key": "meleerumble/bayen.nut.Squirrel_1.615.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "bayen.nut.GFTWave1.setSegmentations" + ], + [ + "java.lang.NullPointerException", + "bayen.nut.Squirrel.onScannedRobot" + ] + ], + "elapsed": 40.3, + "error_count": 913, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "bayen.nut.GFTWave1.setSegmentations" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "bayen.nut.GFTWave1.setSegmentations" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "bayen.nut.Squirrel.onScannedRobot" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.lastScan\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "meleerumble/bigpete.Stewie_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bigpete.Stewie 1.0", + "division": "meleerumble", + "jar": "bigpete.Stewie_1.0.jar", + "jar_sha256": "743ecaf04844e35915d24a80533652a29adaaf9539955f2178df0ef6148c481d", + "key": "meleerumble/bigpete.Stewie_1.0.jar", + "kind": "robot" + }, + "latest_observation": "24e1c68ffaa4d90a", + "observations": [ + { + "classic": { + "elapsed": 5.7, + "error_count": 152, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 115382.0, + "scores": [ + 18800.0, + 12715.0, + 12622.0, + 9787.0, + 11252.0, + 7604.0, + 11168.0, + 11767.0, + 4672.0, + 14995.0 + ], + "selected": "bigpete.Stewie 1.0" + }, + "completed_at": "2026-09-28T14:54:45Z", + "confirmation": null, + "delta_pct": -2.4, + "id": "24e1c68ffaa4d90a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bigpete.Stewie 1.0", + "division": "meleerumble", + "jar": "bigpete.Stewie_1.0.jar", + "jar_sha256": "743ecaf04844e35915d24a80533652a29adaaf9539955f2178df0ef6148c481d", + "key": "meleerumble/bigpete.Stewie_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112623.0, + "scores": [ + 18470.0, + 16102.0, + 14860.0, + 10882.0, + 10288.0, + 9037.0, + 8786.0, + 8725.0, + 7925.0, + 7548.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/brainfade.melee.Dusk_0.44.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "brainfade.melee.Dusk 0.44", + "division": "meleerumble", + "jar": "brainfade.melee.Dusk_0.44.jar", + "jar_sha256": "a9ebabb60c05453723be3680d718a93a6b212ecf13d3fc408b4e2ab88f5d853b", + "key": "meleerumble/brainfade.melee.Dusk_0.44.jar", + "kind": "robot" + }, + "latest_observation": "a14785216530e193", + "observations": [ + { + "classic": { + "elapsed": 7.2, + "error_count": 462, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113791.0, + "scores": [ + 21345.0, + 11612.0, + 12838.0, + 8083.0, + 11112.0, + 7332.0, + 10695.0, + 8427.0, + 6546.0, + 15801.0 + ], + "selected": "brainfade.melee.Dusk 0.44" + }, + "completed_at": "2026-09-28T14:55:34Z", + "confirmation": null, + "delta_pct": -2.8, + "id": "a14785216530e193", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "brainfade.melee.Dusk 0.44", + "division": "meleerumble", + "jar": "brainfade.melee.Dusk_0.44.jar", + "jar_sha256": "a9ebabb60c05453723be3680d718a93a6b212ecf13d3fc408b4e2ab88f5d853b", + "key": "meleerumble/brainfade.melee.Dusk_0.44.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 110568.0, + "scores": [ + 19184.0, + 17467.0, + 12098.0, + 10948.0, + 10476.0, + 9125.0, + 9005.0, + 8435.0, + 7081.0, + 6749.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/brainfade.melee.Genghis_0.36.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "brainfade.melee.Genghis 0.36", + "division": "meleerumble", + "jar": "brainfade.melee.Genghis_0.36.jar", + "jar_sha256": "c23535c5ec25af4f0813bb8b56ffb7749228dd5af642aa5e9087d546681b718c", + "key": "meleerumble/brainfade.melee.Genghis_0.36.jar", + "kind": "robot" + }, + "latest_observation": "a7743ab3acf92fc8", + "observations": [ + { + "classic": { + "elapsed": 5.7, + "error_count": 186, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113896.0, + "scores": [ + 15697.0, + 11642.0, + 11393.0, + 9336.0, + 12506.0, + 7765.0, + 11403.0, + 12004.0, + 6721.0, + 15429.0 + ], + "selected": "brainfade.melee.Genghis 0.36" + }, + "completed_at": "2026-09-28T14:56:56Z", + "confirmation": null, + "delta_pct": -2.6, + "id": "a7743ab3acf92fc8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "brainfade.melee.Genghis 0.36", + "division": "meleerumble", + "jar": "brainfade.melee.Genghis_0.36.jar", + "jar_sha256": "c23535c5ec25af4f0813bb8b56ffb7749228dd5af642aa5e9087d546681b718c", + "key": "meleerumble/brainfade.melee.Genghis_0.36.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 110897.0, + "scores": [ + 15869.0, + 15304.0, + 14713.0, + 11545.0, + 10800.0, + 10656.0, + 9083.0, + 8754.0, + 7146.0, + 7027.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bts.mega.Gnarly_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bts.mega.Gnarly 1.4", + "division": "meleerumble", + "jar": "bts.mega.Gnarly_1.4.jar", + "jar_sha256": "77d1f463511e268b1a020f8571fe932a03760447e30067846a3c1d6090368f81", + "key": "meleerumble/bts.mega.Gnarly_1.4.jar", + "kind": "robot" + }, + "latest_observation": "bc55ababbbac09b4", + "observations": [ + { + "classic": { + "elapsed": 6.5, + "error_count": 280, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114094.0, + "scores": [ + 20493.0, + 11510.0, + 14690.0, + 10732.0, + 10027.0, + 7432.0, + 8494.0, + 9885.0, + 5828.0, + 15003.0 + ], + "selected": "bts.mega.Gnarly 1.4" + }, + "completed_at": "2026-09-28T14:57:45Z", + "confirmation": null, + "delta_pct": -2.7, + "id": "bc55ababbbac09b4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bts.mega.Gnarly 1.4", + "division": "meleerumble", + "jar": "bts.mega.Gnarly_1.4.jar", + "jar_sha256": "77d1f463511e268b1a020f8571fe932a03760447e30067846a3c1d6090368f81", + "key": "meleerumble/bts.mega.Gnarly_1.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111049.0, + "scores": [ + 17267.0, + 16711.0, + 11831.0, + 11774.0, + 11384.0, + 10943.0, + 9345.0, + 9074.0, + 6428.0, + 6292.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bts.wiki.RipCurl_0.9b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bts.wiki.RipCurl 0.9b", + "division": "meleerumble", + "jar": "bts.wiki.RipCurl_0.9b.jar", + "jar_sha256": "1f9a52c3ea49c22e5755defaaf43f355801169537f7a9636d1708bd00064e4c9", + "key": "meleerumble/bts.wiki.RipCurl_0.9b.jar", + "kind": "robot" + }, + "latest_observation": "8de5e7872b68c360", + "observations": [ + { + "classic": { + "elapsed": 6.6, + "error_count": 418, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113373.0, + "scores": [ + 18552.0, + 12150.0, + 10463.0, + 10108.0, + 10018.0, + 8338.0, + 9937.0, + 11805.0, + 5672.0, + 16330.0 + ], + "selected": "bts.wiki.RipCurl 0.9b" + }, + "completed_at": "2026-09-28T14:58:06Z", + "confirmation": null, + "delta_pct": null, + "id": "8de5e7872b68c360", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bts.wiki.RipCurl 0.9b", + "division": "meleerumble", + "jar": "bts.wiki.RipCurl_0.9b.jar", + "jar_sha256": "1f9a52c3ea49c22e5755defaaf43f355801169537f7a9636d1708bd00064e4c9", + "key": "meleerumble/bts.wiki.RipCurl_0.9b.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "us.bluetorch.robocode.movement.MinimumRisk.onScannedRobot" + ] + ], + "elapsed": 12.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "us.bluetorch.robocode.movement.MinimumRisk.onScannedRobot" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.SecurityException", + "origin": "us.bluetorch.robocode.movement.MinimumRisk.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "meleerumble/bvh.fnr.Fenrir_0.36l.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.fnr.Fenrir 0.36l", + "division": "meleerumble", + "jar": "bvh.fnr.Fenrir_0.36l.jar", + "jar_sha256": "986ed898d1fa2556d204321e33139543a61c6ddda15b419b877cc7009e91b5d9", + "key": "meleerumble/bvh.fnr.Fenrir_0.36l.jar", + "kind": "robot" + }, + "latest_observation": "bf04da4787f958fa", + "observations": [ + { + "classic": { + "elapsed": 6.8, + "error_count": 442, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114908.0, + "scores": [ + 14179.0, + 11951.0, + 13771.0, + 10439.0, + 9948.0, + 9540.0, + 11095.0, + 11001.0, + 7720.0, + 15264.0 + ], + "selected": "bvh.fnr.Fenrir 0.36l" + }, + "completed_at": "2026-09-28T14:58:51Z", + "confirmation": null, + "delta_pct": -2.4, + "id": "bf04da4787f958fa", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bvh.fnr.Fenrir 0.36l", + "division": "meleerumble", + "jar": "bvh.fnr.Fenrir_0.36l.jar", + "jar_sha256": "986ed898d1fa2556d204321e33139543a61c6ddda15b419b877cc7009e91b5d9", + "key": "meleerumble/bvh.fnr.Fenrir_0.36l.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112186.0, + "scores": [ + 17120.0, + 16192.0, + 13192.0, + 10273.0, + 9919.0, + 9612.0, + 9393.0, + 9359.0, + 8565.0, + 8561.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bvh.fry.Freya_0.82.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.fry.Freya 0.82", + "division": "meleerumble", + "jar": "bvh.fry.Freya_0.82.jar", + "jar_sha256": "2618ef3fb7cd8cb814b33be2531dc1e81661554362f93b29a80d1cce31f12fe5", + "key": "meleerumble/bvh.fry.Freya_0.82.jar", + "kind": "robot" + }, + "latest_observation": "9cf9fac0e57b6fcc", + "observations": [ + { + "classic": { + "elapsed": 8.0, + "error_count": 136, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 115024.0, + "scores": [ + 21782.0, + 15163.0, + 10938.0, + 7900.0, + 10752.0, + 8990.0, + 9787.0, + 8983.0, + 7075.0, + 13654.0 + ], + "selected": "bvh.fry.Freya 0.82" + }, + "completed_at": "2026-09-28T14:59:44Z", + "confirmation": null, + "delta_pct": -2.8, + "id": "9cf9fac0e57b6fcc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bvh.fry.Freya 0.82", + "division": "meleerumble", + "jar": "bvh.fry.Freya_0.82.jar", + "jar_sha256": "2618ef3fb7cd8cb814b33be2531dc1e81661554362f93b29a80d1cce31f12fe5", + "key": "meleerumble/bvh.fry.Freya_0.82.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111777.0, + "scores": [ + 18691.0, + 16496.0, + 12082.0, + 10656.0, + 9636.0, + 9292.0, + 9042.0, + 8780.0, + 8565.0, + 8537.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bvh.micro.Freya_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.micro.Freya 0.3", + "division": "meleerumble", + "jar": "bvh.micro.Freya_0.3.jar", + "jar_sha256": "97868a0fa8ea022df4e19ae810f3a098da8c0d897ebd4564c1afe2b9f9002890", + "key": "meleerumble/bvh.micro.Freya_0.3.jar", + "kind": "robot" + }, + "latest_observation": "ccc68151c7d9cdd0", + "observations": [ + { + "classic": { + "elapsed": 5.7, + "error_count": 334, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113956.0, + "scores": [ + 17636.0, + 11965.0, + 12889.0, + 9076.0, + 8845.0, + 8356.0, + 11243.0, + 10130.0, + 5834.0, + 17982.0 + ], + "selected": "bvh.micro.Freya 0.3" + }, + "completed_at": "2026-09-28T15:00:26Z", + "confirmation": null, + "delta_pct": -2.9, + "id": "ccc68151c7d9cdd0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bvh.micro.Freya 0.3", + "division": "meleerumble", + "jar": "bvh.micro.Freya_0.3.jar", + "jar_sha256": "97868a0fa8ea022df4e19ae810f3a098da8c0d897ebd4564c1afe2b9f9002890", + "key": "meleerumble/bvh.micro.Freya_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 110659.0, + "scores": [ + 19685.0, + 14448.0, + 13954.0, + 11561.0, + 10443.0, + 10089.0, + 8023.0, + 7982.0, + 7666.0, + 6808.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bvh.mini.Fenrir_0.39.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.mini.Fenrir 0.39", + "division": "meleerumble", + "jar": "bvh.mini.Fenrir_0.39.jar", + "jar_sha256": "3d63cdf11e5846c7e295db9c27965b84e7d1944b923d09979819f188700220a1", + "key": "meleerumble/bvh.mini.Fenrir_0.39.jar", + "kind": "robot" + }, + "latest_observation": "0f4b5e123283cfed", + "observations": [ + { + "classic": { + "elapsed": 5.4, + "error_count": 490, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114310.0, + "scores": [ + 14028.0, + 11390.0, + 15175.0, + 9069.0, + 10235.0, + 8867.0, + 11885.0, + 10312.0, + 6994.0, + 16355.0 + ], + "selected": "bvh.mini.Fenrir 0.39" + }, + "completed_at": "2026-09-28T15:01:08Z", + "confirmation": null, + "delta_pct": -2.5, + "id": "0f4b5e123283cfed", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bvh.mini.Fenrir 0.39", + "division": "meleerumble", + "jar": "bvh.mini.Fenrir_0.39.jar", + "jar_sha256": "3d63cdf11e5846c7e295db9c27965b84e7d1944b923d09979819f188700220a1", + "key": "meleerumble/bvh.mini.Fenrir_0.39.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111487.0, + "scores": [ + 18037.0, + 12514.0, + 12218.0, + 11715.0, + 11689.0, + 11584.0, + 10627.0, + 10604.0, + 6306.0, + 6193.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bvh.mini.Freya_0.55.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.mini.Freya 0.55", + "division": "meleerumble", + "jar": "bvh.mini.Freya_0.55.jar", + "jar_sha256": "4a3e45054c437df7ac073756d18ff8b6cf67ab4f9f686484a325afdd455c4452", + "key": "meleerumble/bvh.mini.Freya_0.55.jar", + "kind": "robot" + }, + "latest_observation": "9d8c3fd37f10fca5", + "observations": [ + { + "classic": { + "elapsed": 5.7, + "error_count": 374, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113774.0, + "scores": [ + 19488.0, + 11980.0, + 12137.0, + 9554.0, + 10313.0, + 9397.0, + 9904.0, + 9830.0, + 5763.0, + 15408.0 + ], + "selected": "bvh.mini.Freya 0.55" + }, + "completed_at": "2026-09-28T15:01:54Z", + "confirmation": null, + "delta_pct": -1.8, + "id": "9d8c3fd37f10fca5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bvh.mini.Freya 0.55", + "division": "meleerumble", + "jar": "bvh.mini.Freya_0.55.jar", + "jar_sha256": "4a3e45054c437df7ac073756d18ff8b6cf67ab4f9f686484a325afdd455c4452", + "key": "meleerumble/bvh.mini.Freya_0.55.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 31, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111763.0, + "scores": [ + 17813.0, + 16353.0, + 13673.0, + 12245.0, + 9616.0, + 9138.0, + 8804.0, + 8700.0, + 8390.0, + 7031.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bwbaugh.nano.Tirunculus_0.0.0a.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bwbaugh.nano.Tirunculus 0.0.0a", + "division": "meleerumble", + "jar": "bwbaugh.nano.Tirunculus_0.0.0a.jar", + "jar_sha256": "d1fcb6072a0110947df39ad0db284f0fa4f229e7ef0f0d2502553ca0b2acb7d4", + "key": "meleerumble/bwbaugh.nano.Tirunculus_0.0.0a.jar", + "kind": "robot" + }, + "latest_observation": "a37eccfc435298b2", + "observations": [ + { + "classic": { + "elapsed": 5.2, + "error_count": 632, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 117741.0, + "scores": [ + 9279.0, + 13235.0, + 14264.0, + 10101.0, + 10430.0, + 10010.0, + 10818.0, + 14176.0, + 6888.0, + 18540.0 + ], + "selected": "bwbaugh.nano.Tirunculus 0.0.0a" + }, + "completed_at": "2026-09-28T15:02:34Z", + "confirmation": null, + "delta_pct": -1.4, + "id": "a37eccfc435298b2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bwbaugh.nano.Tirunculus 0.0.0a", + "division": "meleerumble", + "jar": "bwbaugh.nano.Tirunculus_0.0.0a.jar", + "jar_sha256": "d1fcb6072a0110947df39ad0db284f0fa4f229e7ef0f0d2502553ca0b2acb7d4", + "key": "meleerumble/bwbaugh.nano.Tirunculus_0.0.0a.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 116098.0, + "scores": [ + 17386.0, + 14002.0, + 12647.0, + 12156.0, + 12095.0, + 11485.0, + 11419.0, + 11223.0, + 8991.0, + 4694.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bzdp.BoxCar_2.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:42Z" + } + ], + "identity": { + "classic_selected": "bzdp.BoxCar 2.0", + "division": "meleerumble", + "jar": "bzdp.BoxCar_2.0.jar", + "jar_sha256": "22e13c11b29fb3ed958288b38d67ab6ae02bd899f16ddcf96295f621e795ecb6", + "key": "meleerumble/bzdp.BoxCar_2.0.jar", + "kind": "robot" + }, + "latest_observation": "36c414b3475bc35a", + "observations": [ + { + "classic": { + "elapsed": 5.6, + "error_count": 374, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114846.0, + "scores": [ + 12117.0, + 11875.0, + 12841.0, + 8511.0, + 12018.0, + 7915.0, + 12427.0, + 11351.0, + 7041.0, + 18750.0 + ], + "selected": "bzdp.BoxCar 2.0" + }, + "completed_at": "2026-09-28T16:09:09Z", + "confirmation": null, + "delta_pct": -1.2, + "id": "36c414b3475bc35a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bzdp.BoxCar 2.0", + "division": "meleerumble", + "jar": "bzdp.BoxCar_2.0.jar", + "jar_sha256": "22e13c11b29fb3ed958288b38d67ab6ae02bd899f16ddcf96295f621e795ecb6", + "key": "meleerumble/bzdp.BoxCar_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113417.0, + "scores": [ + 18698.0, + 14013.0, + 12719.0, + 12141.0, + 12057.0, + 10694.0, + 10184.0, + 8399.0, + 7885.0, + 6627.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/bzdp.Pansy_2.1.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:42Z" + } + ], + "identity": { + "classic_selected": "bzdp.Pansy 2.1", + "division": "meleerumble", + "jar": "bzdp.Pansy_2.1.jar", + "jar_sha256": "71057e19022678ba19a873854afb4bd32a986ae77c5105c79cb549ab664ff939", + "key": "meleerumble/bzdp.Pansy_2.1.jar", + "kind": "robot" + }, + "latest_observation": "99b9848bba0aaf07", + "observations": [ + { + "classic": { + "elapsed": 5.7, + "error_count": 1220, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113418.0, + "scores": [ + 17902.0, + 10700.0, + 12570.0, + 9436.0, + 9638.0, + 7912.0, + 12580.0, + 11172.0, + 6546.0, + 14962.0 + ], + "selected": "bzdp.Pansy 2.1" + }, + "completed_at": "2026-09-28T16:09:55Z", + "confirmation": null, + "delta_pct": -3.6, + "id": "99b9848bba0aaf07", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "bzdp.Pansy 2.1", + "division": "meleerumble", + "jar": "bzdp.Pansy_2.1.jar", + "jar_sha256": "71057e19022678ba19a873854afb4bd32a986ae77c5105c79cb549ab664ff939", + "key": "meleerumble/bzdp.Pansy_2.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 109362.0, + "scores": [ + 19317.0, + 14015.0, + 13354.0, + 11963.0, + 9852.0, + 9631.0, + 9263.0, + 8929.0, + 8204.0, + 4834.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/caimano.Furia_Ceca_0.22.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:43Z" + } + ], + "identity": { + "classic_selected": "caimano.Furia_Ceca 0.22", + "division": "meleerumble", + "jar": "caimano.Furia_Ceca_0.22.jar", + "jar_sha256": "c1ce5bbf430fe9edc12da1768284be6f3d5bc35a9f48c84819f21edd32241616", + "key": "meleerumble/caimano.Furia_Ceca_0.22.jar", + "kind": "robot" + }, + "latest_observation": "ea8e5e13560f1498", + "observations": [ + { + "classic": { + "elapsed": 5.7, + "error_count": 666, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114658.0, + "scores": [ + 11496.0, + 11884.0, + 15096.0, + 8732.0, + 13881.0, + 7693.0, + 10048.0, + 12959.0, + 7782.0, + 15087.0 + ], + "selected": "caimano.Furia_Ceca 0.22" + }, + "completed_at": "2026-09-28T16:10:39Z", + "confirmation": null, + "delta_pct": -4.6, + "id": "ea8e5e13560f1498", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "caimano.Furia_Ceca 0.22", + "division": "meleerumble", + "jar": "caimano.Furia_Ceca_0.22.jar", + "jar_sha256": "c1ce5bbf430fe9edc12da1768284be6f3d5bc35a9f48c84819f21edd32241616", + "key": "meleerumble/caimano.Furia_Ceca_0.22.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 109336.0, + "scores": [ + 18904.0, + 15252.0, + 13169.0, + 12531.0, + 11884.0, + 10657.0, + 9063.0, + 8817.0, + 6944.0, + 2115.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cb.fire.Firestarter_2.0f.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:44Z" + } + ], + "identity": { + "classic_selected": "cb.fire.Firestarter 2.0f", + "division": "meleerumble", + "jar": "cb.fire.Firestarter_2.0f.jar", + "jar_sha256": "de45410b59fea6b8fad9463ece161e1e1656960129f1b9bc84791137d788325f", + "key": "meleerumble/cb.fire.Firestarter_2.0f.jar", + "kind": "robot" + }, + "latest_observation": "0b2c1f3d52ecd23f", + "observations": [ + { + "classic": { + "elapsed": 14.7, + "error_count": 274, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114209.0, + "scores": [ + 24521.0, + 11267.0, + 11005.0, + 8155.0, + 9799.0, + 8261.0, + 10228.0, + 10681.0, + 6620.0, + 13672.0 + ], + "selected": "cb.fire.Firestarter 2.0f" + }, + "completed_at": "2026-09-28T16:11:03Z", + "confirmation": null, + "delta_pct": null, + "id": "182799895992e154", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cb.fire.Firestarter 2.0f", + "division": "meleerumble", + "jar": "cb.fire.Firestarter_2.0f.jar", + "jar_sha256": "de45410b59fea6b8fad9463ece161e1e1656960129f1b9bc84791137d788325f", + "key": "meleerumble/cb.fire.Firestarter_2.0f.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "C.I.I" + ] + ], + "elapsed": 6.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "C.I.I" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 14.7, + "error_count": 384, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113452.0, + "scores": [ + 24971.0, + 10612.0, + 12517.0, + 8297.0, + 9011.0, + 7331.0, + 9903.0, + 10300.0, + 6235.0, + 14275.0 + ], + "selected": "cb.fire.Firestarter 2.0f" + }, + "completed_at": "2026-09-28T19:24:43Z", + "confirmation": null, + "delta_pct": null, + "id": "141ef48cc8f44a7f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cb.fire.Firestarter 2.0f", + "division": "meleerumble", + "jar": "cb.fire.Firestarter_2.0f.jar", + "jar_sha256": "de45410b59fea6b8fad9463ece161e1e1656960129f1b9bc84791137d788325f", + "key": "meleerumble/cb.fire.Firestarter_2.0f.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "C.I.I" + ] + ], + "elapsed": 6.7, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "C.I.I" + } + ], + "errors": [ + "HARNESS: process-tree termination incomplete", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 14.9, + "error_count": 196, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114144.0, + "scores": [ + 25119.0, + 8518.0, + 10871.0, + 8352.0, + 9465.0, + 7078.0, + 10767.0, + 10988.0, + 6900.0, + 16086.0 + ], + "selected": "cb.fire.Firestarter 2.0f" + }, + "completed_at": "2026-09-28T19:29:41Z", + "confirmation": null, + "delta_pct": null, + "id": "0b2c1f3d52ecd23f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cb.fire.Firestarter 2.0f", + "division": "meleerumble", + "jar": "cb.fire.Firestarter_2.0f.jar", + "jar_sha256": "de45410b59fea6b8fad9463ece161e1e1656960129f1b9bc84791137d788325f", + "key": "meleerumble/cb.fire.Firestarter_2.0f.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "C.I.I" + ] + ], + "elapsed": 6.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "C.I.I" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "meleerumble/cb.nano.Insomnia_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:45Z" + } + ], + "identity": { + "classic_selected": "cb.nano.Insomnia 1.0", + "division": "meleerumble", + "jar": "cb.nano.Insomnia_1.0.jar", + "jar_sha256": "dfaa0b7522185985faaaad2c8c8761b56ed6b2e31f9d256de0abbcf466863d30", + "key": "meleerumble/cb.nano.Insomnia_1.0.jar", + "kind": "robot" + }, + "latest_observation": "abd63f20d915d381", + "observations": [ + { + "classic": { + "elapsed": 5.9, + "error_count": 376, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114938.0, + "scores": [ + 16095.0, + 11100.0, + 13018.0, + 9624.0, + 11496.0, + 8350.0, + 10008.0, + 12126.0, + 6554.0, + 16567.0 + ], + "selected": "cb.nano.Insomnia 1.0" + }, + "completed_at": "2026-09-28T16:11:53Z", + "confirmation": null, + "delta_pct": -2.6, + "id": "abd63f20d915d381", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cb.nano.Insomnia 1.0", + "division": "meleerumble", + "jar": "cb.nano.Insomnia_1.0.jar", + "jar_sha256": "dfaa0b7522185985faaaad2c8c8761b56ed6b2e31f9d256de0abbcf466863d30", + "key": "meleerumble/cb.nano.Insomnia_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111968.0, + "scores": [ + 16404.0, + 14949.0, + 13355.0, + 11901.0, + 11209.0, + 11049.0, + 9722.0, + 9515.0, + 7260.0, + 6604.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cf.RiO.RiOx_4.2.1.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:45Z" + } + ], + "identity": { + "classic_selected": "cf.RiO.RiOx 4.2.1", + "division": "meleerumble", + "jar": "cf.RiO.RiOx_4.2.1.jar", + "jar_sha256": "da01319579e24798cf6d7a05cfd13f5c8ba9fe4c704006c8fb4b8ff6fe5f9b9e", + "key": "meleerumble/cf.RiO.RiOx_4.2.1.jar", + "kind": "robot" + }, + "latest_observation": "491778d42b27fa0a", + "observations": [ + { + "classic": { + "elapsed": 6.1, + "error_count": 498, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113657.0, + "scores": [ + 14786.0, + 15862.0, + 10942.0, + 10402.0, + 10138.0, + 7639.0, + 12008.0, + 10689.0, + 5137.0, + 16054.0 + ], + "selected": "cf.RiO.RiOx 4.2.1" + }, + "completed_at": "2026-09-28T16:12:10Z", + "confirmation": null, + "delta_pct": null, + "id": "c242a347b379c873", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cf.RiO.RiOx 4.2.1", + "division": "meleerumble", + "jar": "cf.RiO.RiOx_4.2.1.jar", + "jar_sha256": "da01319579e24798cf6d7a05cfd13f5c8ba9fe4c704006c8fb4b8ff6fe5f9b9e", + "key": "meleerumble/cf.RiO.RiOx_4.2.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "cf.OPs.RiOxM_OP.onScannedRobot" + ] + ], + "elapsed": 8.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "cf.OPs.RiOxM_OP.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9", + "java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.2, + "error_count": 616, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114652.0, + "scores": [ + 14648.0, + 12032.0, + 14132.0, + 9447.0, + 10519.0, + 8756.0, + 11644.0, + 11545.0, + 6320.0, + 15609.0 + ], + "selected": "cf.RiO.RiOx 4.2.1" + }, + "completed_at": "2026-09-28T19:30:34Z", + "confirmation": null, + "delta_pct": null, + "id": "491778d42b27fa0a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cf.RiO.RiOx 4.2.1", + "division": "meleerumble", + "jar": "cf.RiO.RiOx_4.2.1.jar", + "jar_sha256": "da01319579e24798cf6d7a05cfd13f5c8ba9fe4c704006c8fb4b8ff6fe5f9b9e", + "key": "meleerumble/cf.RiO.RiOx_4.2.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "cf.OPs.RiOxM_OP.onScannedRobot" + ] + ], + "elapsed": 8.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "cf.OPs.RiOxM_OP.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "meleerumble/cli.Dancer_1.1.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:45Z" + } + ], + "identity": { + "classic_selected": "cli.Dancer 1.1", + "division": "meleerumble", + "jar": "cli.Dancer_1.1.jar", + "jar_sha256": "6126e668dd994c5d3b47f50cad7e28313ad0b67ef1d5def7746846a35de8e07b", + "key": "meleerumble/cli.Dancer_1.1.jar", + "kind": "robot" + }, + "latest_observation": "6a47d423a68edb16", + "observations": [ + { + "classic": { + "elapsed": 5.7, + "error_count": 300, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 115508.0, + "scores": [ + 16629.0, + 10862.0, + 15063.0, + 10935.0, + 11846.0, + 9003.0, + 11183.0, + 9361.0, + 5587.0, + 15039.0 + ], + "selected": "cli.Dancer 1.1" + }, + "completed_at": "2026-09-28T16:12:56Z", + "confirmation": null, + "delta_pct": -2.4, + "id": "6a47d423a68edb16", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cli.Dancer 1.1", + "division": "meleerumble", + "jar": "cli.Dancer_1.1.jar", + "jar_sha256": "6126e668dd994c5d3b47f50cad7e28313ad0b67ef1d5def7746846a35de8e07b", + "key": "meleerumble/cli.Dancer_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112749.0, + "scores": [ + 16593.0, + 16492.0, + 14994.0, + 12659.0, + 11268.0, + 9999.0, + 8512.0, + 8443.0, + 7870.0, + 5919.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cli.WasteOfAmmo_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:46Z" + } + ], + "identity": { + "classic_selected": "cli.WasteOfAmmo 1.0", + "division": "meleerumble", + "jar": "cli.WasteOfAmmo_1.0.jar", + "jar_sha256": "c899395217eb5b9a8c9bdcd3e8869616ec23576e787e4ce3e2c7c3263695b36f", + "key": "meleerumble/cli.WasteOfAmmo_1.0.jar", + "kind": "robot" + }, + "latest_observation": "aea5ddeab60de735", + "observations": [ + { + "classic": { + "elapsed": 5.5, + "error_count": 560, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 115532.0, + "scores": [ + 3500.0, + 16610.0, + 12701.0, + 12084.0, + 11730.0, + 10153.0, + 12031.0, + 11907.0, + 8258.0, + 16558.0 + ], + "selected": "cli.WasteOfAmmo 1.0" + }, + "completed_at": "2026-09-28T16:13:40Z", + "confirmation": null, + "delta_pct": -2.2, + "id": "aea5ddeab60de735", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cli.WasteOfAmmo 1.0", + "division": "meleerumble", + "jar": "cli.WasteOfAmmo_1.0.jar", + "jar_sha256": "c899395217eb5b9a8c9bdcd3e8869616ec23576e787e4ce3e2c7c3263695b36f", + "key": "meleerumble/cli.WasteOfAmmo_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 32, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112999.0, + "scores": [ + 17636.0, + 15211.0, + 14520.0, + 12130.0, + 11478.0, + 11102.0, + 9885.0, + 9448.0, + 9239.0, + 2350.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/co.edu.usb.rc.LidisTron_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:46Z" + } + ], + "identity": { + "classic_selected": "co.edu.usb.rc.LidisTron 1.0", + "division": "meleerumble", + "jar": "co.edu.usb.rc.LidisTron_1.0.jar", + "jar_sha256": "1cb4a6827cfe40c553dd9d2464713ffef9f0bbe682cf0dd59e3b83c9d46a03e8", + "key": "meleerumble/co.edu.usb.rc.LidisTron_1.0.jar", + "kind": "robot" + }, + "latest_observation": "cf68d47889537d83", + "observations": [ + { + "classic": { + "elapsed": 5.7, + "error_count": 218, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114436.0, + "scores": [ + 14929.0, + 12815.0, + 14221.0, + 8083.0, + 11559.0, + 8017.0, + 10743.0, + 10346.0, + 9240.0, + 14483.0 + ], + "selected": "co.edu.usb.rc.LidisTron 1.0" + }, + "completed_at": "2026-09-28T16:14:26Z", + "confirmation": null, + "delta_pct": -1.7, + "id": "cf68d47889537d83", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "co.edu.usb.rc.LidisTron 1.0", + "division": "meleerumble", + "jar": "co.edu.usb.rc.LidisTron_1.0.jar", + "jar_sha256": "1cb4a6827cfe40c553dd9d2464713ffef9f0bbe682cf0dd59e3b83c9d46a03e8", + "key": "meleerumble/co.edu.usb.rc.LidisTron_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.2, + "error_count": 33, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112539.0, + "scores": [ + 17271.0, + 12991.0, + 12446.0, + 12066.0, + 10624.0, + 10579.0, + 10551.0, + 9618.0, + 9522.0, + 6871.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:47Z" + } + ], + "identity": { + "classic_selected": "com.blogspot.malinkody.DestrobotMalin 1.0", + "division": "meleerumble", + "jar": "com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "jar_sha256": "d3205656d01007c800f5fa5549d247aa7030a40380277752ecd590e091339c27", + "key": "meleerumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "kind": "robot" + }, + "latest_observation": "28d317077e8a0d5c", + "observations": [ + { + "classic": { + "elapsed": 5.5, + "error_count": 494, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 115514.0, + "scores": [ + 9997.0, + 14213.0, + 14024.0, + 9601.0, + 10738.0, + 6561.0, + 13015.0, + 11556.0, + 6363.0, + 19446.0 + ], + "selected": "com.blogspot.malinkody.DestrobotMalin 1.0" + }, + "completed_at": "2026-09-28T16:15:10Z", + "confirmation": null, + "delta_pct": -1.8, + "id": "28d317077e8a0d5c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "com.blogspot.malinkody.DestrobotMalin 1.0", + "division": "meleerumble", + "jar": "com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "jar_sha256": "d3205656d01007c800f5fa5549d247aa7030a40380277752ecd590e091339c27", + "key": "meleerumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 29, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113456.0, + "scores": [ + 17319.0, + 15545.0, + 13896.0, + 13065.0, + 12688.0, + 11196.0, + 10920.0, + 9701.0, + 6898.0, + 2228.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/com.cgarias.rc.AdvancedTrackerII_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:47Z" + } + ], + "identity": { + "classic_selected": "com.cgarias.rc.AdvancedTrackerII 1.0", + "division": "meleerumble", + "jar": "com.cgarias.rc.AdvancedTrackerII_1.0.jar", + "jar_sha256": "a3da2e6251e317bbc767b8ac58ba3d37581a70a1597e0d2d10de8d961ade2ad3", + "key": "meleerumble/com.cgarias.rc.AdvancedTrackerII_1.0.jar", + "kind": "robot" + }, + "latest_observation": "110e8ce56bec5d9f", + "observations": [ + { + "classic": { + "elapsed": 5.4, + "error_count": 382, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 116526.0, + "scores": [ + 11274.0, + 11987.0, + 12142.0, + 8979.0, + 13187.0, + 9365.0, + 11728.0, + 12358.0, + 7728.0, + 17778.0 + ], + "selected": "com.cgarias.rc.AdvancedTrackerII 1.0" + }, + "completed_at": "2026-09-28T16:15:52Z", + "confirmation": null, + "delta_pct": -2.7, + "id": "110e8ce56bec5d9f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "com.cgarias.rc.AdvancedTrackerII 1.0", + "division": "meleerumble", + "jar": "com.cgarias.rc.AdvancedTrackerII_1.0.jar", + "jar_sha256": "a3da2e6251e317bbc767b8ac58ba3d37581a70a1597e0d2d10de8d961ade2ad3", + "key": "meleerumble/com.cgarias.rc.AdvancedTrackerII_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.1, + "error_count": 31, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113332.0, + "scores": [ + 18067.0, + 13440.0, + 13335.0, + 11397.0, + 11061.0, + 10178.0, + 9808.0, + 9651.0, + 9034.0, + 7361.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/com.cohesiva.robocode.ManOwaR_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:47Z" + } + ], + "identity": { + "classic_selected": "com.cohesiva.robocode.ManOwaR 1.0", + "division": "meleerumble", + "jar": "com.cohesiva.robocode.ManOwaR_1.0.jar", + "jar_sha256": "46519fab7d639e4d0a64afdd133618e92b7dcd923b8f252325098cc4a0e9031e", + "key": "meleerumble/com.cohesiva.robocode.ManOwaR_1.0.jar", + "kind": "robot" + }, + "latest_observation": "56d398157b8b2254", + "observations": [ + { + "classic": { + "elapsed": 5.6, + "error_count": 54, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 114384.0, + "scores": [ + 17322.0, + 13955.0, + 12100.0, + 10264.0, + 9270.0, + 8556.0, + 9228.0, + 10133.0, + 5886.0, + 17670.0 + ], + "selected": "com.cohesiva.robocode.ManOwaR 1.0" + }, + "completed_at": "2026-09-28T16:16:36Z", + "confirmation": null, + "delta_pct": -2.6, + "id": "56d398157b8b2254", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "com.cohesiva.robocode.ManOwaR 1.0", + "division": "meleerumble", + "jar": "com.cohesiva.robocode.ManOwaR_1.0.jar", + "jar_sha256": "46519fab7d639e4d0a64afdd133618e92b7dcd923b8f252325098cc4a0e9031e", + "key": "meleerumble/com.cohesiva.robocode.ManOwaR_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111412.0, + "scores": [ + 17079.0, + 14956.0, + 12533.0, + 11715.0, + 10375.0, + 10103.0, + 9979.0, + 8933.0, + 8267.0, + 7472.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "meleerumble/com.spp.robocode.MostlyHarmless_010.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:48Z" + } + ], + "identity": { + "classic_selected": "com.spp.robocode.MostlyHarmless 010", + "division": "meleerumble", + "jar": "com.spp.robocode.MostlyHarmless_010.jar", + "jar_sha256": "79e3073e986fc6cdf59da91bb4f2b4c271770c7b31600fd2eafebb20bfca2710", + "key": "meleerumble/com.spp.robocode.MostlyHarmless_010.jar", + "kind": "robot" + }, + "latest_observation": "906407a51159bc9a", + "observations": [ + { + "classic": { + "elapsed": 6.0, + "error_count": 482, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 115263.0, + "scores": [ + 18186.0, + 13126.0, + 12067.0, + 7370.0, + 11315.0, + 7098.0, + 11275.0, + 9532.0, + 7066.0, + 18228.0 + ], + "selected": "com.spp.robocode.MostlyHarmless 010" + }, + "completed_at": "2026-09-28T16:17:27Z", + "confirmation": null, + "delta_pct": -2.0, + "id": "906407a51159bc9a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "com.spp.robocode.MostlyHarmless 010", + "division": "meleerumble", + "jar": "com.spp.robocode.MostlyHarmless_010.jar", + "jar_sha256": "79e3073e986fc6cdf59da91bb4f2b4c271770c7b31600fd2eafebb20bfca2710", + "key": "meleerumble/com.spp.robocode.MostlyHarmless_010.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.2, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112971.0, + "scores": [ + 19506.0, + 16365.0, + 12474.0, + 11875.0, + 9937.0, + 9912.0, + 9833.0, + 9338.0, + 6941.0, + 6790.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/com.syncleus.robocode.Dreadnaught_0.1.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:48Z" + }, + { + "cause": "harness-timeout-overrun", + "id": "diagnosis-2", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:51Z" + } + ], + "identity": { + "classic_selected": "com.syncleus.robocode.Dreadnaught 0.1", + "division": "meleerumble", + "jar": "com.syncleus.robocode.Dreadnaught_0.1.jar", + "jar_sha256": "4a2a9926375fca4cf32ea72bdc8ab43930223f2090bae428474eafb9a6dd823c", + "key": "meleerumble/com.syncleus.robocode.Dreadnaught_0.1.jar", + "kind": "robot" + }, + "latest_observation": "e60cf1d52f296445", + "observations": [ + { + "classic": { + "elapsed": 5.6, + "error_count": 354, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 117290.0, + "scores": [ + 12511.0, + 13606.0, + 14887.0, + 10168.0, + 12035.0, + 8237.0, + 10933.0, + 12914.0, + 6098.0, + 15901.0 + ], + "selected": "com.syncleus.robocode.Dreadnaught 0.1" + }, + "completed_at": "2026-09-28T18:33:14Z", + "confirmation": null, + "delta_pct": null, + "id": "fa47e12db070281c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "com.syncleus.robocode.Dreadnaught 0.1", + "division": "meleerumble", + "jar": "com.syncleus.robocode.Dreadnaught_0.1.jar", + "jar_sha256": "4a2a9926375fca4cf32ea72bdc8ab43930223f2090bae428474eafb9a6dd823c", + "key": "meleerumble/com.syncleus.robocode.Dreadnaught_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 8139.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: orchestrator timeout" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.6, + "error_count": 620, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 117356.0, + "scores": [ + 13377.0, + 15131.0, + 13511.0, + 11310.0, + 11491.0, + 7156.0, + 9954.0, + 9678.0, + 6317.0, + 19431.0 + ], + "selected": "com.syncleus.robocode.Dreadnaught 0.1" + }, + "completed_at": "2026-09-28T18:57:22Z", + "confirmation": null, + "delta_pct": -2.2, + "id": "ecf75d7603ee6c87", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "com.syncleus.robocode.Dreadnaught 0.1", + "division": "meleerumble", + "jar": "com.syncleus.robocode.Dreadnaught_0.1.jar", + "jar_sha256": "4a2a9926375fca4cf32ea72bdc8ab43930223f2090bae428474eafb9a6dd823c", + "key": "meleerumble/com.syncleus.robocode.Dreadnaught_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 114778.0, + "scores": [ + 20818.0, + 15145.0, + 12295.0, + 11209.0, + 11144.0, + 10559.0, + 9856.0, + 8399.0, + 7761.0, + 7592.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.8, + "error_count": 74, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 117534.0, + "scores": [ + 14495.0, + 13664.0, + 12572.0, + 11215.0, + 13420.0, + 9390.0, + 10084.0, + 11400.0, + 7478.0, + 13816.0 + ], + "selected": "com.syncleus.robocode.Dreadnaught 0.1" + }, + "completed_at": "2026-09-28T19:23:10Z", + "confirmation": null, + "delta_pct": -2.6, + "id": "e60cf1d52f296445", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": { + "cause": "harness-timeout-overrun", + "diagnosis_id": "diagnosis-2", + "owner": "harness", + "repair": "4d0fa88" + }, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "com.syncleus.robocode.Dreadnaught 0.1", + "division": "meleerumble", + "jar": "com.syncleus.robocode.Dreadnaught_0.1.jar", + "jar_sha256": "4a2a9926375fca4cf32ea72bdc8ab43930223f2090bae428474eafb9a6dd823c", + "key": "meleerumble/com.syncleus.robocode.Dreadnaught_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 60.6, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 114473.0, + "scores": [ + 19863.0, + 13125.0, + 12301.0, + 10469.0, + 10251.0, + 10112.0, + 10065.0, + 9653.0, + 9442.0, + 9192.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/conscience.Electron_1.3g.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:48Z" + } + ], + "identity": { + "classic_selected": "conscience.Electron 1.3g", + "division": "meleerumble", + "jar": "conscience.Electron_1.3g.jar", + "jar_sha256": "a8d12ab9530cd0f748593ac3d04cd2cf0b563713905457257c3395b7ab7aaf9b", + "key": "meleerumble/conscience.Electron_1.3g.jar", + "kind": "robot" + }, + "latest_observation": "126d349d7c0fc8be", + "observations": [ + { + "classic": { + "elapsed": 6.5, + "error_count": 370, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 115419.0, + "scores": [ + 12689.0, + 11911.0, + 13481.0, + 10393.0, + 11579.0, + 7891.0, + 12355.0, + 11674.0, + 7320.0, + 16126.0 + ], + "selected": "conscience.Electron 1.3g" + }, + "completed_at": "2026-09-28T18:33:59Z", + "confirmation": null, + "delta_pct": -1.6, + "id": "126d349d7c0fc8be", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "conscience.Electron 1.3g", + "division": "meleerumble", + "jar": "conscience.Electron_1.3g.jar", + "jar_sha256": "a8d12ab9530cd0f748593ac3d04cd2cf0b563713905457257c3395b7ab7aaf9b", + "key": "meleerumble/conscience.Electron_1.3g.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113593.0, + "scores": [ + 19547.0, + 13253.0, + 12510.0, + 12010.0, + 10943.0, + 10599.0, + 9353.0, + 8634.0, + 8379.0, + 8365.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cs.Grudge_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:48Z" + } + ], + "identity": { + "classic_selected": "cs.Grudge 1.0", + "division": "meleerumble", + "jar": "cs.Grudge_1.0.jar", + "jar_sha256": "5bb0defb7937b13e54cdeaefcdbaa374bb6ac6bfefa13cf0d992bd5ad4f22f2d", + "key": "meleerumble/cs.Grudge_1.0.jar", + "kind": "robot" + }, + "latest_observation": "71ae00e59e1769e7", + "observations": [ + { + "classic": { + "elapsed": 5.3, + "error_count": 1492, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 115721.0, + "scores": [ + 5261.0, + 14320.0, + 13287.0, + 13714.0, + 12167.0, + 10527.0, + 12172.0, + 13495.0, + 9660.0, + 11118.0 + ], + "selected": "cs.Grudge 1.0" + }, + "completed_at": "2026-09-28T18:34:45Z", + "confirmation": null, + "delta_pct": -3.4, + "id": "71ae00e59e1769e7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cs.Grudge 1.0", + "division": "meleerumble", + "jar": "cs.Grudge_1.0.jar", + "jar_sha256": "5bb0defb7937b13e54cdeaefcdbaa374bb6ac6bfefa13cf0d992bd5ad4f22f2d", + "key": "meleerumble/cs.Grudge_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111834.0, + "scores": [ + 18419.0, + 14899.0, + 13428.0, + 13020.0, + 12181.0, + 11512.0, + 9253.0, + 7204.0, + 6089.0, + 5829.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cs.Wren_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:49Z" + } + ], + "identity": { + "classic_selected": "cs.Wren 1.0", + "division": "meleerumble", + "jar": "cs.Wren_1.0.jar", + "jar_sha256": "89f30ea0d295bbc4516e9dad72426663fdf68707b2c733555e408c35679770ea", + "key": "meleerumble/cs.Wren_1.0.jar", + "kind": "robot" + }, + "latest_observation": "59ba6dce50b10833", + "observations": [ + { + "classic": { + "elapsed": 6.6, + "error_count": 270, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114077.0, + "scores": [ + 17485.0, + 10470.0, + 12053.0, + 9041.0, + 10645.0, + 9644.0, + 11272.0, + 10356.0, + 7535.0, + 15576.0 + ], + "selected": "cs.Wren 1.0" + }, + "completed_at": "2026-09-28T18:36:17Z", + "confirmation": null, + "delta_pct": -2.1, + "id": "59ba6dce50b10833", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cs.Wren 1.0", + "division": "meleerumble", + "jar": "cs.Wren_1.0.jar", + "jar_sha256": "89f30ea0d295bbc4516e9dad72426663fdf68707b2c733555e408c35679770ea", + "key": "meleerumble/cs.Wren_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 31, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111652.0, + "scores": [ + 16088.0, + 15393.0, + 14857.0, + 12096.0, + 10908.0, + 10382.0, + 8683.0, + 8648.0, + 8038.0, + 6559.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cs.sheldor.Talon_1.1.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:49Z" + } + ], + "identity": { + "classic_selected": "cs.sheldor.Talon 1.1", + "division": "meleerumble", + "jar": "cs.sheldor.Talon_1.1.jar", + "jar_sha256": "5309462a28f7ba9d36cf60aaf5b74efa130a9a4ba62fa426d281efb4f8b2bc92", + "key": "meleerumble/cs.sheldor.Talon_1.1.jar", + "kind": "robot" + }, + "latest_observation": "05831324ef635cb1", + "observations": [ + { + "classic": { + "elapsed": 6.3, + "error_count": 282, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 113588.0, + "scores": [ + 11796.0, + 12028.0, + 13519.0, + 9049.0, + 11287.0, + 7752.0, + 11392.0, + 12146.0, + 7442.0, + 17177.0 + ], + "selected": "cs.sheldor.Talon 1.1" + }, + "completed_at": "2026-09-28T18:35:30Z", + "confirmation": null, + "delta_pct": -3.6, + "id": "05831324ef635cb1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cs.sheldor.Talon 1.1", + "division": "meleerumble", + "jar": "cs.sheldor.Talon_1.1.jar", + "jar_sha256": "5309462a28f7ba9d36cf60aaf5b74efa130a9a4ba62fa426d281efb4f8b2bc92", + "key": "meleerumble/cs.sheldor.Talon_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 109551.0, + "scores": [ + 16013.0, + 14507.0, + 13909.0, + 11520.0, + 10606.0, + 10389.0, + 10052.0, + 9682.0, + 8681.0, + 4192.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/css.Delitioner_0.11.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:49Z" + } + ], + "identity": { + "classic_selected": "css.Delitioner 0.11", + "division": "meleerumble", + "jar": "css.Delitioner_0.11.jar", + "jar_sha256": "6c718a72f59cec4464649d650469adfcccaf0de0744d7fd3e3ef7a2c5ce28c0b", + "key": "meleerumble/css.Delitioner_0.11.jar", + "kind": "robot" + }, + "latest_observation": "8be5aeec0bbfefd0", + "observations": [ + { + "classic": { + "elapsed": 5.9, + "error_count": 166, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114627.0, + "scores": [ + 17369.0, + 13761.0, + 11617.0, + 10031.0, + 8356.0, + 8391.0, + 11992.0, + 11106.0, + 6011.0, + 15993.0 + ], + "selected": "css.Delitioner 0.11" + }, + "completed_at": "2026-09-28T18:37:04Z", + "confirmation": null, + "delta_pct": -2.3, + "id": "8be5aeec0bbfefd0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "css.Delitioner 0.11", + "division": "meleerumble", + "jar": "css.Delitioner_0.11.jar", + "jar_sha256": "6c718a72f59cec4464649d650469adfcccaf0de0744d7fd3e3ef7a2c5ce28c0b", + "key": "meleerumble/css.Delitioner_0.11.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111975.0, + "scores": [ + 17554.0, + 15990.0, + 11824.0, + 11812.0, + 10571.0, + 10066.0, + 9637.0, + 9629.0, + 8556.0, + 6336.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cvt.Firsty_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:49Z" + } + ], + "identity": { + "classic_selected": "cvt.Firsty 1.0", + "division": "meleerumble", + "jar": "cvt.Firsty_1.0.jar", + "jar_sha256": "b40717173156cbdc6189f9cb60c70f664df2e9c0d1354a59a1acd36c2d4134d4", + "key": "meleerumble/cvt.Firsty_1.0.jar", + "kind": "robot" + }, + "latest_observation": "d470a27f7edb48c5", + "observations": [ + { + "classic": { + "elapsed": 8.4, + "error_count": 102, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 115071.0, + "scores": [ + 10418.0, + 14988.0, + 13892.0, + 9841.0, + 12840.0, + 8812.0, + 10614.0, + 11717.0, + 5353.0, + 16596.0 + ], + "selected": "cvt.Firsty 1.0" + }, + "completed_at": "2026-09-28T18:37:56Z", + "confirmation": null, + "delta_pct": -2.3, + "id": "d470a27f7edb48c5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cvt.Firsty 1.0", + "division": "meleerumble", + "jar": "cvt.Firsty_1.0.jar", + "jar_sha256": "b40717173156cbdc6189f9cb60c70f664df2e9c0d1354a59a1acd36c2d4134d4", + "key": "meleerumble/cvt.Firsty_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.1, + "error_count": 29, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 112387.0, + "scores": [ + 16467.0, + 13586.0, + 13088.0, + 12343.0, + 11624.0, + 11446.0, + 10268.0, + 8711.0, + 8220.0, + 6634.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cx.BlestPain_1.41.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:50Z" + } + ], + "identity": { + "classic_selected": "cx.BlestPain 1.41", + "division": "meleerumble", + "jar": "cx.BlestPain_1.41.jar", + "jar_sha256": "6f6b974d5aa3cb4db450ab43a2c0425d55d654cb9b577171fd99c9fe094b08ba", + "key": "meleerumble/cx.BlestPain_1.41.jar", + "kind": "robot" + }, + "latest_observation": "f2b0af33f69a9a6a", + "observations": [ + { + "classic": { + "elapsed": 7.8, + "error_count": 332, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 114035.0, + "scores": [ + 17822.0, + 10183.0, + 12298.0, + 7976.0, + 9785.0, + 8680.0, + 10771.0, + 10676.0, + 8810.0, + 17034.0 + ], + "selected": "cx.BlestPain 1.41" + }, + "completed_at": "2026-09-28T18:38:52Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "f2b0af33f69a9a6a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cx.BlestPain 1.41", + "division": "meleerumble", + "jar": "cx.BlestPain_1.41.jar", + "jar_sha256": "6f6b974d5aa3cb4db450ab43a2c0425d55d654cb9b577171fd99c9fe094b08ba", + "key": "meleerumble/cx.BlestPain_1.41.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 46.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 111823.0, + "scores": [ + 19243.0, + 15304.0, + 13020.0, + 10327.0, + 10293.0, + 9411.0, + 9330.0, + 8826.0, + 8267.0, + 7802.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cx.Princess_1.0.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:50Z" + } + ], + "identity": { + "classic_selected": "cx.Princess 1.0", + "division": "meleerumble", + "jar": "cx.Princess_1.0.jar", + "jar_sha256": "8a5137dcb2d3075bf8b4aa5ec609d499a981f1ed6650641a10e3c95cfe2e7cec", + "key": "meleerumble/cx.Princess_1.0.jar", + "kind": "robot" + }, + "latest_observation": "011b7e15640d6efa", + "observations": [ + { + "classic": { + "elapsed": 8.4, + "error_count": 303, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge-ch017\\compat-test\\work\\rc-robots\\.data\\cx\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent" + ], + "has_log": true, + "ok": true, + "score": 113816.0, + "scores": [ + 20194.0, + 11673.0, + 13064.0, + 9042.0, + 8874.0, + 7541.0, + 9291.0, + 9968.0, + 7458.0, + 16711.0 + ], + "selected": "cx.Princess 1.0" + }, + "completed_at": "2026-09-28T18:40:35Z", + "confirmation": null, + "delta_pct": -0.6, + "id": "011b7e15640d6efa", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cx.Princess 1.0", + "division": "meleerumble", + "jar": "cx.Princess_1.0.jar", + "jar_sha256": "8a5137dcb2d3075bf8b4aa5ec609d499a981f1ed6650641a10e3c95cfe2e7cec", + "key": "meleerumble/cx.Princess_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.1, + "error_count": 32, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge-ch017\\compat-test\\work\\tr-bots\\cx.Princess_1.0\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113131.0, + "scores": [ + 17716.0, + 12972.0, + 11956.0, + 11364.0, + 11275.0, + 10838.0, + 10308.0, + 10200.0, + 8556.0, + 7946.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/cx.mini.Nimrod_0.55.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:50Z" + } + ], + "identity": { + "classic_selected": "cx.mini.Nimrod 0.55", + "division": "meleerumble", + "jar": "cx.mini.Nimrod_0.55.jar", + "jar_sha256": "9ccc75f18f1ea296fefe441150fd552e546989e1e42af4abdc578f297564a321", + "key": "meleerumble/cx.mini.Nimrod_0.55.jar", + "kind": "robot" + }, + "latest_observation": "4a67e4c959254cb4", + "observations": [ + { + "classic": { + "elapsed": 8.1, + "error_count": 456, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114068.0, + "scores": [ + 19311.0, + 13719.0, + 10145.0, + 9353.0, + 11010.0, + 7992.0, + 12957.0, + 8179.0, + 6794.0, + 14608.0 + ], + "selected": "cx.mini.Nimrod 0.55" + }, + "completed_at": "2026-09-28T18:39:41Z", + "confirmation": null, + "delta_pct": -0.3, + "id": "4a67e4c959254cb4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "cx.mini.Nimrod 0.55", + "division": "meleerumble", + "jar": "cx.mini.Nimrod_0.55.jar", + "jar_sha256": "9ccc75f18f1ea296fefe441150fd552e546989e1e42af4abdc578f297564a321", + "key": "meleerumble/cx.mini.Nimrod_0.55.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 32, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 113674.0, + "scores": [ + 17005.0, + 15289.0, + 13302.0, + 12063.0, + 12031.0, + 10156.0, + 9638.0, + 8796.0, + 8401.0, + 6993.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/dans.Cinnamon_1.2.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:50Z" + } + ], + "identity": { + "classic_selected": "dans.Cinnamon 1.2", + "division": "meleerumble", + "jar": "dans.Cinnamon_1.2.jar", + "jar_sha256": "cb352fa2412994d4160c5161124036464a48cc73b1725178a7ee048609c8b7da", + "key": "meleerumble/dans.Cinnamon_1.2.jar", + "kind": "robot" + }, + "latest_observation": "b4dbfb16a2ffb2c0", + "observations": [ + { + "classic": { + "elapsed": 6.8, + "error_count": 272, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 114694.0, + "scores": [ + 7971.0, + 17196.0, + 12578.0, + 11247.0, + 9997.0, + 7683.0, + 12979.0, + 13197.0, + 5254.0, + 16592.0 + ], + "selected": "dans.Cinnamon 1.2" + }, + "completed_at": "2026-09-28T18:41:22Z", + "confirmation": null, + "delta_pct": -3.8, + "id": "b4dbfb16a2ffb2c0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "dans.Cinnamon 1.2", + "division": "meleerumble", + "jar": "dans.Cinnamon_1.2.jar", + "jar_sha256": "cb352fa2412994d4160c5161124036464a48cc73b1725178a7ee048609c8b7da", + "key": "meleerumble/dans.Cinnamon_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.1, + "error_count": 30, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 110355.0, + "scores": [ + 18713.0, + 13745.0, + 13464.0, + 12691.0, + 11791.0, + 10916.0, + 10530.0, + 9583.0, + 7921.0, + 1001.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "meleerumble/darkcanuck.B26354_1.06.jar": { + "diagnosis_events": [ + { + "cause": "melee-opponent-pool-contamination", + "id": "diagnosis-1", + "owner": "harness", + "recorded_at": "2026-09-28T19:04:50Z" + } + ], + "identity": { + "classic_selected": "darkcanuck.B26354 1.06", + "division": "meleerumble", + "jar": "darkcanuck.B26354_1.06.jar", + "jar_sha256": "9dec0de94deb2d91527d98bfdfc56b76eb65734778e6096b23724d7480f8e58d", + "key": "meleerumble/darkcanuck.B26354_1.06.jar", + "kind": "robot" + }, + "latest_observation": "b336f45184cf831d", + "observations": [ + { + "classic": { + "elapsed": 12.7, + "error_count": 466, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7" + ], + "has_log": true, + "ok": true, + "score": 113921.0, + "scores": [ + 21313.0, + 11444.0, + 12077.0, + 7887.0, + 8666.0, + 8212.0, + 9512.0, + 12793.0, + 5693.0, + 16324.0 + ], + "selected": "darkcanuck.B26354 1.06" + }, + "completed_at": "2026-09-28T18:41:46Z", + "confirmation": null, + "delta_pct": null, + "id": "91220f18c9d90994", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "darkcanuck.B26354 1.06", + "division": "meleerumble", + "jar": "darkcanuck.B26354_1.06.jar", + "jar_sha256": "9dec0de94deb2d91527d98bfdfc56b76eb65734778e6096b23724d7480f8e58d", + "key": "meleerumble/darkcanuck.B26354_1.06.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "darkcanuck.m.a" + ] + ], + "elapsed": 8.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "darkcanuck.m.a" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 12.5, + "error_count": 186, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.ChumbaMini.saveData" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "amk.guns.Aristocles.prepare" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + }, + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 7", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 113917.0, + "scores": [ + 21013.0, + 11688.0, + 11940.0, + 9414.0, + 9900.0, + 8906.0, + 10417.0, + 9448.0, + 5553.0, + 15638.0 + ], + "selected": "darkcanuck.B26354 1.06" + }, + "completed_at": "2026-09-28T19:31:05Z", + "confirmation": null, + "delta_pct": null, + "id": "b336f45184cf831d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "official_parameters": true, + "robocode_version": "1.11.1", + "supplied": { + "artifactSha256": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridgeCommit": "2336f3b50339f6d84c62ccaaa8b7cdb06cf5a82c", + "tankRoyaleCommit": "8dd449aceb640b754b239e5ec4d301ebf423756d" + }, + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1000, + "opponent_pool": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + }, + { + "jar": "ara.Shera_0.88.jar", + "sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040" + }, + { + "jar": "arthord.NanoSatanMelee_Beta.jar", + "sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe" + }, + { + "jar": "axeBots.HataMoto_3.09.jar", + "sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c" + } + ], + "opponents": [ + { + "jar": "adt.Ar1_2.1.jar", + "sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e" + }, + { + "jar": "adt.Ar2_1.0.jar", + "sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e" + }, + { + "jar": "amk.ChumbaMini_0.2.jar", + "sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b" + }, + { + "jar": "amk.ChumbaWumba_0.3.jar", + "sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9" + }, + { + "jar": "amk.Punbot.Punbot_0.01.jar", + "sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389" + }, + { + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850" + }, + { + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297" + }, + { + "jar": "ap.Frederick_1.1.jar", + "sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899" + }, + { + "jar": "apc.botM_3.0.jar", + "sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94" + } + ], + "participants": 10, + "rounds": 35, + "width": 1000 + }, + "source_identity": { + "classic_selected": "darkcanuck.B26354 1.06", + "division": "meleerumble", + "jar": "darkcanuck.B26354_1.06.jar", + "jar_sha256": "9dec0de94deb2d91527d98bfdfc56b76eb65734778e6096b23724d7480f8e58d", + "key": "meleerumble/darkcanuck.B26354_1.06.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "darkcanuck.m.a" + ] + ], + "elapsed": 8.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "darkcanuck.m.a" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/AD.CodaFirst_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "AD.CodaFirst 1.1", + "division": "roborumble", + "jar": "AD.CodaFirst_1.1.jar", + "jar_sha256": "140825976d19ac8cbbf3a92040a9bc8568acb15933f6888cd0adce705497421f", + "key": "roborumble/AD.CodaFirst_1.1.jar", + "kind": "robot" + }, + "latest_observation": "8a4dfbfbf555deff", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12974.0, + "scores": [ + 6684.0, + 6290.0 + ], + "selected": "AD.CodaFirst 1.1" + }, + "completed_at": "2026-09-08T20:11:39Z", + "delta_pct": -47.8, + "id": "c64fb0b475ea6e81", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "AD.CodaFirst 1.1", + "division": "roborumble", + "jar": "AD.CodaFirst_1.1.jar", + "jar_sha256": "140825976d19ac8cbbf3a92040a9bc8568acb15933f6888cd0adce705497421f", + "key": "roborumble/AD.CodaFirst_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6767.0, + "scores": [ + 3407.0, + 3360.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12689.0, + "scores": [ + 6300.0, + 6389.0 + ], + "selected": "AD.CodaFirst 1.1" + }, + "completed_at": "2026-09-11T18:00:52Z", + "confirmation": null, + "delta_pct": -46.2, + "id": "68ede0a0db58b593", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "AD.CodaFirst 1.1", + "division": "roborumble", + "jar": "AD.CodaFirst_1.1.jar", + "jar_sha256": "140825976d19ac8cbbf3a92040a9bc8568acb15933f6888cd0adce705497421f", + "key": "roborumble/AD.CodaFirst_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6830.0, + "scores": [ + 3488.0, + 3342.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12758.0, + "scores": [ + 6388.0, + 6370.0 + ], + "selected": "AD.CodaFirst 1.1" + }, + "completed_at": "2026-09-12T21:24:19Z", + "confirmation": null, + "delta_pct": -46.3, + "id": "bf7472d00df944d2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "AD.CodaFirst 1.1", + "division": "roborumble", + "jar": "AD.CodaFirst_1.1.jar", + "jar_sha256": "140825976d19ac8cbbf3a92040a9bc8568acb15933f6888cd0adce705497421f", + "key": "roborumble/AD.CodaFirst_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6849.0, + "scores": [ + 3505.0, + 3344.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13116.0, + "scores": [ + 6598.0, + 6518.0 + ], + "selected": "AD.CodaFirst 1.1" + }, + "completed_at": "2026-09-28T20:09:49Z", + "confirmation": null, + "delta_pct": -47.2, + "id": "8a4dfbfbf555deff", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "AD.CodaFirst 1.1", + "division": "roborumble", + "jar": "AD.CodaFirst_1.1.jar", + "jar_sha256": "140825976d19ac8cbbf3a92040a9bc8568acb15933f6888cd0adce705497421f", + "key": "roborumble/AD.CodaFirst_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6927.0, + "scores": [ + 3498.0, + 3429.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/AIR.iRobot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "AIR.iRobot 1.0", + "division": "roborumble", + "jar": "AIR.iRobot_1.0.jar", + "jar_sha256": "b0843906e321f787ca4da9f79bdd645f2e8524a69a98056e89350a9efed076af", + "key": "roborumble/AIR.iRobot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "8cdfe3039b4b63e0", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4947.0, + "scores": [ + 2195.0, + 2752.0 + ], + "selected": "AIR.iRobot 1.0" + }, + "completed_at": "2026-09-08T20:20:16Z", + "delta_pct": null, + "id": "30ccf919e98128fe", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "AIR.iRobot 1.0", + "division": "roborumble", + "jar": "AIR.iRobot_1.0.jar", + "jar_sha256": "b0843906e321f787ca4da9f79bdd645f2e8524a69a98056e89350a9efed076af", + "key": "roborumble/AIR.iRobot_1.0.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 6.2, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4733.0, + "scores": [ + 2458.0, + 2275.0 + ], + "selected": "AIR.iRobot 1.0" + }, + "completed_at": "2026-09-11T18:10:46Z", + "confirmation": null, + "delta_pct": -61.9, + "id": "10d5827207b88f2a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "AIR.iRobot 1.0", + "division": "roborumble", + "jar": "AIR.iRobot_1.0.jar", + "jar_sha256": "b0843906e321f787ca4da9f79bdd645f2e8524a69a98056e89350a9efed076af", + "key": "roborumble/AIR.iRobot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1802.0, + "scores": [ + 964.0, + 838.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4912.0, + "scores": [ + 2986.0, + 1926.0 + ], + "selected": "AIR.iRobot 1.0" + }, + "completed_at": "2026-09-12T21:28:44Z", + "confirmation": null, + "delta_pct": -23.4, + "id": "8cdfe3039b4b63e0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "AIR.iRobot 1.0", + "division": "roborumble", + "jar": "AIR.iRobot_1.0.jar", + "jar_sha256": "b0843906e321f787ca4da9f79bdd645f2e8524a69a98056e89350a9efed076af", + "key": "roborumble/AIR.iRobot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3762.0, + "scores": [ + 2214.0, + 1548.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/And.BasicSurfer_FF1.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "And.BasicSurfer FF1.6", + "division": "roborumble", + "jar": "And.BasicSurfer_FF1.6.jar", + "jar_sha256": "ff0393de6bfab609d13bd37c562ff5d2736e7b186ebfd65039ac1cde3546b1f9", + "key": "roborumble/And.BasicSurfer_FF1.6.jar", + "kind": "robot" + }, + "latest_observation": "25437532193e134b", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3671.0, + "scores": [ + 1404.0, + 2267.0 + ], + "selected": "And.BasicSurfer FF1.6" + }, + "completed_at": "2026-09-08T20:26:36Z", + "delta_pct": 9.3, + "id": "e10ba12633f28ccf", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "And.BasicSurfer FF1.6", + "division": "roborumble", + "jar": "And.BasicSurfer_FF1.6.jar", + "jar_sha256": "ff0393de6bfab609d13bd37c562ff5d2736e7b186ebfd65039ac1cde3546b1f9", + "key": "roborumble/And.BasicSurfer_FF1.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 24.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4013.0, + "scores": [ + 2284.0, + 1729.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4093.0, + "scores": [ + 2009.0, + 2084.0 + ], + "selected": "And.BasicSurfer FF1.6" + }, + "completed_at": "2026-09-11T18:17:29Z", + "confirmation": null, + "delta_pct": 2.2, + "id": "25437532193e134b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "And.BasicSurfer FF1.6", + "division": "roborumble", + "jar": "And.BasicSurfer_FF1.6.jar", + "jar_sha256": "ff0393de6bfab609d13bd37c562ff5d2736e7b186ebfd65039ac1cde3546b1f9", + "key": "roborumble/And.BasicSurfer_FF1.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4185.0, + "scores": [ + 2291.0, + 1894.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ArchAlpha.ArchimedesAlpha 1.0", + "division": "roborumble", + "jar": "ArchAlpha.ArchimedesAlpha_1.0.jar", + "jar_sha256": "dcb4cdb1a904ba42b0747af1b29c660fe5fd01c225f4f079875cc07499b36554", + "key": "roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar", + "kind": "robot" + }, + "latest_observation": "5db318c40ca0955b", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "ArchAlpha.ArchimedesAlpha 1.0" + }, + "completed_at": "2026-09-08T20:37:48Z", + "delta_pct": null, + "id": "8ee700d1da5ca3de", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ArchAlpha.ArchimedesAlpha 1.0", + "division": "roborumble", + "jar": "ArchAlpha.ArchimedesAlpha_1.0.jar", + "jar_sha256": "dcb4cdb1a904ba42b0747af1b29c660fe5fd01c225f4f079875cc07499b36554", + "key": "roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "elapsed": 30.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "ArchAlpha.ArchimedesAlpha 1.0" + }, + "completed_at": "2026-09-11T18:27:51Z", + "confirmation": null, + "delta_pct": null, + "id": "0ecc7f5a72c1dac2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ArchAlpha.ArchimedesAlpha 1.0", + "division": "roborumble", + "jar": "ArchAlpha.ArchimedesAlpha_1.0.jar", + "jar_sha256": "dcb4cdb1a904ba42b0747af1b29c660fe5fd01c225f4f079875cc07499b36554", + "key": "roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "ArchAlpha.ArchimedesAlpha 1.0" + }, + "completed_at": "2026-09-28T20:20:04Z", + "confirmation": null, + "delta_pct": null, + "id": "5db318c40ca0955b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ArchAlpha.ArchimedesAlpha 1.0", + "division": "roborumble", + "jar": "ArchAlpha.ArchimedesAlpha_1.0.jar", + "jar_sha256": "dcb4cdb1a904ba42b0747af1b29c660fe5fd01c225f4f079875cc07499b36554", + "key": "roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/CharlieN.Omega.Omega_1.03.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "CharlieN.Omega.Omega 1.03", + "division": "roborumble", + "jar": "CharlieN.Omega.Omega_1.03.jar", + "jar_sha256": "fc785490d5488702362baf9d7ed4a1e49d3b35e56054c64deab067d69423b8a7", + "key": "roborumble/CharlieN.Omega.Omega_1.03.jar", + "kind": "robot" + }, + "latest_observation": "6c16b6ead3897593", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6356.0, + "scores": [ + 3065.0, + 3291.0 + ], + "selected": "CharlieN.Omega.Omega 1.03" + }, + "completed_at": "2026-09-08T21:17:17Z", + "delta_pct": -6.3, + "id": "23e880a8344ee3d9", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "CharlieN.Omega.Omega 1.03", + "division": "roborumble", + "jar": "CharlieN.Omega.Omega_1.03.jar", + "jar_sha256": "fc785490d5488702362baf9d7ed4a1e49d3b35e56054c64deab067d69423b8a7", + "key": "roborumble/CharlieN.Omega.Omega_1.03.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5953.0, + "scores": [ + 3027.0, + 2926.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5343.0, + "scores": [ + 2478.0, + 2865.0 + ], + "selected": "CharlieN.Omega.Omega 1.03" + }, + "completed_at": "2026-09-11T20:11:34Z", + "confirmation": null, + "delta_pct": 7.6, + "id": "6c16b6ead3897593", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "CharlieN.Omega.Omega 1.03", + "division": "roborumble", + "jar": "CharlieN.Omega.Omega_1.03.jar", + "jar_sha256": "fc785490d5488702362baf9d7ed4a1e49d3b35e56054c64deab067d69423b8a7", + "key": "roborumble/CharlieN.Omega.Omega_1.03.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5747.0, + "scores": [ + 3268.0, + 2479.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/DM.Capriite_3.7.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "DM.Capriite 3.7.2", + "division": "roborumble", + "jar": "DM.Capriite_3.7.2.jar", + "jar_sha256": "7d9484ac66b7e0b23cf3864ee9bd5f4ade630790204a3f8f26bfe4d671d7fac9", + "key": "roborumble/DM.Capriite_3.7.2.jar", + "kind": "robot" + }, + "latest_observation": "63eec6535e7bcdb8", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7283.0, + "scores": [ + 3454.0, + 3829.0 + ], + "selected": "DM.Capriite 3.7.2" + }, + "completed_at": "2026-09-11T21:07:04Z", + "confirmation": null, + "delta_pct": -16.1, + "id": "63eec6535e7bcdb8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "DM.Capriite 3.7.2", + "division": "roborumble", + "jar": "DM.Capriite_3.7.2.jar", + "jar_sha256": "7d9484ac66b7e0b23cf3864ee9bd5f4ade630790204a3f8f26bfe4d671d7fac9", + "key": "roborumble/DM.Capriite_3.7.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6114.0, + "scores": [ + 3159.0, + 2955.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/DM.Chicken_4.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "DM.Chicken 4.0", + "division": "roborumble", + "jar": "DM.Chicken_4.0.jar", + "jar_sha256": "7c87fd26cff5ac4aa315ef19dfe2427ee6e01761b45c9181ebc192983558a955", + "key": "roborumble/DM.Chicken_4.0.jar", + "kind": "robot" + }, + "latest_observation": "f98b80f045eaa5ba", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7801.0, + "scores": [ + 3694.0, + 4107.0 + ], + "selected": "DM.Chicken 4.0" + }, + "completed_at": "2026-09-11T21:07:46Z", + "confirmation": null, + "delta_pct": -100.0, + "id": "f98b80f045eaa5ba", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "DM.Chicken 4.0", + "division": "roborumble", + "jar": "DM.Chicken_4.0.jar", + "jar_sha256": "7c87fd26cff5ac4aa315ef19dfe2427ee6e01761b45c9181ebc192983558a955", + "key": "roborumble/DM.Chicken_4.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/DM.Mijit_.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "DM.Mijit .3", + "division": "roborumble", + "jar": "DM.Mijit_.3.jar", + "jar_sha256": "7340c3a1b751cc33f2323f13cfb1e5c499a25e23d682e7aa77f5b99538146f9d", + "key": "roborumble/DM.Mijit_.3.jar", + "kind": "robot" + }, + "latest_observation": "25e2318cd74f0417", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6094.0, + "scores": [ + 2871.0, + 3223.0 + ], + "selected": "DM.Mijit .3" + }, + "completed_at": "2026-09-11T21:08:17Z", + "confirmation": null, + "delta_pct": -41.7, + "id": "25e2318cd74f0417", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "DM.Mijit .3", + "division": "roborumble", + "jar": "DM.Mijit_.3.jar", + "jar_sha256": "7340c3a1b751cc33f2323f13cfb1e5c499a25e23d682e7aa77f5b99538146f9d", + "key": "roborumble/DM.Mijit_.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3553.0, + "scores": [ + 1902.0, + 1651.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/DTF.Kludgy_1.2b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "DTF.Kludgy 1.2b", + "division": "roborumble", + "jar": "DTF.Kludgy_1.2b.jar", + "jar_sha256": "f93004781b1b7a3352aab39817ef75761693d1a5041d562e5c6506395bd67e91", + "key": "roborumble/DTF.Kludgy_1.2b.jar", + "kind": "robot" + }, + "latest_observation": "a020ea383408d5e2", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6539.0, + "scores": [ + 3675.0, + 2864.0 + ], + "selected": "DTF.Kludgy 1.2b" + }, + "completed_at": "2026-09-12T11:00:08Z", + "confirmation": null, + "delta_pct": -9.2, + "id": "a020ea383408d5e2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "DTF.Kludgy 1.2b", + "division": "roborumble", + "jar": "DTF.Kludgy_1.2b.jar", + "jar_sha256": "f93004781b1b7a3352aab39817ef75761693d1a5041d562e5c6506395bd67e91", + "key": "roborumble/DTF.Kludgy_1.2b.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5938.0, + "scores": [ + 3600.0, + 2338.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/EBBU.Sim2_1.02.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "EBBU.Sim2 1.02", + "division": "roborumble", + "jar": "EBBU.Sim2_1.02.jar", + "jar_sha256": "116ea3dea899b2cc289efafa466316df071151ba4c17361a25cde6b702e66c3d", + "key": "roborumble/EBBU.Sim2_1.02.jar", + "kind": "robot" + }, + "latest_observation": "82308feb917d2c0a", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7081.0, + "scores": [ + 3547.0, + 3534.0 + ], + "selected": "EBBU.Sim2 1.02" + }, + "completed_at": "2026-09-12T11:05:30Z", + "confirmation": null, + "delta_pct": -79.9, + "id": "82308feb917d2c0a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "EBBU.Sim2 1.02", + "division": "roborumble", + "jar": "EBBU.Sim2_1.02.jar", + "jar_sha256": "116ea3dea899b2cc289efafa466316df071151ba4c17361a25cde6b702e66c3d", + "key": "roborumble/EBBU.Sim2_1.02.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1422.0, + "scores": [ + 802.0, + 620.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/EE.LittleBig_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "EE.LittleBig 1.0", + "division": "roborumble", + "jar": "EE.LittleBig_1.0.jar", + "jar_sha256": "89ea5fe0b50a1f906ef5440293004c29ec88ae771811d8a3c031cfe9afa32a3b", + "key": "roborumble/EE.LittleBig_1.0.jar", + "kind": "robot" + }, + "latest_observation": "dd65d66b59ff8acb", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4611.0, + "scores": [ + 2028.0, + 2583.0 + ], + "selected": "EE.LittleBig 1.0" + }, + "completed_at": "2026-09-12T11:07:18Z", + "confirmation": null, + "delta_pct": 148.6, + "id": "dd65d66b59ff8acb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "EE.LittleBig 1.0", + "division": "roborumble", + "jar": "EE.LittleBig_1.0.jar", + "jar_sha256": "89ea5fe0b50a1f906ef5440293004c29ec88ae771811d8a3c031cfe9afa32a3b", + "key": "roborumble/EE.LittleBig_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11464.0, + "scores": [ + 5934.0, + 5530.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/EFD.AdvancedEFD_0.4.5a.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "EFD.AdvancedEFD 0.4.5a", + "division": "roborumble", + "jar": "EFD.AdvancedEFD_0.4.5a.jar", + "jar_sha256": "7567e2854f0c07c7d5bd6852eecc9fe34a77a5c0b5a9b6e625f3ba1a6e51a3f3", + "key": "roborumble/EFD.AdvancedEFD_0.4.5a.jar", + "kind": "robot" + }, + "latest_observation": "595afba07d52e536", + "observations": [ + { + "classic": { + "elapsed": 4.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6190.0, + "scores": [ + 3090.0, + 3100.0 + ], + "selected": "EFD.AdvancedEFD 0.4.5a" + }, + "completed_at": "2026-09-12T11:18:48Z", + "confirmation": null, + "delta_pct": 0.6, + "id": "595afba07d52e536", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "EFD.AdvancedEFD 0.4.5a", + "division": "roborumble", + "jar": "EFD.AdvancedEFD_0.4.5a.jar", + "jar_sha256": "7567e2854f0c07c7d5bd6852eecc9fe34a77a5c0b5a9b6e625f3ba1a6e51a3f3", + "key": "roborumble/EFD.AdvancedEFD_0.4.5a.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6227.0, + "scores": [ + 3565.0, + 2662.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/EH.Fusion_0.32.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "EH.Fusion 0.32", + "division": "roborumble", + "jar": "EH.Fusion_0.32.jar", + "jar_sha256": "988d1ac2f81d32bc6e37059181f522e396419f76b2ca76e929f69a9a219d56eb", + "key": "roborumble/EH.Fusion_0.32.jar", + "kind": "robot" + }, + "latest_observation": "96dd484b2b911c5d", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9398.0, + "scores": [ + 4920.0, + 4478.0 + ], + "selected": "EH.Fusion 0.32" + }, + "completed_at": "2026-09-12T11:19:02Z", + "confirmation": null, + "delta_pct": 38.0, + "id": "96dd484b2b911c5d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "EH.Fusion 0.32", + "division": "roborumble", + "jar": "EH.Fusion_0.32.jar", + "jar_sha256": "988d1ac2f81d32bc6e37059181f522e396419f76b2ca76e929f69a9a219d56eb", + "key": "roborumble/EH.Fusion_0.32.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12969.0, + "scores": [ + 6785.0, + 6184.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/EH.Pegasus_0.113.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "EH.Pegasus 0.113", + "division": "roborumble", + "jar": "EH.Pegasus_0.113.jar", + "jar_sha256": "aafb4166cc2891a04a4d2fb201bbda172d6f00c89c687666402557329f982446", + "key": "roborumble/EH.Pegasus_0.113.jar", + "kind": "robot" + }, + "latest_observation": "2696bc59852c8d21", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 14455.0, + "scores": [ + 7269.0, + 7186.0 + ], + "selected": "EH.Pegasus 0.113" + }, + "completed_at": "2026-09-12T11:21:02Z", + "confirmation": null, + "delta_pct": -13.1, + "id": "2696bc59852c8d21", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "EH.Pegasus 0.113", + "division": "roborumble", + "jar": "EH.Pegasus_0.113.jar", + "jar_sha256": "aafb4166cc2891a04a4d2fb201bbda172d6f00c89c687666402557329f982446", + "key": "roborumble/EH.Pegasus_0.113.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12565.0, + "scores": [ + 6656.0, + 5909.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/EH.kms.LightningStorm_0.11B.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "EH.kms.LightningStorm 0.11B", + "division": "roborumble", + "jar": "EH.kms.LightningStorm_0.11B.jar", + "jar_sha256": "bd8bc1df5964a2653e289723e45bd0d9516c6196cc7fab8b365f9828023ce405", + "key": "roborumble/EH.kms.LightningStorm_0.11B.jar", + "kind": "robot" + }, + "latest_observation": "1ef751e58aaba9b3", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6189.0, + "scores": [ + 3341.0, + 2848.0 + ], + "selected": "EH.kms.LightningStorm 0.11B" + }, + "completed_at": "2026-09-12T11:19:28Z", + "confirmation": null, + "delta_pct": -6.0, + "id": "1ef751e58aaba9b3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "EH.kms.LightningStorm 0.11B", + "division": "roborumble", + "jar": "EH.kms.LightningStorm_0.11B.jar", + "jar_sha256": "bd8bc1df5964a2653e289723e45bd0d9516c6196cc7fab8b365f9828023ce405", + "key": "roborumble/EH.kms.LightningStorm_0.11B.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5820.0, + "scores": [ + 2955.0, + 2865.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/EH.mini.Panther_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "EH.mini.Panther 0.2", + "division": "roborumble", + "jar": "EH.mini.Panther_0.2.jar", + "jar_sha256": "7313826c136e79fd79dc03bea8ded69ac2831541cc9c39d71f96b5040f742990", + "key": "roborumble/EH.mini.Panther_0.2.jar", + "kind": "robot" + }, + "latest_observation": "871fe99089163f17", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4499.0, + "scores": [ + 2747.0, + 1752.0 + ], + "selected": "EH.mini.Panther 0.2" + }, + "completed_at": "2026-09-12T11:20:20Z", + "confirmation": null, + "delta_pct": -18.4, + "id": "871fe99089163f17", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "EH.mini.Panther 0.2", + "division": "roborumble", + "jar": "EH.mini.Panther_0.2.jar", + "jar_sha256": "7313826c136e79fd79dc03bea8ded69ac2831541cc9c39d71f96b5040f742990", + "key": "roborumble/EH.mini.Panther_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 48.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3671.0, + "scores": [ + 2132.0, + 1539.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/EH.nano.NightBird_M.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "EH.nano.NightBird M", + "division": "roborumble", + "jar": "EH.nano.NightBird_M.jar", + "jar_sha256": "69ef0a490f5df3cd526b739c63cc884d7c7143deb361c31c4266c63b7fcc92fe", + "key": "roborumble/EH.nano.NightBird_M.jar", + "kind": "robot" + }, + "latest_observation": "c796f14f9487fcd6", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7561.0, + "scores": [ + 3860.0, + 3701.0 + ], + "selected": "EH.nano.NightBird M" + }, + "completed_at": "2026-09-12T11:20:39Z", + "confirmation": null, + "delta_pct": -24.2, + "id": "c796f14f9487fcd6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "EH.nano.NightBird M", + "division": "roborumble", + "jar": "EH.nano.NightBird_M.jar", + "jar_sha256": "69ef0a490f5df3cd526b739c63cc884d7c7143deb361c31c4266c63b7fcc92fe", + "key": "roborumble/EH.nano.NightBird_M.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5734.0, + "scores": [ + 3474.0, + 2260.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/Ex.Survival_3.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "Ex.Survival_3.7.jar", + "jar_sha256": "126904b7ad8ba07bafca9d58a003d68a985222ebda348b0bc47a39061868696a", + "key": "roborumble/Ex.Survival_3.7.jar", + "kind": "robot" + }, + "latest_observation": "2221f19d53cb555a", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:17Z", + "confirmation": null, + "delta_pct": null, + "id": "2221f19d53cb555a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "Ex.Survival_3.7.jar", + "jar_sha256": "126904b7ad8ba07bafca9d58a003d68a985222ebda348b0bc47a39061868696a", + "key": "roborumble/Ex.Survival_3.7.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/FatalFlaw.FatalFlaw_1.0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "FatalFlaw.FatalFlaw_1.0.5.jar", + "jar_sha256": "82e52a5611243132c7927d7377689ea20583304ccd47c9d775fcb3af7016212f", + "key": "roborumble/FatalFlaw.FatalFlaw_1.0.5.jar", + "kind": "robot" + }, + "latest_observation": "eb875409279d0776", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:23Z", + "confirmation": null, + "delta_pct": null, + "id": "eb875409279d0776", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "FatalFlaw.FatalFlaw_1.0.5.jar", + "jar_sha256": "82e52a5611243132c7927d7377689ea20583304ccd47c9d775fcb3af7016212f", + "key": "roborumble/FatalFlaw.FatalFlaw_1.0.5.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/Fenix.FenixTrack_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "Fenix.FenixTrack_1.0.jar", + "jar_sha256": "4911b22dec326c2d67b09407511ab97254a98a8c79da752ff826abe4b0521aea", + "key": "roborumble/Fenix.FenixTrack_1.0.jar", + "kind": "robot" + }, + "latest_observation": "b58617e0e3214317", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:25Z", + "confirmation": null, + "delta_pct": null, + "id": "b58617e0e3214317", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "Fenix.FenixTrack_1.0.jar", + "jar_sha256": "4911b22dec326c2d67b09407511ab97254a98a8c79da752ff826abe4b0521aea", + "key": "roborumble/Fenix.FenixTrack_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/Gecko.ultimateGeckoBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "Gecko.ultimateGeckoBot_1.0.jar", + "jar_sha256": "4806f8229635619f279d0e9e709465f51e7b5d56c5c5212bdca319e6abd8ab8a", + "key": "roborumble/Gecko.ultimateGeckoBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "fc62b9d07f77cb43", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:08Z", + "confirmation": null, + "delta_pct": null, + "id": "fc62b9d07f77cb43", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "Gecko.ultimateGeckoBot_1.0.jar", + "jar_sha256": "4806f8229635619f279d0e9e709465f51e7b5d56c5c5212bdca319e6abd8ab8a", + "key": "roborumble/Gecko.ultimateGeckoBot_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/Grystrion.RandomTrackerNOREV_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Grystrion.RandomTrackerNOREV 1.0", + "division": "roborumble", + "jar": "Grystrion.RandomTrackerNOREV_1.0.jar", + "jar_sha256": "d60f5b48a2def5c439757387637014db8044a99b4679e0471b4041854944dab3", + "key": "roborumble/Grystrion.RandomTrackerNOREV_1.0.jar", + "kind": "robot" + }, + "latest_observation": "a633af2142797af3", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "Grystrion.RandomTrackerNOREV 1.0" + }, + "completed_at": "2026-09-12T12:54:43Z", + "confirmation": null, + "delta_pct": null, + "id": "a633af2142797af3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Grystrion.RandomTrackerNOREV 1.0", + "division": "roborumble", + "jar": "Grystrion.RandomTrackerNOREV_1.0.jar", + "jar_sha256": "d60f5b48a2def5c439757387637014db8044a99b4679e0471b4041854944dab3", + "key": "roborumble/Grystrion.RandomTrackerNOREV_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5877.0, + "scores": [ + 2963.0, + 2914.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/Grystrion.TrackerWO_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Grystrion.TrackerWO 1.0", + "division": "roborumble", + "jar": "Grystrion.TrackerWO_1.0.jar", + "jar_sha256": "b371a104375e94e4c8db29515528481779b1dba303b8042715c168a25a395416", + "key": "roborumble/Grystrion.TrackerWO_1.0.jar", + "kind": "robot" + }, + "latest_observation": "ac36cf3c058f2c58", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "Grystrion.TrackerWO 1.0" + }, + "completed_at": "2026-09-12T12:55:44Z", + "confirmation": null, + "delta_pct": null, + "id": "ac36cf3c058f2c58", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Grystrion.TrackerWO 1.0", + "division": "roborumble", + "jar": "Grystrion.TrackerWO_1.0.jar", + "jar_sha256": "b371a104375e94e4c8db29515528481779b1dba303b8042715c168a25a395416", + "key": "roborumble/Grystrion.TrackerWO_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5022.0, + "scores": [ + 2722.0, + 2300.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/Heal.TekitokaBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Heal.TekitokaBot 1.0", + "division": "roborumble", + "jar": "Heal.TekitokaBot_1.0.jar", + "jar_sha256": "16215c6afd526f753492bc8fa0952081b1cdb309c68d9f6e3e5e08dcd397b5a5", + "key": "roborumble/Heal.TekitokaBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "0c9e5c177bf4e9f4", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4722.0, + "scores": [ + 1956.0, + 2766.0 + ], + "selected": "Heal.TekitokaBot 1.0" + }, + "completed_at": "2026-09-12T15:22:52Z", + "confirmation": null, + "delta_pct": -9.8, + "id": "0c9e5c177bf4e9f4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Heal.TekitokaBot 1.0", + "division": "roborumble", + "jar": "Heal.TekitokaBot_1.0.jar", + "jar_sha256": "16215c6afd526f753492bc8fa0952081b1cdb309c68d9f6e3e5e08dcd397b5a5", + "key": "roborumble/Heal.TekitokaBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4261.0, + "scores": [ + 2444.0, + 1817.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ICS4U1.Patrick_White_Schrodinger_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ICS4U1.Patrick_White_Schrodinger 1.1", + "division": "roborumble", + "jar": "ICS4U1.Patrick_White_Schrodinger_1.1.jar", + "jar_sha256": "d165f08d99277b6d844db84586e5294d2218801cf65605048d1d9ba4acb80c57", + "key": "roborumble/ICS4U1.Patrick_White_Schrodinger_1.1.jar", + "kind": "robot" + }, + "latest_observation": "1bff846ea433bb4d", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7191.0, + "scores": [ + 3994.0, + 3197.0 + ], + "selected": "ICS4U1.Patrick_White_Schrodinger 1.1" + }, + "completed_at": "2026-09-12T15:27:14Z", + "confirmation": null, + "delta_pct": -10.0, + "id": "1bff846ea433bb4d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ICS4U1.Patrick_White_Schrodinger 1.1", + "division": "roborumble", + "jar": "ICS4U1.Patrick_White_Schrodinger_1.1.jar", + "jar_sha256": "d165f08d99277b6d844db84586e5294d2218801cf65605048d1d9ba4acb80c57", + "key": "roborumble/ICS4U1.Patrick_White_Schrodinger_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6469.0, + "scores": [ + 4026.0, + 2443.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/KiraNL.Cataris_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "KiraNL.Cataris 1.0", + "division": "roborumble", + "jar": "KiraNL.Cataris_1.0.jar", + "jar_sha256": "7eef580e30229435b07733125dab569246324d34c3e731ce466871a11a6fec05", + "key": "roborumble/KiraNL.Cataris_1.0.jar", + "kind": "robot" + }, + "latest_observation": "bbdc8fb327126f89", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5623.0, + "scores": [ + 3126.0, + 2497.0 + ], + "selected": "KiraNL.Cataris 1.0" + }, + "completed_at": "2026-09-12T21:58:24Z", + "confirmation": null, + "delta_pct": -11.5, + "id": "bbdc8fb327126f89", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "KiraNL.Cataris 1.0", + "division": "roborumble", + "jar": "KiraNL.Cataris_1.0.jar", + "jar_sha256": "7eef580e30229435b07733125dab569246324d34c3e731ce466871a11a6fec05", + "key": "roborumble/KiraNL.Cataris_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4974.0, + "scores": [ + 2593.0, + 2381.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/KiraNL.ChupaLite_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "KiraNL.ChupaLite 0.4", + "division": "roborumble", + "jar": "KiraNL.ChupaLite_0.4.jar", + "jar_sha256": "dca709264a88af2fcf4fa03f2d57165085e68dd2869b46192301058c318b942e", + "key": "roborumble/KiraNL.ChupaLite_0.4.jar", + "kind": "robot" + }, + "latest_observation": "ff15b24175432af1", + "observations": [ + { + "classic": { + "elapsed": 4.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5721.0, + "scores": [ + 2778.0, + 2943.0 + ], + "selected": "KiraNL.ChupaLite 0.4" + }, + "completed_at": "2026-09-12T21:59:10Z", + "confirmation": null, + "delta_pct": 0.6, + "id": "ff15b24175432af1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "KiraNL.ChupaLite 0.4", + "division": "roborumble", + "jar": "KiraNL.ChupaLite_0.4.jar", + "jar_sha256": "dca709264a88af2fcf4fa03f2d57165085e68dd2869b46192301058c318b942e", + "key": "roborumble/KiraNL.ChupaLite_0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5755.0, + "scores": [ + 2951.0, + 2804.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/KiraNL.Chupacabra_0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "KiraNL.Chupacabra 0.5", + "division": "roborumble", + "jar": "KiraNL.Chupacabra_0.5.jar", + "jar_sha256": "a954b8d0d4e2899b9235229119a02c5debed1992cc67f974913fcafaef72b8fa", + "key": "roborumble/KiraNL.Chupacabra_0.5.jar", + "kind": "robot" + }, + "latest_observation": "73beffa0841e520e", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5674.0, + "scores": [ + 3091.0, + 2583.0 + ], + "selected": "KiraNL.Chupacabra 0.5" + }, + "completed_at": "2026-09-12T21:58:48Z", + "confirmation": null, + "delta_pct": -1.1, + "id": "73beffa0841e520e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "KiraNL.Chupacabra 0.5", + "division": "roborumble", + "jar": "KiraNL.Chupacabra_0.5.jar", + "jar_sha256": "a954b8d0d4e2899b9235229119a02c5debed1992cc67f974913fcafaef72b8fa", + "key": "roborumble/KiraNL.Chupacabra_0.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5609.0, + "scores": [ + 3190.0, + 2419.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/KiraNL.SpaceKees_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "KiraNL.SpaceKees 0.1", + "division": "roborumble", + "jar": "KiraNL.SpaceKees_0.1.jar", + "jar_sha256": "87d2258c97ecc42cf827be4ff36221a9a0a2d34758d7c881eff935cf531cdfe8", + "key": "roborumble/KiraNL.SpaceKees_0.1.jar", + "kind": "robot" + }, + "latest_observation": "51a7d06b9bd85bee", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8483.0, + "scores": [ + 3877.0, + 4606.0 + ], + "selected": "KiraNL.SpaceKees 0.1" + }, + "completed_at": "2026-09-12T21:59:27Z", + "confirmation": null, + "delta_pct": -2.5, + "id": "51a7d06b9bd85bee", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "KiraNL.SpaceKees 0.1", + "division": "roborumble", + "jar": "KiraNL.SpaceKees_0.1.jar", + "jar_sha256": "87d2258c97ecc42cf827be4ff36221a9a0a2d34758d7c881eff935cf531cdfe8", + "key": "roborumble/KiraNL.SpaceKees_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8271.0, + "scores": [ + 4874.0, + 3397.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/Krabb.fe4r.Fe4r_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Krabb.fe4r.Fe4r 0.4", + "division": "roborumble", + "jar": "Krabb.fe4r.Fe4r_0.4.jar", + "jar_sha256": "9f79e5b0fcb27d5409c2e3da54e3dc463a9681ecec2ac3d1e1c0280fbb339ce9", + "key": "roborumble/Krabb.fe4r.Fe4r_0.4.jar", + "kind": "robot" + }, + "latest_observation": "974a69b8c7986c2a", + "observations": [ + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5870.0, + "scores": [ + 3195.0, + 2675.0 + ], + "selected": "Krabb.fe4r.Fe4r 0.4" + }, + "completed_at": "2026-09-12T22:03:26Z", + "confirmation": null, + "delta_pct": -3.3, + "id": "974a69b8c7986c2a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Krabb.fe4r.Fe4r 0.4", + "division": "roborumble", + "jar": "Krabb.fe4r.Fe4r_0.4.jar", + "jar_sha256": "9f79e5b0fcb27d5409c2e3da54e3dc463a9681ecec2ac3d1e1c0280fbb339ce9", + "key": "roborumble/Krabb.fe4r.Fe4r_0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5677.0, + "scores": [ + 3152.0, + 2525.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/Krabb.krabby.Krabby_1.18b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Krabb.krabby.Krabby 1.18b", + "division": "roborumble", + "jar": "Krabb.krabby.Krabby_1.18b.jar", + "jar_sha256": "cb765a9c2aed02cf2c55d05017f9abb52fd66f511bb4783f232d4ad6e58abf88", + "key": "roborumble/Krabb.krabby.Krabby_1.18b.jar", + "kind": "robot" + }, + "latest_observation": "1f6ea5fdbb0c8d06", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4732.0, + "scores": [ + 2501.0, + 2231.0 + ], + "selected": "Krabb.krabby.Krabby 1.18b" + }, + "completed_at": "2026-09-12T22:03:48Z", + "confirmation": null, + "delta_pct": -1.6, + "id": "1f6ea5fdbb0c8d06", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Krabb.krabby.Krabby 1.18b", + "division": "roborumble", + "jar": "Krabb.krabby.Krabby_1.18b.jar", + "jar_sha256": "cb765a9c2aed02cf2c55d05017f9abb52fd66f511bb4783f232d4ad6e58abf88", + "key": "roborumble/Krabb.krabby.Krabby_1.18b.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4654.0, + "scores": [ + 2433.0, + 2221.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/Krabb.sliNk.Garm_0.9u.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Krabb.sliNk.Garm 0.9u", + "division": "roborumble", + "jar": "Krabb.sliNk.Garm_0.9u.jar", + "jar_sha256": "c895d29c6c2b83c9441a643deca71f43405cb9907a2d4393832a84305967fe2d", + "key": "roborumble/Krabb.sliNk.Garm_0.9u.jar", + "kind": "robot" + }, + "latest_observation": "a51bebcb193de7f9", + "observations": [ + { + "classic": { + "elapsed": 6.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4705.0, + "scores": [ + 2337.0, + 2368.0 + ], + "selected": "Krabb.sliNk.Garm 0.9u" + }, + "completed_at": "2026-09-12T22:04:01Z", + "confirmation": null, + "delta_pct": null, + "id": "a51bebcb193de7f9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Krabb.sliNk.Garm 0.9u", + "division": "roborumble", + "jar": "Krabb.sliNk.Garm_0.9u.jar", + "jar_sha256": "c895d29c6c2b83c9441a643deca71f43405cb9907a2d4393832a84305967fe2d", + "key": "roborumble/Krabb.sliNk.Garm_0.9u.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NoClassDefFoundError", + "unknown" + ] + ], + "elapsed": 6.2, + "error_count": 4, + "error_signatures": [ + { + "exception": "java.lang.NoClassDefFoundError", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NoClassDefFoundError: Could not initialize class java.lang.StackTraceElement$HashedModules", + "Exception in thread \"Thread-1\" java.lang.NoClassDefFoundError: Could not initialize class java.lang.StackTraceElement$HashedModules", + "Exception: java.lang.NoClassDefFoundError thrown from the UncaughtExceptionHandler in thread \"Thread-1\"" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/Legend.Biogon_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Legend.Biogon 1.5", + "division": "roborumble", + "jar": "Legend.Biogon_1.5.jar", + "jar_sha256": "a2ccc028eb52f7d2237c4b792216af326e6d8808cf07064d2da9672b88bcf0a5", + "key": "roborumble/Legend.Biogon_1.5.jar", + "kind": "robot" + }, + "latest_observation": "182b54a548d2d2a1", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6477.0, + "scores": [ + 3536.0, + 2941.0 + ], + "selected": "Legend.Biogon 1.5" + }, + "completed_at": "2026-09-12T22:09:35Z", + "confirmation": null, + "delta_pct": 1.8, + "id": "182b54a548d2d2a1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Legend.Biogon 1.5", + "division": "roborumble", + "jar": "Legend.Biogon_1.5.jar", + "jar_sha256": "a2ccc028eb52f7d2237c4b792216af326e6d8808cf07064d2da9672b88bcf0a5", + "key": "roborumble/Legend.Biogon_1.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6593.0, + "scores": [ + 3734.0, + 2859.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/Legend.BoulderZY_1.4.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Legend.BoulderZY 1.4.9", + "division": "roborumble", + "jar": "Legend.BoulderZY_1.4.9.jar", + "jar_sha256": "654d2c5159f345819e1bac5053b6c7b0631f3f6b233120cf374e5563dc0a2d03", + "key": "roborumble/Legend.BoulderZY_1.4.9.jar", + "kind": "robot" + }, + "latest_observation": "2bb7dd7a316d3f30", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4744.0, + "scores": [ + 2386.0, + 2358.0 + ], + "selected": "Legend.BoulderZY 1.4.9" + }, + "completed_at": "2026-09-12T22:10:05Z", + "confirmation": null, + "delta_pct": 3.2, + "id": "2bb7dd7a316d3f30", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Legend.BoulderZY 1.4.9", + "division": "roborumble", + "jar": "Legend.BoulderZY_1.4.9.jar", + "jar_sha256": "654d2c5159f345819e1bac5053b6c7b0631f3f6b233120cf374e5563dc0a2d03", + "key": "roborumble/Legend.BoulderZY_1.4.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4896.0, + "scores": [ + 3310.0, + 1586.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/Legend.Qetro_1.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Legend.Qetro 1.6", + "division": "roborumble", + "jar": "Legend.Qetro_1.6.jar", + "jar_sha256": "eb31a188abf9582606fb7045bf4d796bb8a04abbec31f0171916e6e7e8f32422", + "key": "roborumble/Legend.Qetro_1.6.jar", + "kind": "robot" + }, + "latest_observation": "198ccdef7a8da62a", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 850.0, + "scores": [ + 251.0, + 599.0 + ], + "selected": "Legend.Qetro 1.6" + }, + "completed_at": "2026-09-12T22:10:50Z", + "confirmation": null, + "delta_pct": 435.4, + "id": "198ccdef7a8da62a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Legend.Qetro 1.6", + "division": "roborumble", + "jar": "Legend.Qetro_1.6.jar", + "jar_sha256": "eb31a188abf9582606fb7045bf4d796bb8a04abbec31f0171916e6e7e8f32422", + "key": "roborumble/Legend.Qetro_1.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4551.0, + "scores": [ + 2468.0, + 2083.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/Legend.X_FireFly_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Legend.X_FireFly 1.3", + "division": "roborumble", + "jar": "Legend.X_FireFly_1.3.jar", + "jar_sha256": "3c1a949e4da455f0170f970bc087db5c1e33ee5999f6175f4973ce616475d7ab", + "key": "roborumble/Legend.X_FireFly_1.3.jar", + "kind": "robot" + }, + "latest_observation": "fdefe32978cfaead", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6932.0, + "scores": [ + 2985.0, + 3947.0 + ], + "selected": "Legend.X_FireFly 1.3" + }, + "completed_at": "2026-09-12T22:11:13Z", + "confirmation": null, + "delta_pct": -11.9, + "id": "fdefe32978cfaead", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Legend.X_FireFly 1.3", + "division": "roborumble", + "jar": "Legend.X_FireFly_1.3.jar", + "jar_sha256": "3c1a949e4da455f0170f970bc087db5c1e33ee5999f6175f4973ce616475d7ab", + "key": "roborumble/Legend.X_FireFly_1.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6110.0, + "scores": [ + 3301.0, + 2809.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/Lo_Ian.Gandalf_V4_4.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Lo_Ian.Gandalf_V4 4.0", + "division": "roborumble", + "jar": "Lo_Ian.Gandalf_V4_4.0.jar", + "jar_sha256": "9b7a888722bb3d6f6ecdb0b9714b64a6cb7496fb9f00e297680943de82c752d2", + "key": "roborumble/Lo_Ian.Gandalf_V4_4.0.jar", + "kind": "robot" + }, + "latest_observation": "8890f7a46ab1884b", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7966.0, + "scores": [ + 3595.0, + 4371.0 + ], + "selected": "Lo_Ian.Gandalf_V4 4.0" + }, + "completed_at": "2026-09-12T22:13:09Z", + "confirmation": null, + "delta_pct": -23.1, + "id": "8890f7a46ab1884b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Lo_Ian.Gandalf_V4 4.0", + "division": "roborumble", + "jar": "Lo_Ian.Gandalf_V4_4.0.jar", + "jar_sha256": "9b7a888722bb3d6f6ecdb0b9714b64a6cb7496fb9f00e297680943de82c752d2", + "key": "roborumble/Lo_Ian.Gandalf_V4_4.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6124.0, + "scores": [ + 3691.0, + 2433.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/McS.Spanky_test_0.1a.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "McS.Spanky_test 0.1a", + "division": "roborumble", + "jar": "McS.Spanky_test_0.1a.jar", + "jar_sha256": "de3c5ea13a4fd84f5148ef75263cf441f6f41f0fc0cd57d11437dd79e29fda15", + "key": "roborumble/McS.Spanky_test_0.1a.jar", + "kind": "robot" + }, + "latest_observation": "97acd28e075752eb", + "observations": [ + { + "classic": { + "elapsed": 4.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5832.0, + "scores": [ + 3263.0, + 2569.0 + ], + "selected": "McS.Spanky_test 0.1a" + }, + "completed_at": "2026-09-12T22:36:26Z", + "confirmation": null, + "delta_pct": -34.6, + "id": "97acd28e075752eb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "McS.Spanky_test 0.1a", + "division": "roborumble", + "jar": "McS.Spanky_test_0.1a.jar", + "jar_sha256": "de3c5ea13a4fd84f5148ef75263cf441f6f41f0fc0cd57d11437dd79e29fda15", + "key": "roborumble/McS.Spanky_test_0.1a.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3815.0, + "scores": [ + 2011.0, + 1804.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/NDH.GuessFactor_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "NDH.GuessFactor 1.0", + "division": "roborumble", + "jar": "NDH.GuessFactor_1.0.jar", + "jar_sha256": "a8a80b8313128e2a9c5b291e12b2664e98d8470c3ddd0426c6bd8b29a8845059", + "key": "roborumble/NDH.GuessFactor_1.0.jar", + "kind": "robot" + }, + "latest_observation": "db031b6a71c48044", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6585.0, + "scores": [ + 3188.0, + 3397.0 + ], + "selected": "NDH.GuessFactor 1.0" + }, + "completed_at": "2026-09-12T23:02:22Z", + "confirmation": null, + "delta_pct": -20.1, + "id": "db031b6a71c48044", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "NDH.GuessFactor 1.0", + "division": "roborumble", + "jar": "NDH.GuessFactor_1.0.jar", + "jar_sha256": "a8a80b8313128e2a9c5b291e12b2664e98d8470c3ddd0426c6bd8b29a8845059", + "key": "roborumble/NDH.GuessFactor_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5259.0, + "scores": [ + 2661.0, + 2598.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/NG.LegatusLegionis_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "NG.LegatusLegionis 1.2", + "division": "roborumble", + "jar": "NG.LegatusLegionis_1.2.jar", + "jar_sha256": "86f8c5f642010108433a6ec7705bb3c2faa29555aeef41e160e2159d49998cb4", + "key": "roborumble/NG.LegatusLegionis_1.2.jar", + "kind": "robot" + }, + "latest_observation": "e7e8907e9e62c644", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5904.0, + "scores": [ + 2582.0, + 3322.0 + ], + "selected": "NG.LegatusLegionis 1.2" + }, + "completed_at": "2026-09-12T23:04:51Z", + "confirmation": null, + "delta_pct": -18.0, + "id": "e7e8907e9e62c644", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "NG.LegatusLegionis 1.2", + "division": "roborumble", + "jar": "NG.LegatusLegionis_1.2.jar", + "jar_sha256": "86f8c5f642010108433a6ec7705bb3c2faa29555aeef41e160e2159d49998cb4", + "key": "roborumble/NG.LegatusLegionis_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4841.0, + "scores": [ + 3059.0, + 1782.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/Noran.BitchingElk_0.054.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Noran.BitchingElk 0.054", + "division": "roborumble", + "jar": "Noran.BitchingElk_0.054.jar", + "jar_sha256": "a69eafb2a2f74431f8eb174e28dc2035270b2f741cdcd9e431a66d016d2770e7", + "key": "roborumble/Noran.BitchingElk_0.054.jar", + "kind": "robot" + }, + "latest_observation": "9d8e0d7d6484cf4e", + "observations": [ + { + "classic": { + "elapsed": 5.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5324.0, + "scores": [ + 3028.0, + 2296.0 + ], + "selected": "Noran.BitchingElk 0.054" + }, + "completed_at": "2026-09-12T23:07:17Z", + "confirmation": null, + "delta_pct": -68.1, + "id": "9d8e0d7d6484cf4e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Noran.BitchingElk 0.054", + "division": "roborumble", + "jar": "Noran.BitchingElk_0.054.jar", + "jar_sha256": "a69eafb2a2f74431f8eb174e28dc2035270b2f741cdcd9e431a66d016d2770e7", + "key": "roborumble/Noran.BitchingElk_0.054.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1700.0, + "scores": [ + 1092.0, + 608.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/Noran.RandomTargeting_0.02.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Noran.RandomTargeting 0.02", + "division": "roborumble", + "jar": "Noran.RandomTargeting_0.02.jar", + "jar_sha256": "d45abf78b719a316f0d97abbdd01022c2d7a0b8d4e918a025606f2d974b4983b", + "key": "roborumble/Noran.RandomTargeting_0.02.jar", + "kind": "robot" + }, + "latest_observation": "e012f27fbf629333", + "observations": [ + { + "classic": { + "elapsed": 4.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6491.0, + "scores": [ + 3526.0, + 2965.0 + ], + "selected": "Noran.RandomTargeting 0.02" + }, + "completed_at": "2026-09-12T23:08:21Z", + "confirmation": null, + "delta_pct": -74.7, + "id": "e012f27fbf629333", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "14e9cb0fa33771e606a79eb154b096b84ca5b56e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Noran.RandomTargeting 0.02", + "division": "roborumble", + "jar": "Noran.RandomTargeting_0.02.jar", + "jar_sha256": "d45abf78b719a316f0d97abbdd01022c2d7a0b8d4e918a025606f2d974b4983b", + "key": "roborumble/Noran.RandomTargeting_0.02.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1640.0, + "scores": [ + 852.0, + 788.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/PK.Twardy_0.4.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "PK.Twardy 0.4.2", + "division": "roborumble", + "jar": "PK.Twardy_0.4.2.jar", + "jar_sha256": "1ffeda51a8d9cb217c05d80cd518760e9c6dc46d8bcd29efd01f9c5bb767902e", + "key": "roborumble/PK.Twardy_0.4.2.jar", + "kind": "robot" + }, + "latest_observation": "4f826576c4961d6b", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4369.0, + "scores": [ + 1971.0, + 2398.0 + ], + "selected": "PK.Twardy 0.4.2" + }, + "completed_at": "2026-09-21T17:51:45Z", + "confirmation": null, + "delta_pct": -12.3, + "id": "4f826576c4961d6b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "PK.Twardy 0.4.2", + "division": "roborumble", + "jar": "PK.Twardy_0.4.2.jar", + "jar_sha256": "1ffeda51a8d9cb217c05d80cd518760e9c6dc46d8bcd29efd01f9c5bb767902e", + "key": "roborumble/PK.Twardy_0.4.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3832.0, + "scores": [ + 2229.0, + 1603.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/PSW.Relentless_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "PSW.Relentless 0.1", + "division": "roborumble", + "jar": "PSW.Relentless_0.1.jar", + "jar_sha256": "3a49c3cb49fb63128c7ed8dfd8cda9843afd7a6f51d06d5e6e25f1ecc953fd9f", + "key": "roborumble/PSW.Relentless_0.1.jar", + "kind": "robot" + }, + "latest_observation": "48e3b8645ab60a02", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11861.0, + "scores": [ + 5825.0, + 6036.0 + ], + "selected": "PSW.Relentless 0.1" + }, + "completed_at": "2026-09-21T17:57:38Z", + "confirmation": null, + "delta_pct": 8.0, + "id": "48e3b8645ab60a02", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "PSW.Relentless 0.1", + "division": "roborumble", + "jar": "PSW.Relentless_0.1.jar", + "jar_sha256": "3a49c3cb49fb63128c7ed8dfd8cda9843afd7a6f51d06d5e6e25f1ecc953fd9f", + "key": "roborumble/PSW.Relentless_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12814.0, + "scores": [ + 6495.0, + 6319.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/PkKillers.PkAssassin_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "PkKillers.PkAssassin 1.0", + "division": "roborumble", + "jar": "PkKillers.PkAssassin_1.0.jar", + "jar_sha256": "87b39ba6c8adbe0740613fe8004b29be2f2a6fae5a195ec42b811a5ec58e0678", + "key": "roborumble/PkKillers.PkAssassin_1.0.jar", + "kind": "robot" + }, + "latest_observation": "e6c14288e7ce7aad", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5777.0, + "scores": [ + 2962.0, + 2815.0 + ], + "selected": "PkKillers.PkAssassin 1.0" + }, + "completed_at": "2026-09-21T17:52:51Z", + "confirmation": null, + "delta_pct": -39.9, + "id": "e6c14288e7ce7aad", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "PkKillers.PkAssassin 1.0", + "division": "roborumble", + "jar": "PkKillers.PkAssassin_1.0.jar", + "jar_sha256": "87b39ba6c8adbe0740613fe8004b29be2f2a6fae5a195ec42b811a5ec58e0678", + "key": "roborumble/PkKillers.PkAssassin_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3473.0, + "scores": [ + 1764.0, + 1709.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/Polkwane.Piyane_0.7b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Polkwane.Piyane 0.7b", + "division": "roborumble", + "jar": "Polkwane.Piyane_0.7b.jar", + "jar_sha256": "52cd67aa680570bdac88b38b9bf3ab287ee6151a1f5c634713beb4f834c7bc3f", + "key": "roborumble/Polkwane.Piyane_0.7b.jar", + "kind": "robot" + }, + "latest_observation": "fe24d73d806767ce", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4044.0, + "scores": [ + 2188.0, + 1856.0 + ], + "selected": "Polkwane.Piyane 0.7b" + }, + "completed_at": "2026-09-21T17:55:27Z", + "confirmation": null, + "delta_pct": 2.7, + "id": "fe24d73d806767ce", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Polkwane.Piyane 0.7b", + "division": "roborumble", + "jar": "Polkwane.Piyane_0.7b.jar", + "jar_sha256": "52cd67aa680570bdac88b38b9bf3ab287ee6151a1f5c634713beb4f834c7bc3f", + "key": "roborumble/Polkwane.Piyane_0.7b.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4155.0, + "scores": [ + 2094.0, + 2061.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/Queens_teamrobot.UltraRazor_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "Queens_teamrobot.UltraRazor 1.0", + "division": "roborumble", + "jar": "Queens_teamrobot.UltraRazor_1.0.jar", + "jar_sha256": "74c436437971bdef836e3a56654ad22ebed2730140b88453256fc5946e93a88b", + "key": "roborumble/Queens_teamrobot.UltraRazor_1.0.jar", + "kind": "robot" + }, + "latest_observation": "43c2efac1cd80368", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5983.0, + "scores": [ + 3199.0, + 2784.0 + ], + "selected": "Queens_teamrobot.UltraRazor 1.0" + }, + "completed_at": "2026-09-21T17:59:48Z", + "confirmation": null, + "delta_pct": -12.9, + "id": "43c2efac1cd80368", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "Queens_teamrobot.UltraRazor 1.0", + "division": "roborumble", + "jar": "Queens_teamrobot.UltraRazor_1.0.jar", + "jar_sha256": "74c436437971bdef836e3a56654ad22ebed2730140b88453256fc5946e93a88b", + "key": "roborumble/Queens_teamrobot.UltraRazor_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5210.0, + "scores": [ + 2702.0, + 2508.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/RobotMarco.MarcoV_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "RobotMarco.MarcoV 0.1", + "division": "roborumble", + "jar": "RobotMarco.MarcoV_0.1.jar", + "jar_sha256": "6d2976a0cd1f611e6e3a74447c89dd1189278e2caee935db1e4cfc0fc919d7c1", + "key": "roborumble/RobotMarco.MarcoV_0.1.jar", + "kind": "robot" + }, + "latest_observation": "4ce94ab4ed71983a", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5077.0, + "scores": [ + 2865.0, + 2212.0 + ], + "selected": "RobotMarco.MarcoV 0.1" + }, + "completed_at": "2026-09-21T18:19:26Z", + "confirmation": null, + "delta_pct": -60.8, + "id": "4ce94ab4ed71983a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "RobotMarco.MarcoV 0.1", + "division": "roborumble", + "jar": "RobotMarco.MarcoV_0.1.jar", + "jar_sha256": "6d2976a0cd1f611e6e3a74447c89dd1189278e2caee935db1e4cfc0fc919d7c1", + "key": "roborumble/RobotMarco.MarcoV_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1989.0, + "scores": [ + 1329.0, + 660.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/SFS.SamsSecondRobot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "SFS.SamsSecondRobot 1.0", + "division": "roborumble", + "jar": "SFS.SamsSecondRobot_1.0.jar", + "jar_sha256": "86ba6a972391fd3f9c1cc8ed51fa686a6219cc347672808fce23a6b5d01a3a00", + "key": "roborumble/SFS.SamsSecondRobot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "6bb607869c096bf7", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10164.0, + "scores": [ + 5562.0, + 4602.0 + ], + "selected": "SFS.SamsSecondRobot 1.0" + }, + "completed_at": "2026-09-21T18:50:04Z", + "confirmation": null, + "delta_pct": -8.3, + "id": "6bb607869c096bf7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "SFS.SamsSecondRobot 1.0", + "division": "roborumble", + "jar": "SFS.SamsSecondRobot_1.0.jar", + "jar_sha256": "86ba6a972391fd3f9c1cc8ed51fa686a6219cc347672808fce23a6b5d01a3a00", + "key": "roborumble/SFS.SamsSecondRobot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9317.0, + "scores": [ + 5026.0, + 4291.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/SHAM.WOW_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "SHAM.WOW 1.4", + "division": "roborumble", + "jar": "SHAM.WOW_1.4.jar", + "jar_sha256": "16a7a8994e93ec28cb8f3b71bffd49bfefa1f2d48202bf45701bb6b8b8d733be", + "key": "roborumble/SHAM.WOW_1.4.jar", + "kind": "robot" + }, + "latest_observation": "7845776cc1f2e35d", + "observations": [ + { + "classic": { + "elapsed": 4.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6075.0, + "scores": [ + 3112.0, + 2963.0 + ], + "selected": "SHAM.WOW 1.4" + }, + "completed_at": "2026-09-21T18:54:20Z", + "confirmation": null, + "delta_pct": -4.5, + "id": "7845776cc1f2e35d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "SHAM.WOW 1.4", + "division": "roborumble", + "jar": "SHAM.WOW_1.4.jar", + "jar_sha256": "16a7a8994e93ec28cb8f3b71bffd49bfefa1f2d48202bf45701bb6b8b8d733be", + "key": "roborumble/SHAM.WOW_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5800.0, + "scores": [ + 3216.0, + 2584.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/SK.SimpleKiller_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "SK.SimpleKiller 1.0", + "division": "roborumble", + "jar": "SK.SimpleKiller_1.0.jar", + "jar_sha256": "6ccd7e76980cb687f9a2873df52bdcffec234f8c68a0e17536f807d941442320", + "key": "roborumble/SK.SimpleKiller_1.0.jar", + "kind": "robot" + }, + "latest_observation": "f9c353d1c835ef68", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6021.0, + "scores": [ + 3265.0, + 2756.0 + ], + "selected": "SK.SimpleKiller 1.0" + }, + "completed_at": "2026-09-21T19:03:48Z", + "confirmation": null, + "delta_pct": -12.2, + "id": "f9c353d1c835ef68", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "SK.SimpleKiller 1.0", + "division": "roborumble", + "jar": "SK.SimpleKiller_1.0.jar", + "jar_sha256": "6ccd7e76980cb687f9a2873df52bdcffec234f8c68a0e17536f807d941442320", + "key": "roborumble/SK.SimpleKiller_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5288.0, + "scores": [ + 2668.0, + 2620.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/SuperSample.SuperCrazy_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "SuperSample.SuperCrazy 1.0", + "division": "roborumble", + "jar": "SuperSample.SuperCrazy_1.0.jar", + "jar_sha256": "59e1080a733752823a2903d2e7db4a2122947ea41c9fd6f4e9157dbe8a7c9ec0", + "key": "roborumble/SuperSample.SuperCrazy_1.0.jar", + "kind": "robot" + }, + "latest_observation": "debe41ca5f68f223", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4103.0, + "scores": [ + 2191.0, + 1912.0 + ], + "selected": "SuperSample.SuperCrazy 1.0" + }, + "completed_at": "2026-09-21T19:42:06Z", + "confirmation": null, + "delta_pct": -3.7, + "id": "debe41ca5f68f223", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "SuperSample.SuperCrazy 1.0", + "division": "roborumble", + "jar": "SuperSample.SuperCrazy_1.0.jar", + "jar_sha256": "59e1080a733752823a2903d2e7db4a2122947ea41c9fd6f4e9157dbe8a7c9ec0", + "key": "roborumble/SuperSample.SuperCrazy_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3950.0, + "scores": [ + 2069.0, + 1881.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/TCMI.Enyo_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "TCMI.Enyo 0.4", + "division": "roborumble", + "jar": "TCMI.Enyo_0.4.jar", + "jar_sha256": "d1b5b4c4aef5dcec554db9ebdcdb46ec50fd1703123378e96dcd2a0660b03f83", + "key": "roborumble/TCMI.Enyo_0.4.jar", + "kind": "robot" + }, + "latest_observation": "d0730cb90bf4479d", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2769.0, + "scores": [ + 1620.0, + 1149.0 + ], + "selected": "TCMI.Enyo 0.4" + }, + "completed_at": "2026-09-21T19:54:22Z", + "confirmation": null, + "delta_pct": 4.6, + "id": "d0730cb90bf4479d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "TCMI.Enyo 0.4", + "division": "roborumble", + "jar": "TCMI.Enyo_0.4.jar", + "jar_sha256": "d1b5b4c4aef5dcec554db9ebdcdb46ec50fd1703123378e96dcd2a0660b03f83", + "key": "roborumble/TCMI.Enyo_0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2896.0, + "scores": [ + 1500.0, + 1396.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/TCMI.nano.Copper_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "TCMI.nano.Copper 0.2", + "division": "roborumble", + "jar": "TCMI.nano.Copper_0.2.jar", + "jar_sha256": "7059470a093f48e1bc30e7857186caf6b9c359cb1753f507fb139aef3dba74d9", + "key": "roborumble/TCMI.nano.Copper_0.2.jar", + "kind": "robot" + }, + "latest_observation": "89df038c5cdd7a33", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7322.0, + "scores": [ + 3727.0, + 3595.0 + ], + "selected": "TCMI.nano.Copper 0.2" + }, + "completed_at": "2026-09-21T19:54:41Z", + "confirmation": null, + "delta_pct": -13.0, + "id": "89df038c5cdd7a33", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "TCMI.nano.Copper 0.2", + "division": "roborumble", + "jar": "TCMI.nano.Copper_0.2.jar", + "jar_sha256": "7059470a093f48e1bc30e7857186caf6b9c359cb1753f507fb139aef3dba74d9", + "key": "roborumble/TCMI.nano.Copper_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6368.0, + "scores": [ + 3338.0, + 3030.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/WarfaJibril.Jibril_Warfa_Andromeda_1.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "WarfaJibril.Jibril_Warfa_Andromeda 1.11", + "division": "roborumble", + "jar": "WarfaJibril.Jibril_Warfa_Andromeda_1.11.jar", + "jar_sha256": "d34af08ab7276912f3d47a5afa9d368c45a35299773a458a2f273df803a1af7c", + "key": "roborumble/WarfaJibril.Jibril_Warfa_Andromeda_1.11.jar", + "kind": "robot" + }, + "latest_observation": "954146b5ca6c4071", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5384.0, + "scores": [ + 2551.0, + 2833.0 + ], + "selected": "WarfaJibril.Jibril_Warfa_Andromeda 1.11" + }, + "completed_at": "2026-09-21T20:22:55Z", + "confirmation": null, + "delta_pct": -1.7, + "id": "954146b5ca6c4071", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "WarfaJibril.Jibril_Warfa_Andromeda 1.11", + "division": "roborumble", + "jar": "WarfaJibril.Jibril_Warfa_Andromeda_1.11.jar", + "jar_sha256": "d34af08ab7276912f3d47a5afa9d368c45a35299773a458a2f273df803a1af7c", + "key": "roborumble/WarfaJibril.Jibril_Warfa_Andromeda_1.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5292.0, + "scores": [ + 2779.0, + 2513.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/WdV.Lesserbee_0.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "WdV.Lesserbee 0.01", + "division": "roborumble", + "jar": "WdV.Lesserbee_0.01.jar", + "jar_sha256": "a4455c783bb7801d260ffe41d75d7d4aef9b915c4c0b7e28f57f39ce321a2133", + "key": "roborumble/WdV.Lesserbee_0.01.jar", + "kind": "robot" + }, + "latest_observation": "3ceca4f5146d5ae1", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11990.0, + "scores": [ + 6439.0, + 5551.0 + ], + "selected": "WdV.Lesserbee 0.01" + }, + "completed_at": "2026-09-21T20:25:19Z", + "confirmation": null, + "delta_pct": -14.6, + "id": "3ceca4f5146d5ae1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "WdV.Lesserbee 0.01", + "division": "roborumble", + "jar": "WdV.Lesserbee_0.01.jar", + "jar_sha256": "a4455c783bb7801d260ffe41d75d7d4aef9b915c4c0b7e28f57f39ce321a2133", + "key": "roborumble/WdV.Lesserbee_0.01.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10235.0, + "scores": [ + 5285.0, + 4950.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/a.FreyaOS_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "a.FreyaOS 1.0", + "division": "roborumble", + "jar": "a.FreyaOS_1.0.jar", + "jar_sha256": "76223355e093db18e286f0660a56ffe097eb1d5549215c31cc60bddf946602b4", + "key": "roborumble/a.FreyaOS_1.0.jar", + "kind": "robot" + }, + "latest_observation": "9e1e7bb327ea3434", + "observations": [ + { + "classic": { + "elapsed": 8.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6065.0, + "scores": [ + 2950.0, + 3115.0 + ], + "selected": "a.FreyaOS 1.0" + }, + "completed_at": "2026-09-08T20:07:12Z", + "delta_pct": -8.3, + "id": "a90b9e5e44b1a73b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "a.FreyaOS 1.0", + "division": "roborumble", + "jar": "a.FreyaOS_1.0.jar", + "jar_sha256": "76223355e093db18e286f0660a56ffe097eb1d5549215c31cc60bddf946602b4", + "key": "roborumble/a.FreyaOS_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 26.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5563.0, + "scores": [ + 3052.0, + 2511.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6664.0, + "scores": [ + 3194.0, + 3470.0 + ], + "selected": "a.FreyaOS 1.0" + }, + "completed_at": "2026-09-09T17:57:52Z", + "delta_pct": -27.4, + "id": "250efa0576cb1c56", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "a.FreyaOS 1.0", + "division": "roborumble", + "jar": "a.FreyaOS_1.0.jar", + "jar_sha256": "76223355e093db18e286f0660a56ffe097eb1d5549215c31cc60bddf946602b4", + "key": "roborumble/a.FreyaOS_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4836.0, + "scores": [ + 2463.0, + 2373.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5886.0, + "scores": [ + 2449.0, + 3437.0 + ], + "selected": "a.FreyaOS 1.0" + }, + "completed_at": "2026-09-11T17:53:52Z", + "confirmation": null, + "delta_pct": -18.0, + "id": "9e1e7bb327ea3434", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "a.FreyaOS 1.0", + "division": "roborumble", + "jar": "a.FreyaOS_1.0.jar", + "jar_sha256": "76223355e093db18e286f0660a56ffe097eb1d5549215c31cc60bddf946602b4", + "key": "roborumble/a.FreyaOS_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4827.0, + "scores": [ + 2565.0, + 2262.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/aaa.r.ScalarR_0.005h.053.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "aaa.r.ScalarR 0.005h.053", + "division": "roborumble", + "jar": "aaa.r.ScalarR_0.005h.053.jar", + "jar_sha256": "60fef68d968790732c85b20d885e1ca9e99c5ba245e43c1a167f9f3b8956c055", + "key": "roborumble/aaa.r.ScalarR_0.005h.053.jar", + "kind": "robot" + }, + "latest_observation": "1999b8e05dea9d75", + "observations": [ + { + "classic": { + "elapsed": 104.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4202.0, + "scores": [ + 1871.0, + 2331.0 + ], + "selected": "aaa.r.ScalarR 0.005h.053" + }, + "completed_at": "2026-09-08T20:09:10Z", + "delta_pct": 216.0, + "id": "789ba80b28f3224a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "aaa.r.ScalarR 0.005h.053", + "division": "roborumble", + "jar": "aaa.r.ScalarR_0.005h.053.jar", + "jar_sha256": "60fef68d968790732c85b20d885e1ca9e99c5ba245e43c1a167f9f3b8956c055", + "key": "roborumble/aaa.r.ScalarR_0.005h.053.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 14.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 13278.0, + "scores": [ + 7349.0, + 5929.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 92.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4206.0, + "scores": [ + 1830.0, + 2376.0 + ], + "selected": "aaa.r.ScalarR 0.005h.053" + }, + "completed_at": "2026-09-11T17:57:11Z", + "confirmation": null, + "delta_pct": 190.7, + "id": "039e536841d5a2cf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "aaa.r.ScalarR 0.005h.053", + "division": "roborumble", + "jar": "aaa.r.ScalarR_0.005h.053.jar", + "jar_sha256": "60fef68d968790732c85b20d885e1ca9e99c5ba245e43c1a167f9f3b8956c055", + "key": "roborumble/aaa.r.ScalarR_0.005h.053.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 105.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": true, + "ok": true, + "score": 12228.0, + "scores": [ + 6488.0, + 5740.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 94.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4232.0, + "scores": [ + 1960.0, + 2272.0 + ], + "selected": "aaa.r.ScalarR 0.005h.053" + }, + "completed_at": "2026-09-12T21:21:22Z", + "confirmation": null, + "delta_pct": 91.4, + "id": "7c97630f120460e2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "aaa.r.ScalarR 0.005h.053", + "division": "roborumble", + "jar": "aaa.r.ScalarR_0.005h.053.jar", + "jar_sha256": "60fef68d968790732c85b20d885e1ca9e99c5ba245e43c1a167f9f3b8956c055", + "key": "roborumble/aaa.r.ScalarR_0.005h.053.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 447.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": true, + "ok": true, + "score": 8100.0, + "scores": [ + 5598.0, + 2502.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 99.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4321.0, + "scores": [ + 2425.0, + 1896.0 + ], + "selected": "aaa.r.ScalarR 0.005h.053" + }, + "completed_at": "2026-09-28T20:06:47Z", + "confirmation": null, + "delta_pct": 205.7, + "id": "1999b8e05dea9d75", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "aaa.r.ScalarR 0.005h.053", + "division": "roborumble", + "jar": "aaa.r.ScalarR_0.005h.053.jar", + "jar_sha256": "60fef68d968790732c85b20d885e1ca9e99c5ba245e43c1a167f9f3b8956c055", + "key": "roborumble/aaa.r.ScalarR_0.005h.053.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13210.0, + "scores": [ + 6988.0, + 6222.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ab.DengerousRoBatra_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ab.DengerousRoBatra 1.3", + "division": "roborumble", + "jar": "ab.DengerousRoBatra_1.3.jar", + "jar_sha256": "62d46305baa7ded6cbbe763b1614d41c1ff2dd2d9992c028cfbf1a26c228530f", + "key": "roborumble/ab.DengerousRoBatra_1.3.jar", + "kind": "robot" + }, + "latest_observation": "b308807f77b31226", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5727.0, + "scores": [ + 2778.0, + 2949.0 + ], + "selected": "ab.DengerousRoBatra 1.3" + }, + "completed_at": "2026-09-08T20:09:35Z", + "delta_pct": -12.6, + "id": "b9f7cc9d84668eb6", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ab.DengerousRoBatra 1.3", + "division": "roborumble", + "jar": "ab.DengerousRoBatra_1.3.jar", + "jar_sha256": "62d46305baa7ded6cbbe763b1614d41c1ff2dd2d9992c028cfbf1a26c228530f", + "key": "roborumble/ab.DengerousRoBatra_1.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5005.0, + "scores": [ + 2593.0, + 2412.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5884.0, + "scores": [ + 3296.0, + 2588.0 + ], + "selected": "ab.DengerousRoBatra 1.3" + }, + "completed_at": "2026-09-11T17:57:36Z", + "confirmation": null, + "delta_pct": -9.8, + "id": "b308807f77b31226", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ab.DengerousRoBatra 1.3", + "division": "roborumble", + "jar": "ab.DengerousRoBatra_1.3.jar", + "jar_sha256": "62d46305baa7ded6cbbe763b1614d41c1ff2dd2d9992c028cfbf1a26c228530f", + "key": "roborumble/ab.DengerousRoBatra_1.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5310.0, + "scores": [ + 2958.0, + 2352.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/abud.ThirdRobo_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "abud.ThirdRobo 1.0", + "division": "roborumble", + "jar": "abud.ThirdRobo_1.0.jar", + "jar_sha256": "124b7067cca1b407845176fd26ad2388aab1ad20085b34bd5561539515272a16", + "key": "roborumble/abud.ThirdRobo_1.0.jar", + "kind": "robot" + }, + "latest_observation": "ed9b79a036d61bd5", + "observations": [ + { + "classic": { + "elapsed": 6.2, + "error_count": 328, + "errors": [ + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo" + ], + "has_log": true, + "ok": true, + "score": 6152.0, + "scores": [ + 2879.0, + 3273.0 + ], + "selected": "abud.ThirdRobo 1.0" + }, + "completed_at": "2026-09-08T20:09:46Z", + "delta_pct": null, + "id": "b6434f799b62dbb9", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "abud.ThirdRobo 1.0", + "division": "roborumble", + "jar": "abud.ThirdRobo_1.0.jar", + "jar_sha256": "124b7067cca1b407845176fd26ad2388aab1ad20085b34bd5561539515272a16", + "key": "roborumble/abud.ThirdRobo_1.0.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 82, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", + "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.2, + "error_count": 326, + "error_signatures": [ + { + "exception": "java.io.NotSerializableException", + "origin": "abud.ThirdRobo.onScannedRobot" + }, + { + "exception": "java.io.NotSerializableException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo" + ], + "has_log": true, + "ok": true, + "score": 6078.0, + "scores": [ + 2775.0, + 3303.0 + ], + "selected": "abud.ThirdRobo 1.0" + }, + "completed_at": "2026-09-11T17:58:56Z", + "confirmation": null, + "delta_pct": -36.5, + "id": "1b3b1abfcafc8924", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "abud.ThirdRobo 1.0", + "division": "roborumble", + "jar": "abud.ThirdRobo_1.0.jar", + "jar_sha256": "124b7067cca1b407845176fd26ad2388aab1ad20085b34bd5561539515272a16", + "key": "roborumble/abud.ThirdRobo_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 54.3, + "error_count": 14551, + "error_signatures": [ + { + "exception": "java.io.NotSerializableException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo" + ], + "has_log": true, + "ok": true, + "score": 3859.0, + "scores": [ + 2004.0, + 1855.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.2, + "error_count": 328, + "error_signatures": [ + { + "exception": "java.io.NotSerializableException", + "origin": "abud.ThirdRobo.onScannedRobot" + }, + { + "exception": "java.io.NotSerializableException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo" + ], + "has_log": true, + "ok": true, + "score": 5975.0, + "scores": [ + 3164.0, + 2811.0 + ], + "selected": "abud.ThirdRobo 1.0" + }, + "completed_at": "2026-09-12T21:23:00Z", + "confirmation": null, + "delta_pct": -41.3, + "id": "04f683a09f60d02c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "abud.ThirdRobo 1.0", + "division": "roborumble", + "jar": "abud.ThirdRobo_1.0.jar", + "jar_sha256": "124b7067cca1b407845176fd26ad2388aab1ad20085b34bd5561539515272a16", + "key": "roborumble/abud.ThirdRobo_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 58.3, + "error_count": 16785, + "error_signatures": [ + { + "exception": "java.io.NotSerializableException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo" + ], + "has_log": true, + "ok": true, + "score": 3510.0, + "scores": [ + 1884.0, + 1626.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.1, + "error_count": 328, + "error_signatures": [ + { + "exception": "java.io.NotSerializableException", + "origin": "abud.ThirdRobo.onScannedRobot" + }, + { + "exception": "java.io.NotSerializableException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo" + ], + "has_log": true, + "ok": true, + "score": 5983.0, + "scores": [ + 2714.0, + 3269.0 + ], + "selected": "abud.ThirdRobo 1.0" + }, + "completed_at": "2026-09-28T20:08:18Z", + "confirmation": null, + "delta_pct": -42.6, + "id": "ed9b79a036d61bd5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "abud.ThirdRobo 1.0", + "division": "roborumble", + "jar": "abud.ThirdRobo_1.0.jar", + "jar_sha256": "124b7067cca1b407845176fd26ad2388aab1ad20085b34bd5561539515272a16", + "key": "roborumble/abud.ThirdRobo_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 58.5, + "error_count": 16873, + "error_signatures": [ + { + "exception": "java.io.NotSerializableException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo", + "java.io.NotSerializableException: abud.EnemyInfo" + ], + "has_log": true, + "ok": true, + "score": 3434.0, + "scores": [ + 1843.0, + 1591.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/acid.Bl4ck_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "acid.Bl4ck 1.0", + "division": "roborumble", + "jar": "acid.Bl4ck_1.0.jar", + "jar_sha256": "50cca7b205a1a20119a7b0d3810f54e6ce0a0c985612da73c161fcdc5bbbd5fd", + "key": "roborumble/acid.Bl4ck_1.0.jar", + "kind": "robot" + }, + "latest_observation": "c227ddb44177ae63", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6723.0, + "scores": [ + 3340.0, + 3383.0 + ], + "selected": "acid.Bl4ck 1.0" + }, + "completed_at": "2026-09-08T20:10:15Z", + "delta_pct": -44.7, + "id": "7bbc287f8bfe56e4", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Bl4ck 1.0", + "division": "roborumble", + "jar": "acid.Bl4ck_1.0.jar", + "jar_sha256": "50cca7b205a1a20119a7b0d3810f54e6ce0a0c985612da73c161fcdc5bbbd5fd", + "key": "roborumble/acid.Bl4ck_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 26.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3717.0, + "scores": [ + 2005.0, + 1712.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6342.0, + "scores": [ + 3390.0, + 2952.0 + ], + "selected": "acid.Bl4ck 1.0" + }, + "completed_at": "2026-09-11T17:59:29Z", + "confirmation": null, + "delta_pct": -43.1, + "id": "31b751ff94a78f8b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Bl4ck 1.0", + "division": "roborumble", + "jar": "acid.Bl4ck_1.0.jar", + "jar_sha256": "50cca7b205a1a20119a7b0d3810f54e6ce0a0c985612da73c161fcdc5bbbd5fd", + "key": "roborumble/acid.Bl4ck_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3606.0, + "scores": [ + 2410.0, + 1196.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6044.0, + "scores": [ + 2766.0, + 3278.0 + ], + "selected": "acid.Bl4ck 1.0" + }, + "completed_at": "2026-09-12T21:23:29Z", + "confirmation": null, + "delta_pct": -35.6, + "id": "910983132c52aca1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Bl4ck 1.0", + "division": "roborumble", + "jar": "acid.Bl4ck_1.0.jar", + "jar_sha256": "50cca7b205a1a20119a7b0d3810f54e6ce0a0c985612da73c161fcdc5bbbd5fd", + "key": "roborumble/acid.Bl4ck_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3890.0, + "scores": [ + 2411.0, + 1479.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6704.0, + "scores": [ + 3531.0, + 3173.0 + ], + "selected": "acid.Bl4ck 1.0" + }, + "completed_at": "2026-09-28T20:08:53Z", + "confirmation": null, + "delta_pct": -55.6, + "id": "c227ddb44177ae63", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Bl4ck 1.0", + "division": "roborumble", + "jar": "acid.Bl4ck_1.0.jar", + "jar_sha256": "50cca7b205a1a20119a7b0d3810f54e6ce0a0c985612da73c161fcdc5bbbd5fd", + "key": "roborumble/acid.Bl4ck_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2975.0, + "scores": [ + 1499.0, + 1476.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/acid.Null_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "acid.Null 1.0", + "division": "roborumble", + "jar": "acid.Null_1.0.jar", + "jar_sha256": "66547223ee9a81b17dc19f612f5ec2fe6745fcacee1823d5d88c61cd08c76f04", + "key": "roborumble/acid.Null_1.0.jar", + "kind": "robot" + }, + "latest_observation": "6653b72b8099b103", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 1809.0, + "scores": [ + 539.0, + 1270.0 + ], + "selected": "acid.Null 1.0" + }, + "completed_at": "2026-09-08T20:10:47Z", + "delta_pct": 38.5, + "id": "590ef3a4eaca28e3", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Null 1.0", + "division": "roborumble", + "jar": "acid.Null_1.0.jar", + "jar_sha256": "66547223ee9a81b17dc19f612f5ec2fe6745fcacee1823d5d88c61cd08c76f04", + "key": "roborumble/acid.Null_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 28.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2506.0, + "scores": [ + 1482.0, + 1024.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2203.0, + "scores": [ + 897.0, + 1306.0 + ], + "selected": "acid.Null 1.0" + }, + "completed_at": "2026-09-11T18:00:00Z", + "confirmation": null, + "delta_pct": 19.2, + "id": "6653b72b8099b103", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Null 1.0", + "division": "roborumble", + "jar": "acid.Null_1.0.jar", + "jar_sha256": "66547223ee9a81b17dc19f612f5ec2fe6745fcacee1823d5d88c61cd08c76f04", + "key": "roborumble/acid.Null_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2627.0, + "scores": [ + 1433.0, + 1194.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/acid.Syzygy_1.0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "acid.Syzygy 1.0.4", + "division": "roborumble", + "jar": "acid.Syzygy_1.0.4.jar", + "jar_sha256": "a7336d30e377b013c9beaa6b4afabf93d3b8a83224d344beb7428e0361c4aa97", + "key": "roborumble/acid.Syzygy_1.0.4.jar", + "kind": "robot" + }, + "latest_observation": "6aa7029a15000fcf", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6558.0, + "scores": [ + 3265.0, + 3293.0 + ], + "selected": "acid.Syzygy 1.0.4" + }, + "completed_at": "2026-09-08T20:11:18Z", + "delta_pct": -46.4, + "id": "e0d888daca1f0456", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Syzygy 1.0.4", + "division": "roborumble", + "jar": "acid.Syzygy_1.0.4.jar", + "jar_sha256": "a7336d30e377b013c9beaa6b4afabf93d3b8a83224d344beb7428e0361c4aa97", + "key": "roborumble/acid.Syzygy_1.0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 28.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3518.0, + "scores": [ + 2229.0, + 1289.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6244.0, + "scores": [ + 2393.0, + 3851.0 + ], + "selected": "acid.Syzygy 1.0.4" + }, + "completed_at": "2026-09-11T18:00:32Z", + "confirmation": null, + "delta_pct": -40.0, + "id": "f582ec553cdc51c0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Syzygy 1.0.4", + "division": "roborumble", + "jar": "acid.Syzygy_1.0.4.jar", + "jar_sha256": "a7336d30e377b013c9beaa6b4afabf93d3b8a83224d344beb7428e0361c4aa97", + "key": "roborumble/acid.Syzygy_1.0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3747.0, + "scores": [ + 1910.0, + 1837.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5824.0, + "scores": [ + 2568.0, + 3256.0 + ], + "selected": "acid.Syzygy 1.0.4" + }, + "completed_at": "2026-09-12T21:23:59Z", + "confirmation": null, + "delta_pct": -39.8, + "id": "08ce0a239cfd1fe9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Syzygy 1.0.4", + "division": "roborumble", + "jar": "acid.Syzygy_1.0.4.jar", + "jar_sha256": "a7336d30e377b013c9beaa6b4afabf93d3b8a83224d344beb7428e0361c4aa97", + "key": "roborumble/acid.Syzygy_1.0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3507.0, + "scores": [ + 1978.0, + 1529.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7174.0, + "scores": [ + 3683.0, + 3491.0 + ], + "selected": "acid.Syzygy 1.0.4" + }, + "completed_at": "2026-09-28T20:09:27Z", + "confirmation": null, + "delta_pct": -48.9, + "id": "6aa7029a15000fcf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "acid.Syzygy 1.0.4", + "division": "roborumble", + "jar": "acid.Syzygy_1.0.4.jar", + "jar_sha256": "a7336d30e377b013c9beaa6b4afabf93d3b8a83224d344beb7428e0361c4aa97", + "key": "roborumble/acid.Syzygy_1.0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3669.0, + "scores": [ + 2011.0, + 1658.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ad.Quest_0.10.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ad.Quest 0.10", + "division": "roborumble", + "jar": "ad.Quest_0.10.jar", + "jar_sha256": "7121f3447f5a2ee15fb6a8efbdecb35c5732def3307427f5c747990b2b2d8969", + "key": "roborumble/ad.Quest_0.10.jar", + "kind": "robot" + }, + "latest_observation": "ed5607f735d17e3f", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5349.0, + "scores": [ + 2596.0, + 2753.0 + ], + "selected": "ad.Quest 0.10" + }, + "completed_at": "2026-09-08T20:12:40Z", + "delta_pct": -13.9, + "id": "90b87fb62a5d8769", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ad.Quest 0.10", + "division": "roborumble", + "jar": "ad.Quest_0.10.jar", + "jar_sha256": "7121f3447f5a2ee15fb6a8efbdecb35c5732def3307427f5c747990b2b2d8969", + "key": "roborumble/ad.Quest_0.10.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4605.0, + "scores": [ + 2380.0, + 2225.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4944.0, + "scores": [ + 2452.0, + 2492.0 + ], + "selected": "ad.Quest 0.10" + }, + "completed_at": "2026-09-11T18:01:55Z", + "confirmation": null, + "delta_pct": -3.0, + "id": "ed5607f735d17e3f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ad.Quest 0.10", + "division": "roborumble", + "jar": "ad.Quest_0.10.jar", + "jar_sha256": "7121f3447f5a2ee15fb6a8efbdecb35c5732def3307427f5c747990b2b2d8969", + "key": "roborumble/ad.Quest_0.10.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4794.0, + "scores": [ + 2520.0, + 2274.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ad.last.Bottom_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ad.last.Bottom 1.0", + "division": "roborumble", + "jar": "ad.last.Bottom_1.0.jar", + "jar_sha256": "8ae6c84241634e3f1b2f550ff6bf50b603dd8f19c23f67e06df6c2328a0820bf", + "key": "roborumble/ad.last.Bottom_1.0.jar", + "kind": "robot" + }, + "latest_observation": "e5b74746ffa765be", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 305.0, + "scores": [ + 242.0, + 63.0 + ], + "selected": "ad.last.Bottom 1.0" + }, + "completed_at": "2026-09-08T20:12:17Z", + "delta_pct": -98.0, + "id": "536581d29ac8b51f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ad.last.Bottom 1.0", + "division": "roborumble", + "jar": "ad.last.Bottom_1.0.jar", + "jar_sha256": "8ae6c84241634e3f1b2f550ff6bf50b603dd8f19c23f67e06df6c2328a0820bf", + "key": "roborumble/ad.last.Bottom_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 34.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6.0, + "scores": [ + 3.0, + 3.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 125.0, + "scores": [ + 63.0, + 62.0 + ], + "selected": "ad.last.Bottom 1.0" + }, + "completed_at": "2026-09-11T18:01:30Z", + "confirmation": null, + "delta_pct": 4.0, + "id": "e5b74746ffa765be", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ad.last.Bottom 1.0", + "division": "roborumble", + "jar": "ad.last.Bottom_1.0.jar", + "jar_sha256": "8ae6c84241634e3f1b2f550ff6bf50b603dd8f19c23f67e06df6c2328a0820bf", + "key": "roborumble/ad.last.Bottom_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 130.0, + "scores": [ + 65.0, + 65.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/adt.Ar1_2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "adt.Ar1 2.1", + "division": "roborumble", + "jar": "adt.Ar1_2.1.jar", + "jar_sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e", + "key": "roborumble/adt.Ar1_2.1.jar", + "kind": "robot" + }, + "latest_observation": "dc30e55fda4f71f3", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3562.0, + "scores": [ + 1770.0, + 1792.0 + ], + "selected": "adt.Ar1 2.1" + }, + "completed_at": "2026-09-08T20:13:05Z", + "delta_pct": -6.2, + "id": "a7544fcb7a16e1cc", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "adt.Ar1 2.1", + "division": "roborumble", + "jar": "adt.Ar1_2.1.jar", + "jar_sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e", + "key": "roborumble/adt.Ar1_2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3341.0, + "scores": [ + 1793.0, + 1548.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3904.0, + "scores": [ + 1797.0, + 2107.0 + ], + "selected": "adt.Ar1 2.1" + }, + "completed_at": "2026-09-11T18:02:24Z", + "confirmation": null, + "delta_pct": -0.8, + "id": "dc30e55fda4f71f3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "adt.Ar1 2.1", + "division": "roborumble", + "jar": "adt.Ar1_2.1.jar", + "jar_sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e", + "key": "roborumble/adt.Ar1_2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3872.0, + "scores": [ + 2137.0, + 1735.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/adt.Ar2_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "adt.Ar2 1.0", + "division": "roborumble", + "jar": "adt.Ar2_1.0.jar", + "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", + "key": "roborumble/adt.Ar2_1.0.jar", + "kind": "robot" + }, + "latest_observation": "50bd0c5dc7d1d237", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6761.0, + "scores": [ + 3088.0, + 3673.0 + ], + "selected": "adt.Ar2 1.0" + }, + "completed_at": "2026-09-08T20:13:24Z", + "delta_pct": -23.5, + "id": "f8dc415d3174e2bd", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "adt.Ar2 1.0", + "division": "roborumble", + "jar": "adt.Ar2_1.0.jar", + "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", + "key": "roborumble/adt.Ar2_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5169.0, + "scores": [ + 2932.0, + 2237.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6621.0, + "scores": [ + 3769.0, + 2852.0 + ], + "selected": "adt.Ar2 1.0" + }, + "completed_at": "2026-09-11T18:02:45Z", + "confirmation": null, + "delta_pct": -23.7, + "id": "50bd0c5dc7d1d237", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "adt.Ar2 1.0", + "division": "roborumble", + "jar": "adt.Ar2_1.0.jar", + "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", + "key": "roborumble/adt.Ar2_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5054.0, + "scores": [ + 2609.0, + 2445.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/aetos.AetosFirstBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "aetos.AetosFirstBot 1.0", + "division": "roborumble", + "jar": "aetos.AetosFirstBot_1.0.jar", + "jar_sha256": "b07790002d150956d9c859100b63581fbf720807de75ea51d10d2355c23552dd", + "key": "roborumble/aetos.AetosFirstBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "fb18442d99e5c6e3", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 14150.0, + "scores": [ + 7308.0, + 6842.0 + ], + "selected": "aetos.AetosFirstBot 1.0" + }, + "completed_at": "2026-09-08T20:13:40Z", + "delta_pct": -1.3, + "id": "adf8a34914ae5ddc", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "aetos.AetosFirstBot 1.0", + "division": "roborumble", + "jar": "aetos.AetosFirstBot_1.0.jar", + "jar_sha256": "b07790002d150956d9c859100b63581fbf720807de75ea51d10d2355c23552dd", + "key": "roborumble/aetos.AetosFirstBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 13969.0, + "scores": [ + 7098.0, + 6871.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 14077.0, + "scores": [ + 7044.0, + 7033.0 + ], + "selected": "aetos.AetosFirstBot 1.0" + }, + "completed_at": "2026-09-11T18:03:06Z", + "confirmation": null, + "delta_pct": -3.3, + "id": "fb18442d99e5c6e3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "aetos.AetosFirstBot 1.0", + "division": "roborumble", + "jar": "aetos.AetosFirstBot_1.0.jar", + "jar_sha256": "b07790002d150956d9c859100b63581fbf720807de75ea51d10d2355c23552dd", + "key": "roborumble/aetos.AetosFirstBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13608.0, + "scores": [ + 7042.0, + 6566.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ag.Gir_0.99.jar": { + "diagnosis_events": [ + { + "cause": "file-overwrite-quota-accounting", + "id": "diagnosis-1", + "owner": "bridge", + "recorded_at": "2026-09-28T21:36:27Z" + }, + { + "cause": "round-end-stream-close-race", + "id": "diagnosis-2", + "owner": "bridge", + "recorded_at": "2026-09-28T21:45:57Z" + } + ], + "identity": { + "classic_selected": "ag.Gir 0.99", + "division": "roborumble", + "jar": "ag.Gir_0.99.jar", + "jar_sha256": "35a4cbabb1c433b6a4e54977741e90195fa95332d7afcce0c7ffe9c8af1ce32d", + "key": "roborumble/ag.Gir_0.99.jar", + "kind": "robot" + }, + "latest_observation": "a6c8859641c3bbaf", + "observations": [ + { + "classic": { + "elapsed": 8.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3737.0, + "scores": [ + 2018.0, + 1719.0 + ], + "selected": "ag.Gir 0.99" + }, + "completed_at": "2026-09-08T20:14:00Z", + "delta_pct": null, + "id": "6a92a7c896d886ac", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ag.Gir 0.99", + "division": "roborumble", + "jar": "ag.Gir_0.99.jar", + "jar_sha256": "35a4cbabb1c433b6a4e54977741e90195fa95332d7afcce0c7ffe9c8af1ce32d", + "key": "roborumble/ag.Gir_0.99.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 10.1, + "error_count": 40, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_move.fct: java.io.EOFException", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "Exception reading 1_move.fct: java.io.EOFException", + "Exception reading 1_girstats.stt: java.io.EOFException", + "Exception reading 1_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "Exception reading 2_girstats.stt: java.io.EOFException", + "Exception reading 2_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "Exception reading 2_move.fct: java.io.EOFException", + "Exception reading 2_girstats.stt: java.io.EOFException", + "Exception reading 2_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 11.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5246.0, + "scores": [ + 2570.0, + 2676.0 + ], + "selected": "ag.Gir 0.99" + }, + "completed_at": "2026-09-11T18:03:32Z", + "confirmation": null, + "delta_pct": null, + "id": "593a497dbed9a870", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ag.Gir 0.99", + "division": "roborumble", + "jar": "ag.Gir_0.99.jar", + "jar_sha256": "35a4cbabb1c433b6a4e54977741e90195fa95332d7afcce0c7ffe9c8af1ce32d", + "key": "roborumble/ag.Gir_0.99.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.EOFException", + "unknown" + ], + [ + "java.io.IOException", + "unknown" + ], + [ + "java.lang.ArrayIndexOutOfBoundsException", + "ag.movement.Movement.readMoveFactors" + ] + ], + "elapsed": 14.1, + "error_count": 40, + "error_signatures": [ + { + "exception": "java.io.EOFException", + "origin": "ag.movement.Movement.readMoveFactors" + }, + { + "exception": "java.io.EOFException", + "origin": "unknown" + }, + { + "exception": "java.io.IOException", + "origin": "ag.movement.Movement.readMoveFactors" + }, + { + "exception": "java.io.IOException", + "origin": "unknown" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "ag.movement.Movement.readMoveFactors" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "Exception reading 1_girstats.stt: java.io.EOFException", + "Exception reading 1_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "Exception reading 1_move.fct: java.io.EOFException", + "Exception reading 1_girstats.stt: java.io.EOFException", + "Exception reading 1_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_move.fct: java.io.EOFException", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "Exception reading 2_move.fct: java.io.EOFException", + "Exception reading 2_girstats.stt: java.io.EOFException", + "Exception reading 2_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 9.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3745.0, + "scores": [ + 2140.0, + 1605.0 + ], + "selected": "ag.Gir 0.99" + }, + "completed_at": "2026-09-12T21:24:43Z", + "confirmation": null, + "delta_pct": null, + "id": "ecd7eb3ba841c2bb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ag.Gir 0.99", + "division": "roborumble", + "jar": "ag.Gir_0.99.jar", + "jar_sha256": "35a4cbabb1c433b6a4e54977741e90195fa95332d7afcce0c7ffe9c8af1ce32d", + "key": "roborumble/ag.Gir_0.99.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.EOFException", + "unknown" + ], + [ + "java.io.IOException", + "unknown" + ], + [ + "java.lang.ArrayIndexOutOfBoundsException", + "ag.movement.Movement.readMoveFactors" + ] + ], + "elapsed": 14.2, + "error_count": 43, + "error_signatures": [ + { + "exception": "java.io.EOFException", + "origin": "ag.movement.Movement.readMoveFactors" + }, + { + "exception": "java.io.EOFException", + "origin": "unknown" + }, + { + "exception": "java.io.IOException", + "origin": "ag.movement.Movement.readMoveFactors" + }, + { + "exception": "java.io.IOException", + "origin": "unknown" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "ag.movement.Movement.readMoveFactors" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "Exception reading 2_move.fct: java.io.EOFException", + "Exception reading 2_girstats.stt: java.io.EOFException", + "Exception reading 2_girstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_move.fct: java.io.EOFException", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "Exception reading 2_move.fct: java.io.EOFException", + "Exception reading 2_girstats.stt: java.io.EOFException", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_move.fct: java.io.EOFException", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "Exception reading 1_move.fct: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "Exception reading 1_move.fct: java.io.EOFException", + "Exception reading 1_girstats.stt: java.io.EOFException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 10.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5517.0, + "scores": [ + 3650.0, + 1867.0 + ], + "selected": "ag.Gir 0.99" + }, + "completed_at": "2026-09-28T20:10:13Z", + "confirmation": null, + "delta_pct": null, + "id": "e3c870e44a2cc066", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ag.Gir 0.99", + "division": "roborumble", + "jar": "ag.Gir_0.99.jar", + "jar_sha256": "35a4cbabb1c433b6a4e54977741e90195fa95332d7afcce0c7ffe9c8af1ce32d", + "key": "roborumble/ag.Gir_0.99.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.EOFException", + "unknown" + ], + [ + "java.io.IOException", + "unknown" + ], + [ + "java.lang.ArrayIndexOutOfBoundsException", + "ag.movement.Movement.readMoveFactors" + ] + ], + "elapsed": 12.2, + "error_count": 18, + "error_signatures": [ + { + "exception": "java.io.EOFException", + "origin": "ag.movement.Movement.readMoveFactors" + }, + { + "exception": "java.io.EOFException", + "origin": "unknown" + }, + { + "exception": "java.io.IOException", + "origin": "ag.movement.Movement.readMoveFactors" + }, + { + "exception": "java.io.IOException", + "origin": "unknown" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "ag.movement.Movement.readMoveFactors" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 2_move.fct: java.io.EOFException", + "Exception reading 2_robotstats.stt: java.io.EOFException", + "Exception reading 2_move.fct: java.io.EOFException", + "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Exception reading 1_robotstats.stt: java.io.EOFException", + "Exception reading 1_move.fct: java.io.EOFException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 11.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4971.0, + "scores": [ + 2570.0, + 2401.0 + ], + "selected": "ag.Gir 0.99" + }, + "completed_at": "2026-09-28T21:37:59Z", + "confirmation": null, + "delta_pct": null, + "id": "d61ab1a5cabc06c8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "9e2eef5c8d2ad084872958a59413b43d530e7dae308a3de4ebf2b133a9c95fe7" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "86735a767c117a476c43fe7e3d09818c102d0253d1393beababf562dc0b8e583" + } + }, + "bridge_commit": "3878254caf32a342bcf28cfdf7468b09edf5e13d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "file-overwrite-quota-accounting", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "3878254" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ag.Gir 0.99", + "division": "roborumble", + "jar": "ag.Gir_0.99.jar", + "jar_sha256": "35a4cbabb1c433b6a4e54977741e90195fa95332d7afcce0c7ffe9c8af1ce32d", + "key": "roborumble/ag.Gir_0.99.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.EOFException", + "unknown" + ], + [ + "java.io.IOException", + "unknown" + ], + [ + "java.lang.NullPointerException", + "ag.FileManager.writeNetLayersize" + ], + [ + "java.lang.NullPointerException", + "ag.FileManager.writeNetRC" + ], + [ + "java.lang.NullPointerException", + "ag.targeting.TargetingNeural.shoot" + ] + ], + "elapsed": 6.2, + "error_count": 12, + "error_signatures": [ + { + "exception": "java.io.EOFException", + "origin": "ag.FileManager.writeNetLayersize" + }, + { + "exception": "java.io.EOFException", + "origin": "unknown" + }, + { + "exception": "java.io.IOException", + "origin": "ag.FileManager.writeNetLayersize" + }, + { + "exception": "java.io.IOException", + "origin": "unknown" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "ag.FileManager.writeNetLayersize" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "ag.FileManager.writeNetRC" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "ag.targeting.TargetingNeural.shoot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"ag.neuralgir.NeuralNet.getLayerSize()\" because \"net\" is null", + "java.lang.NullPointerException: Cannot invoke \"ag.neuralgir.NeuralNet.calcOutput(double[])\" because \"this.mNeuralNet\" is null", + "java.lang.NullPointerException: Cannot invoke \"ag.neuralgir.NeuralNet.getLayerSize()\" because \"net\" is null", + "java.lang.NullPointerException: Cannot invoke \"ag.neuralgir.NeuralNet.calcOutput(double[])\" because \"this.mNeuralNet\" is null", + "java.lang.NullPointerException: Cannot invoke \"ag.neuralgir.NeuralNet.getLayerSize()\" because \"net\" is null", + "java.lang.NullPointerException: Cannot invoke \"ag.neuralgir.NeuralNet.calcOutput(double[])\" because \"this.mNeuralNet\" is null", + "Exception trying to write: java.io.IOException: Stream Closed", + "Exception reading 1_gun.net: java.io.EOFException", + "Exception reading 1_gun.net: java.io.EOFException", + "Exception reading 1_gun.net: java.io.EOFException", + "Exception reading 1_gun.net: java.io.EOFException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 11.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4846.0, + "scores": [ + 2401.0, + 2445.0 + ], + "selected": "ag.Gir 0.99" + }, + "completed_at": "2026-09-28T21:55:09Z", + "confirmation": null, + "delta_pct": 18.8, + "id": "a6c8859641c3bbaf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" + } + }, + "bridge_commit": "792ae196e6e361bf6e3f258740f65ebaa6cf56f4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "round-end-stream-close-race", + "diagnosis_id": "diagnosis-2", + "owner": "bridge", + "repair": "792ae19" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ag.Gir 0.99", + "division": "roborumble", + "jar": "ag.Gir_0.99.jar", + "jar_sha256": "35a4cbabb1c433b6a4e54977741e90195fa95332d7afcce0c7ffe9c8af1ce32d", + "key": "roborumble/ag.Gir_0.99.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5756.0, + "scores": [ + 2953.0, + 2803.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/agd.Mooserwirt2_2.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "agd.Mooserwirt2 2.7", + "division": "roborumble", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "roborumble/agd.Mooserwirt2_2.7.jar", + "kind": "robot" + }, + "latest_observation": "103589457c330e19", + "observations": [ + { + "classic": { + "elapsed": 6.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6393.0, + "scores": [ + 3276.0, + 3117.0 + ], + "selected": "agd.Mooserwirt2 2.7" + }, + "completed_at": "2026-09-08T20:14:30Z", + "delta_pct": 93.5, + "id": "ff9a91c9aed410ac", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agd.Mooserwirt2 2.7", + "division": "roborumble", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "roborumble/agd.Mooserwirt2_2.7.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 24.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12372.0, + "scores": [ + 6196.0, + 6176.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 7.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5437.0, + "scores": [ + 3150.0, + 2287.0 + ], + "selected": "agd.Mooserwirt2 2.7" + }, + "completed_at": "2026-09-11T18:04:02Z", + "confirmation": null, + "delta_pct": null, + "id": "cf2e1c1cef071cde", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agd.Mooserwirt2 2.7", + "division": "roborumble", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "roborumble/agd.Mooserwirt2_2.7.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] + ], + "elapsed": 22.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6198.0, + "scores": [ + 3343.0, + 2855.0 + ], + "selected": "agd.Mooserwirt2 2.7" + }, + "completed_at": "2026-09-12T21:25:12Z", + "confirmation": null, + "delta_pct": 96.6, + "id": "128d97164f6ee2be", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agd.Mooserwirt2 2.7", + "division": "roborumble", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "roborumble/agd.Mooserwirt2_2.7.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12183.0, + "scores": [ + 6199.0, + 5984.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 7.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5240.0, + "scores": [ + 2998.0, + 2242.0 + ], + "selected": "agd.Mooserwirt2 2.7" + }, + "completed_at": "2026-09-28T20:10:43Z", + "confirmation": null, + "delta_pct": 126.1, + "id": "103589457c330e19", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agd.Mooserwirt2 2.7", + "division": "roborumble", + "jar": "agd.Mooserwirt2_2.7.jar", + "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", + "key": "roborumble/agd.Mooserwirt2_2.7.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11848.0, + "scores": [ + 6175.0, + 5673.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/agrach.Dalek_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "agrach.Dalek 1.0", + "division": "roborumble", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "roborumble/agrach.Dalek_1.0.jar", + "kind": "robot" + }, + "latest_observation": "5bdc9d1e03ddbbfd", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3775.0, + "scores": [ + 1420.0, + 2355.0 + ], + "selected": "agrach.Dalek 1.0" + }, + "completed_at": "2026-09-08T20:14:56Z", + "delta_pct": 65.3, + "id": "ba3220036d56b733", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agrach.Dalek 1.0", + "division": "roborumble", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "roborumble/agrach.Dalek_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 22.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6240.0, + "scores": [ + 3411.0, + 2829.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2911.0, + "scores": [ + 1527.0, + 1384.0 + ], + "selected": "agrach.Dalek 1.0" + }, + "completed_at": "2026-09-11T18:04:25Z", + "confirmation": null, + "delta_pct": 109.8, + "id": "19bffe67df19faf9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agrach.Dalek 1.0", + "division": "roborumble", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "roborumble/agrach.Dalek_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6106.0, + "scores": [ + 3146.0, + 2960.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3894.0, + "scores": [ + 1929.0, + 1965.0 + ], + "selected": "agrach.Dalek 1.0" + }, + "completed_at": "2026-09-12T21:25:40Z", + "confirmation": null, + "delta_pct": 48.2, + "id": "201099c1c6bc733e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agrach.Dalek 1.0", + "division": "roborumble", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "roborumble/agrach.Dalek_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5769.0, + "scores": [ + 3093.0, + 2676.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3297.0, + "scores": [ + 1853.0, + 1444.0 + ], + "selected": "agrach.Dalek 1.0" + }, + "completed_at": "2026-09-28T20:11:10Z", + "confirmation": null, + "delta_pct": 136.1, + "id": "5bdc9d1e03ddbbfd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agrach.Dalek 1.0", + "division": "roborumble", + "jar": "agrach.Dalek_1.0.jar", + "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", + "key": "roborumble/agrach.Dalek_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7783.0, + "scores": [ + 3967.0, + 3816.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/agrach.MicroDalek_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "agrach.MicroDalek 1.0", + "division": "roborumble", + "jar": "agrach.MicroDalek_1.0.jar", + "jar_sha256": "f0830bebf9d2d5be6388b696e437fc369f2e68f3255f56332a24f0b40f81b979", + "key": "roborumble/agrach.MicroDalek_1.0.jar", + "kind": "robot" + }, + "latest_observation": "3406205b8980f6c5", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5316.0, + "scores": [ + 3041.0, + 2275.0 + ], + "selected": "agrach.MicroDalek 1.0" + }, + "completed_at": "2026-09-08T20:15:21Z", + "delta_pct": -23.1, + "id": "530461a54d8b1dad", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agrach.MicroDalek 1.0", + "division": "roborumble", + "jar": "agrach.MicroDalek_1.0.jar", + "jar_sha256": "f0830bebf9d2d5be6388b696e437fc369f2e68f3255f56332a24f0b40f81b979", + "key": "roborumble/agrach.MicroDalek_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4086.0, + "scores": [ + 2220.0, + 1866.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5096.0, + "scores": [ + 2948.0, + 2148.0 + ], + "selected": "agrach.MicroDalek 1.0" + }, + "completed_at": "2026-09-11T18:04:50Z", + "confirmation": null, + "delta_pct": 5.4, + "id": "3406205b8980f6c5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agrach.MicroDalek 1.0", + "division": "roborumble", + "jar": "agrach.MicroDalek_1.0.jar", + "jar_sha256": "f0830bebf9d2d5be6388b696e437fc369f2e68f3255f56332a24f0b40f81b979", + "key": "roborumble/agrach.MicroDalek_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5370.0, + "scores": [ + 2714.0, + 2656.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/agrach.RobotSlayer_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "agrach.RobotSlayer 1.0", + "division": "roborumble", + "jar": "agrach.RobotSlayer_1.0.jar", + "jar_sha256": "7710708e2d15c46fe622ea196065c3fa78c785a8ba0ab3afe5587de3d1072ff9", + "key": "roborumble/agrach.RobotSlayer_1.0.jar", + "kind": "robot" + }, + "latest_observation": "91a43d1a02bcfa21", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3120.0, + "scores": [ + 1448.0, + 1672.0 + ], + "selected": "agrach.RobotSlayer 1.0" + }, + "completed_at": "2026-09-08T20:15:48Z", + "delta_pct": 34.9, + "id": "8f77756a222c2ed6", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agrach.RobotSlayer 1.0", + "division": "roborumble", + "jar": "agrach.RobotSlayer_1.0.jar", + "jar_sha256": "7710708e2d15c46fe622ea196065c3fa78c785a8ba0ab3afe5587de3d1072ff9", + "key": "roborumble/agrach.RobotSlayer_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 24.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4209.0, + "scores": [ + 2147.0, + 2062.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3288.0, + "scores": [ + 1459.0, + 1829.0 + ], + "selected": "agrach.RobotSlayer 1.0" + }, + "completed_at": "2026-09-11T18:05:18Z", + "confirmation": null, + "delta_pct": 13.8, + "id": "91a43d1a02bcfa21", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "agrach.RobotSlayer 1.0", + "division": "roborumble", + "jar": "agrach.RobotSlayer_1.0.jar", + "jar_sha256": "7710708e2d15c46fe622ea196065c3fa78c785a8ba0ab3afe5587de3d1072ff9", + "key": "roborumble/agrach.RobotSlayer_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3741.0, + "scores": [ + 2252.0, + 1489.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ags.Glacier_0.3.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ags.Glacier 0.3.2", + "division": "roborumble", + "jar": "ags.Glacier_0.3.2.jar", + "jar_sha256": "2d8c919e37b033113b5377aac90c2ac1641a44fd31367c98190c2466be90a151", + "key": "roborumble/ags.Glacier_0.3.2.jar", + "kind": "robot" + }, + "latest_observation": "549c82c9d62d3593", + "observations": [ + { + "classic": { + "elapsed": 15.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5275.0, + "scores": [ + 2766.0, + 2509.0 + ], + "selected": "ags.Glacier 0.3.2" + }, + "completed_at": "2026-09-08T20:16:24Z", + "delta_pct": -35.8, + "id": "60be2730fb1d2100", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.Glacier 0.3.2", + "division": "roborumble", + "jar": "ags.Glacier_0.3.2.jar", + "jar_sha256": "2d8c919e37b033113b5377aac90c2ac1641a44fd31367c98190c2466be90a151", + "key": "roborumble/ags.Glacier_0.3.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3386.0, + "scores": [ + 1867.0, + 1519.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 14.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5302.0, + "scores": [ + 3088.0, + 2214.0 + ], + "selected": "ags.Glacier 0.3.2" + }, + "completed_at": "2026-09-11T18:05:53Z", + "confirmation": null, + "delta_pct": -31.1, + "id": "38d8cc643b90b24f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.Glacier 0.3.2", + "division": "roborumble", + "jar": "ags.Glacier_0.3.2.jar", + "jar_sha256": "2d8c919e37b033113b5377aac90c2ac1641a44fd31367c98190c2466be90a151", + "key": "roborumble/ags.Glacier_0.3.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3652.0, + "scores": [ + 1960.0, + 1692.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 16.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5419.0, + "scores": [ + 2806.0, + 2613.0 + ], + "selected": "ags.Glacier 0.3.2" + }, + "completed_at": "2026-09-12T21:26:18Z", + "confirmation": null, + "delta_pct": -27.5, + "id": "679d3bc94e9ff5e4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.Glacier 0.3.2", + "division": "roborumble", + "jar": "ags.Glacier_0.3.2.jar", + "jar_sha256": "2d8c919e37b033113b5377aac90c2ac1641a44fd31367c98190c2466be90a151", + "key": "roborumble/ags.Glacier_0.3.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3931.0, + "scores": [ + 2024.0, + 1907.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 15.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5382.0, + "scores": [ + 2690.0, + 2692.0 + ], + "selected": "ags.Glacier 0.3.2" + }, + "completed_at": "2026-09-28T20:11:46Z", + "confirmation": null, + "delta_pct": -21.3, + "id": "549c82c9d62d3593", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.Glacier 0.3.2", + "division": "roborumble", + "jar": "ags.Glacier_0.3.2.jar", + "jar_sha256": "2d8c919e37b033113b5377aac90c2ac1641a44fd31367c98190c2466be90a151", + "key": "roborumble/ags.Glacier_0.3.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4236.0, + "scores": [ + 2227.0, + 2009.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ags.Midboss_1q.fast.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ags.Midboss 1q.fast", + "division": "roborumble", + "jar": "ags.Midboss_1q.fast.jar", + "jar_sha256": "803ebb0582eb77b476fe649cf8875bbf95df2ebd92fcf7853077aa7b583a4045", + "key": "roborumble/ags.Midboss_1q.fast.jar", + "kind": "robot" + }, + "latest_observation": "8fbe6c98e30835c0", + "observations": [ + { + "classic": { + "elapsed": 9.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5495.0, + "scores": [ + 2997.0, + 2498.0 + ], + "selected": "ags.Midboss 1q.fast" + }, + "completed_at": "2026-09-08T20:17:34Z", + "delta_pct": -6.8, + "id": "7effb7a405de90e7", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.Midboss 1q.fast", + "division": "roborumble", + "jar": "ags.Midboss_1q.fast.jar", + "jar_sha256": "803ebb0582eb77b476fe649cf8875bbf95df2ebd92fcf7853077aa7b583a4045", + "key": "roborumble/ags.Midboss_1q.fast.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 24.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5121.0, + "scores": [ + 2593.0, + 2528.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 10.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5478.0, + "scores": [ + 3214.0, + 2264.0 + ], + "selected": "ags.Midboss 1q.fast" + }, + "completed_at": "2026-09-11T18:07:11Z", + "confirmation": null, + "delta_pct": -4.6, + "id": "8fbe6c98e30835c0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.Midboss 1q.fast", + "division": "roborumble", + "jar": "ags.Midboss_1q.fast.jar", + "jar_sha256": "803ebb0582eb77b476fe649cf8875bbf95df2ebd92fcf7853077aa7b583a4045", + "key": "roborumble/ags.Midboss_1q.fast.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5227.0, + "scores": [ + 2826.0, + 2401.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ags.micro.Carpet_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ags.micro.Carpet 1.1", + "division": "roborumble", + "jar": "ags.micro.Carpet_1.1.jar", + "jar_sha256": "d7d22013f45d03d1d2131ebfbf63fedf29cae8f95bf7683eb8075a29569adc9e", + "key": "roborumble/ags.micro.Carpet_1.1.jar", + "kind": "robot" + }, + "latest_observation": "6558fc42dc0997e7", + "observations": [ + { + "classic": { + "elapsed": 8.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5715.0, + "scores": [ + 3482.0, + 2233.0 + ], + "selected": "ags.micro.Carpet 1.1" + }, + "completed_at": "2026-09-08T20:17:00Z", + "delta_pct": -12.4, + "id": "a5199bebb61593c0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.micro.Carpet 1.1", + "division": "roborumble", + "jar": "ags.micro.Carpet_1.1.jar", + "jar_sha256": "d7d22013f45d03d1d2131ebfbf63fedf29cae8f95bf7683eb8075a29569adc9e", + "key": "roborumble/ags.micro.Carpet_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 28.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5006.0, + "scores": [ + 2752.0, + 2254.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 12.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4658.0, + "scores": [ + 2979.0, + 1679.0 + ], + "selected": "ags.micro.Carpet 1.1" + }, + "completed_at": "2026-09-11T18:06:38Z", + "confirmation": null, + "delta_pct": -4.1, + "id": "6558fc42dc0997e7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.micro.Carpet 1.1", + "division": "roborumble", + "jar": "ags.micro.Carpet_1.1.jar", + "jar_sha256": "d7d22013f45d03d1d2131ebfbf63fedf29cae8f95bf7683eb8075a29569adc9e", + "key": "roborumble/ags.micro.Carpet_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4465.0, + "scores": [ + 2451.0, + 2014.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ags.polished.PolishedRuby_1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ags.polished.PolishedRuby 1", + "division": "roborumble", + "jar": "ags.polished.PolishedRuby_1.jar", + "jar_sha256": "66674145d1a973e3d1b5079f97a991485a890c843f47ee5c0caff9fb9b0fbfcf", + "key": "roborumble/ags.polished.PolishedRuby_1.jar", + "kind": "robot" + }, + "latest_observation": "3e2eef0ec2101e8b", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12189.0, + "scores": [ + 6340.0, + 5849.0 + ], + "selected": "ags.polished.PolishedRuby 1" + }, + "completed_at": "2026-09-08T20:17:58Z", + "delta_pct": -80.9, + "id": "fc49d718cc3c93ac", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.polished.PolishedRuby 1", + "division": "roborumble", + "jar": "ags.polished.PolishedRuby_1.jar", + "jar_sha256": "66674145d1a973e3d1b5079f97a991485a890c843f47ee5c0caff9fb9b0fbfcf", + "key": "roborumble/ags.polished.PolishedRuby_1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2330.0, + "scores": [ + 1481.0, + 849.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11751.0, + "scores": [ + 6014.0, + 5737.0 + ], + "selected": "ags.polished.PolishedRuby 1" + }, + "completed_at": "2026-09-11T18:07:38Z", + "confirmation": null, + "delta_pct": -80.7, + "id": "a8e50430d40f0af0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.polished.PolishedRuby 1", + "division": "roborumble", + "jar": "ags.polished.PolishedRuby_1.jar", + "jar_sha256": "66674145d1a973e3d1b5079f97a991485a890c843f47ee5c0caff9fb9b0fbfcf", + "key": "roborumble/ags.polished.PolishedRuby_1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2271.0, + "scores": [ + 1266.0, + 1005.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11576.0, + "scores": [ + 5415.0, + 6161.0 + ], + "selected": "ags.polished.PolishedRuby 1" + }, + "completed_at": "2026-09-12T21:26:47Z", + "confirmation": null, + "delta_pct": -81.6, + "id": "412e0d67086ec9c7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.polished.PolishedRuby 1", + "division": "roborumble", + "jar": "ags.polished.PolishedRuby_1.jar", + "jar_sha256": "66674145d1a973e3d1b5079f97a991485a890c843f47ee5c0caff9fb9b0fbfcf", + "key": "roborumble/ags.polished.PolishedRuby_1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2135.0, + "scores": [ + 1295.0, + 840.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12496.0, + "scores": [ + 6342.0, + 6154.0 + ], + "selected": "ags.polished.PolishedRuby 1" + }, + "completed_at": "2026-09-28T20:12:14Z", + "confirmation": null, + "delta_pct": -81.3, + "id": "3e2eef0ec2101e8b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.polished.PolishedRuby 1", + "division": "roborumble", + "jar": "ags.polished.PolishedRuby_1.jar", + "jar_sha256": "66674145d1a973e3d1b5079f97a991485a890c843f47ee5c0caff9fb9b0fbfcf", + "key": "roborumble/ags.polished.PolishedRuby_1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2334.0, + "scores": [ + 1442.0, + 892.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ags.rougedc.RougeDC_willow.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ags.rougedc.RougeDC willow", + "division": "roborumble", + "jar": "ags.rougedc.RougeDC_willow.jar", + "jar_sha256": "2aee27ddd085c75f61943240e090e018c9e69f658cd4afed508430910a41d2ab", + "key": "roborumble/ags.rougedc.RougeDC_willow.jar", + "kind": "robot" + }, + "latest_observation": "238cfb36d8d14310", + "observations": [ + { + "classic": { + "elapsed": 10.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5658.0, + "scores": [ + 2458.0, + 3200.0 + ], + "selected": "ags.rougedc.RougeDC willow" + }, + "completed_at": "2026-09-08T20:18:29Z", + "delta_pct": -5.2, + "id": "c007d142eae29d0a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.rougedc.RougeDC willow", + "division": "roborumble", + "jar": "ags.rougedc.RougeDC_willow.jar", + "jar_sha256": "2aee27ddd085c75f61943240e090e018c9e69f658cd4afed508430910a41d2ab", + "key": "roborumble/ags.rougedc.RougeDC_willow.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5365.0, + "scores": [ + 2786.0, + 2579.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 9.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5882.0, + "scores": [ + 2943.0, + 2939.0 + ], + "selected": "ags.rougedc.RougeDC willow" + }, + "completed_at": "2026-09-11T18:08:04Z", + "confirmation": null, + "delta_pct": 41.2, + "id": "699dab8d79201329", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.rougedc.RougeDC willow", + "division": "roborumble", + "jar": "ags.rougedc.RougeDC_willow.jar", + "jar_sha256": "2aee27ddd085c75f61943240e090e018c9e69f658cd4afed508430910a41d2ab", + "key": "roborumble/ags.rougedc.RougeDC_willow.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8308.0, + "scores": [ + 4486.0, + 3822.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 11.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5471.0, + "scores": [ + 1952.0, + 3519.0 + ], + "selected": "ags.rougedc.RougeDC willow" + }, + "completed_at": "2026-09-12T21:27:19Z", + "confirmation": null, + "delta_pct": 37.9, + "id": "253d1be0c6457917", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.rougedc.RougeDC willow", + "division": "roborumble", + "jar": "ags.rougedc.RougeDC_willow.jar", + "jar_sha256": "2aee27ddd085c75f61943240e090e018c9e69f658cd4afed508430910a41d2ab", + "key": "roborumble/ags.rougedc.RougeDC_willow.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7543.0, + "scores": [ + 3844.0, + 3699.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 10.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5799.0, + "scores": [ + 3048.0, + 2751.0 + ], + "selected": "ags.rougedc.RougeDC willow" + }, + "completed_at": "2026-09-28T20:12:45Z", + "confirmation": null, + "delta_pct": 43.2, + "id": "238cfb36d8d14310", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ags.rougedc.RougeDC willow", + "division": "roborumble", + "jar": "ags.rougedc.RougeDC_willow.jar", + "jar_sha256": "2aee27ddd085c75f61943240e090e018c9e69f658cd4afed508430910a41d2ab", + "key": "roborumble/ags.rougedc.RougeDC_willow.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8304.0, + "scores": [ + 4295.0, + 4009.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ahf.Acero_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ahf.Acero 1.0", + "division": "roborumble", + "jar": "ahf.Acero_1.0.jar", + "jar_sha256": "5208b0efb272a5f43a85b11f70f05f0c550b5f2860b7e38d41d4f43a487a0fda", + "key": "roborumble/ahf.Acero_1.0.jar", + "kind": "robot" + }, + "latest_observation": "80165f95df2a985d", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4651.0, + "scores": [ + 2335.0, + 2316.0 + ], + "selected": "ahf.Acero 1.0" + }, + "completed_at": "2026-09-08T20:18:52Z", + "delta_pct": -12.6, + "id": "9a49d2334b9adb0e", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.Acero 1.0", + "division": "roborumble", + "jar": "ahf.Acero_1.0.jar", + "jar_sha256": "5208b0efb272a5f43a85b11f70f05f0c550b5f2860b7e38d41d4f43a487a0fda", + "key": "roborumble/ahf.Acero_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4067.0, + "scores": [ + 2155.0, + 1912.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4543.0, + "scores": [ + 2170.0, + 2373.0 + ], + "selected": "ahf.Acero 1.0" + }, + "completed_at": "2026-09-11T18:08:25Z", + "confirmation": null, + "delta_pct": -5.0, + "id": "80165f95df2a985d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.Acero 1.0", + "division": "roborumble", + "jar": "ahf.Acero_1.0.jar", + "jar_sha256": "5208b0efb272a5f43a85b11f70f05f0c550b5f2860b7e38d41d4f43a487a0fda", + "key": "roborumble/ahf.Acero_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4315.0, + "scores": [ + 2170.0, + 2145.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ahf.NanoAndrew_.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ahf.NanoAndrew .4", + "division": "roborumble", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "roborumble/ahf.NanoAndrew_.4.jar", + "kind": "robot" + }, + "latest_observation": "f6526bb51480d4f5", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6409.0, + "scores": [ + 3626.0, + 2783.0 + ], + "selected": "ahf.NanoAndrew .4" + }, + "completed_at": "2026-09-08T20:19:25Z", + "delta_pct": -58.4, + "id": "06a1568606c64145", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.NanoAndrew .4", + "division": "roborumble", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "roborumble/ahf.NanoAndrew_.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 30.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2667.0, + "scores": [ + 1399.0, + 1268.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5810.0, + "scores": [ + 2937.0, + 2873.0 + ], + "selected": "ahf.NanoAndrew .4" + }, + "completed_at": "2026-09-11T18:08:56Z", + "confirmation": null, + "delta_pct": -56.0, + "id": "f9332cb26c628258", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.NanoAndrew .4", + "division": "roborumble", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "roborumble/ahf.NanoAndrew_.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2556.0, + "scores": [ + 1317.0, + 1239.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6705.0, + "scores": [ + 3195.0, + 3510.0 + ], + "selected": "ahf.NanoAndrew .4" + }, + "completed_at": "2026-09-12T21:27:56Z", + "confirmation": null, + "delta_pct": -62.5, + "id": "adf532334e8a79d3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.NanoAndrew .4", + "division": "roborumble", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "roborumble/ahf.NanoAndrew_.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2514.0, + "scores": [ + 1470.0, + 1044.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6191.0, + "scores": [ + 3201.0, + 2990.0 + ], + "selected": "ahf.NanoAndrew .4" + }, + "completed_at": "2026-09-28T20:13:16Z", + "confirmation": null, + "delta_pct": -59.9, + "id": "f6526bb51480d4f5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.NanoAndrew .4", + "division": "roborumble", + "jar": "ahf.NanoAndrew_.4.jar", + "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", + "key": "roborumble/ahf.NanoAndrew_.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2484.0, + "scores": [ + 1284.0, + 1200.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ahf.r2d2.R2d2_0.86.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ahf.r2d2.R2d2 0.86", + "division": "roborumble", + "jar": "ahf.r2d2.R2d2_0.86.jar", + "jar_sha256": "cdd8e80b980375b1ed59df8fe5a361207c9d3ee32c6e0d81f936e000c2b1b9f2", + "key": "roborumble/ahf.r2d2.R2d2_0.86.jar", + "kind": "robot" + }, + "latest_observation": "a2becfd0a85b24db", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5997.0, + "scores": [ + 2680.0, + 3317.0 + ], + "selected": "ahf.r2d2.R2d2 0.86" + }, + "completed_at": "2026-09-08T20:19:48Z", + "delta_pct": -45.3, + "id": "b8a0807ea26810cb", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.r2d2.R2d2 0.86", + "division": "roborumble", + "jar": "ahf.r2d2.R2d2_0.86.jar", + "jar_sha256": "cdd8e80b980375b1ed59df8fe5a361207c9d3ee32c6e0d81f936e000c2b1b9f2", + "key": "roborumble/ahf.r2d2.R2d2_0.86.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3283.0, + "scores": [ + 1764.0, + 1519.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5880.0, + "scores": [ + 3022.0, + 2858.0 + ], + "selected": "ahf.r2d2.R2d2 0.86" + }, + "completed_at": "2026-09-11T18:10:04Z", + "confirmation": null, + "delta_pct": -42.0, + "id": "f91a110e1b07b0f1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.r2d2.R2d2 0.86", + "division": "roborumble", + "jar": "ahf.r2d2.R2d2_0.86.jar", + "jar_sha256": "cdd8e80b980375b1ed59df8fe5a361207c9d3ee32c6e0d81f936e000c2b1b9f2", + "key": "roborumble/ahf.r2d2.R2d2_0.86.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3410.0, + "scores": [ + 1946.0, + 1464.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6341.0, + "scores": [ + 3378.0, + 2963.0 + ], + "selected": "ahf.r2d2.R2d2 0.86" + }, + "completed_at": "2026-09-12T21:28:21Z", + "confirmation": null, + "delta_pct": -50.7, + "id": "1638eff4fd8ee776", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "9972f00ecfe4a85b707d655e40baa95525fa03f2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "abcfd80eebf9804684b203c00aec674c99ff7105", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.r2d2.R2d2 0.86", + "division": "roborumble", + "jar": "ahf.r2d2.R2d2_0.86.jar", + "jar_sha256": "cdd8e80b980375b1ed59df8fe5a361207c9d3ee32c6e0d81f936e000c2b1b9f2", + "key": "roborumble/ahf.r2d2.R2d2_0.86.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3126.0, + "scores": [ + 1779.0, + 1347.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5892.0, + "scores": [ + 3171.0, + 2721.0 + ], + "selected": "ahf.r2d2.R2d2 0.86" + }, + "completed_at": "2026-09-28T20:13:43Z", + "confirmation": null, + "delta_pct": -37.4, + "id": "a2becfd0a85b24db", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahf.r2d2.R2d2 0.86", + "division": "roborumble", + "jar": "ahf.r2d2.R2d2_0.86.jar", + "jar_sha256": "cdd8e80b980375b1ed59df8fe5a361207c9d3ee32c6e0d81f936e000c2b1b9f2", + "key": "roborumble/ahf.r2d2.R2d2_0.86.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3688.0, + "scores": [ + 2136.0, + 1552.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ahr.ice.Ice_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ahr.ice.Ice 1.0", + "division": "roborumble", + "jar": "ahr.ice.Ice_1.0.jar", + "jar_sha256": "419d2945138fc27ba706a168f2ef666a1b40905e98b08ccc62312f2de15ef242", + "key": "roborumble/ahr.ice.Ice_1.0.jar", + "kind": "robot" + }, + "latest_observation": "3a76f56e636e4829", + "observations": [ + { + "classic": { + "elapsed": 4.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8381.0, + "scores": [ + 3636.0, + 4745.0 + ], + "selected": "ahr.ice.Ice 1.0" + }, + "completed_at": "2026-09-08T20:20:07Z", + "delta_pct": -4.8, + "id": "230fd620dc49add2", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahr.ice.Ice 1.0", + "division": "roborumble", + "jar": "ahr.ice.Ice_1.0.jar", + "jar_sha256": "419d2945138fc27ba706a168f2ef666a1b40905e98b08ccc62312f2de15ef242", + "key": "roborumble/ahr.ice.Ice_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7976.0, + "scores": [ + 4504.0, + 3472.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8659.0, + "scores": [ + 4156.0, + 4503.0 + ], + "selected": "ahr.ice.Ice 1.0" + }, + "completed_at": "2026-09-11T18:10:23Z", + "confirmation": null, + "delta_pct": -4.8, + "id": "3a76f56e636e4829", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ahr.ice.Ice 1.0", + "division": "roborumble", + "jar": "ahr.ice.Ice_1.0.jar", + "jar_sha256": "419d2945138fc27ba706a168f2ef666a1b40905e98b08ccc62312f2de15ef242", + "key": "roborumble/ahr.ice.Ice_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8240.0, + "scores": [ + 4359.0, + 3881.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ak.Fermat_2.0.jar": { + "diagnosis_events": [ + { + "cause": "legacy-worker-stream-leak", + "id": "diagnosis-1", + "owner": "bridge", + "recorded_at": "2026-09-28T20:56:08Z" + } + ], + "identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "latest_observation": "dcb3bec37ae6637b", + "observations": [ + { + "classic": { + "elapsed": 9.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4980.0, + "scores": [ + 1884.0, + 3096.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-08T20:20:45Z", + "delta_pct": -25.1, + "id": "2e184f3d97965168", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3728.0, + "scores": [ + 2493.0, + 1235.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 8.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5168.0, + "scores": [ + 2497.0, + 2671.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-11T18:11:04Z", + "confirmation": null, + "delta_pct": null, + "id": "f0cf3c6272820446", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.SecurityException", + "ak.Fermat.writeOneOnOneData" + ] + ], + "elapsed": 10.1, + "error_count": 13, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "ak.Fermat.writeOneOnOneData" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 8.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5045.0, + "scores": [ + 2962.0, + 2083.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-28T20:14:02Z", + "confirmation": null, + "delta_pct": null, + "id": "51c1dbc39263dfc1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.SecurityException", + "ak.Fermat.writeOneOnOneData" + ] + ], + "elapsed": 10.1, + "error_count": 7, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "ak.Fermat.writeOneOnOneData" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 8.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5299.0, + "scores": [ + 2248.0, + 3051.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-28T20:42:24Z", + "confirmation": null, + "delta_pct": -41.9, + "id": "a00859152f1287d2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "38d4822714f5b90aba47b390612d4e5c9a082ae3b60fd902a392f0d90894e996" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": true, + "ok": true, + "score": 3078.0, + "scores": [ + 1775.0, + 1303.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 9.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5156.0, + "scores": [ + 2678.0, + 2478.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-28T20:46:47Z", + "confirmation": null, + "delta_pct": null, + "id": "7b65988ff7e71a41", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "62703d15143bbd5b5d93522ca6640683a1b5f81b76efdca17b8ed8ed0470e06f" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.SecurityException", + "ak.Fermat.writeOneOnOneData" + ] + ], + "elapsed": 10.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "ak.Fermat.writeOneOnOneData" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 9.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5440.0, + "scores": [ + 2614.0, + 2826.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-28T20:49:32Z", + "confirmation": null, + "delta_pct": null, + "id": "49b5fb75c478cf4b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6b10acf80e862ae6b7520fa260b7207ab614800efdbf13026eb1cc7d070ac67f" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.SecurityException", + "ak.Fermat.writeOneOnOneData" + ] + ], + "elapsed": 10.2, + "error_count": 7, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "ak.Fermat.writeOneOnOneData" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 8.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5524.0, + "scores": [ + 2886.0, + 2638.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-28T20:56:51Z", + "confirmation": null, + "delta_pct": -43.2, + "id": "d5d2e35d49eabd9a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "cf9ff36332c20a2cfa9f4a439376cb89ed8dda264b0c20fc8cc9727a60024296" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "796a170134447f59286147f67e7ebeb8e060d3dd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "legacy-worker-stream-leak", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "796a170" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3135.0, + "scores": [ + 1878.0, + 1257.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 8.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5161.0, + "scores": [ + 2155.0, + 3006.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-28T20:58:37Z", + "confirmation": null, + "delta_pct": -41.2, + "id": "11ec421d416c630c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "cf9ff36332c20a2cfa9f4a439376cb89ed8dda264b0c20fc8cc9727a60024296" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "796a170134447f59286147f67e7ebeb8e060d3dd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "legacy-worker-stream-leak", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "796a170" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3036.0, + "scores": [ + 1993.0, + 1043.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 8.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5117.0, + "scores": [ + 2467.0, + 2650.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-28T20:59:24Z", + "confirmation": null, + "delta_pct": -32.6, + "id": "ff31ace0ad193807", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "cf9ff36332c20a2cfa9f4a439376cb89ed8dda264b0c20fc8cc9727a60024296" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "796a170134447f59286147f67e7ebeb8e060d3dd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "legacy-worker-stream-leak", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "796a170" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3447.0, + "scores": [ + 1934.0, + 1513.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 8.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5224.0, + "scores": [ + 2659.0, + 2565.0 + ], + "selected": "ak.Fermat 2.0" + }, + "completed_at": "2026-09-28T21:56:00Z", + "confirmation": null, + "delta_pct": -11.4, + "id": "dcb3bec37ae6637b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "23de3a465159adc275f52b531b4223ede35dcfe155030970c8985ee52dc6e6c6" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b1b530ece2752a7bbe3a24b9702a66678d80969a61a51b72aec3fd29f1a4e116" + } + }, + "bridge_commit": "792ae196e6e361bf6e3f258740f65ebaa6cf56f4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "legacy-worker-stream-leak", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "792ae19" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ak.Fermat 2.0", + "division": "roborumble", + "jar": "ak.Fermat_2.0.jar", + "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", + "key": "roborumble/ak.Fermat_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4627.0, + "scores": [ + 2369.0, + 2258.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/alex.Diabolo5_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "alex.Diabolo5 1.1", + "division": "roborumble", + "jar": "alex.Diabolo5_1.1.jar", + "jar_sha256": "cc1530acd1e1ec159e4dde664d7ea82601b7b69ac93a0a081725f877391e6496", + "key": "roborumble/alex.Diabolo5_1.1.jar", + "kind": "robot" + }, + "latest_observation": "bf426b80c7e5c3f8", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6507.0, + "scores": [ + 3251.0, + 3256.0 + ], + "selected": "alex.Diabolo5 1.1" + }, + "completed_at": "2026-09-08T20:21:02Z", + "delta_pct": -3.4, + "id": "9571152abf9a4117", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "alex.Diabolo5 1.1", + "division": "roborumble", + "jar": "alex.Diabolo5_1.1.jar", + "jar_sha256": "cc1530acd1e1ec159e4dde664d7ea82601b7b69ac93a0a081725f877391e6496", + "key": "roborumble/alex.Diabolo5_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6288.0, + "scores": [ + 3151.0, + 3137.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6776.0, + "scores": [ + 3520.0, + 3256.0 + ], + "selected": "alex.Diabolo5 1.1" + }, + "completed_at": "2026-09-11T18:11:21Z", + "confirmation": null, + "delta_pct": -13.4, + "id": "bf426b80c7e5c3f8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "alex.Diabolo5 1.1", + "division": "roborumble", + "jar": "alex.Diabolo5_1.1.jar", + "jar_sha256": "cc1530acd1e1ec159e4dde664d7ea82601b7b69ac93a0a081725f877391e6496", + "key": "roborumble/alex.Diabolo5_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5866.0, + "scores": [ + 3094.0, + 2772.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/alk.lap.LoudAndProud_2.23.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "alk.lap.LoudAndProud 2.23", + "division": "roborumble", + "jar": "alk.lap.LoudAndProud_2.23.jar", + "jar_sha256": "17efb1d5344e72a8d6a5028db163d1727b131b8b9b2cb146e801df88cc1b945b", + "key": "roborumble/alk.lap.LoudAndProud_2.23.jar", + "kind": "robot" + }, + "latest_observation": "c36eb610f9e6a0d7", + "observations": [ + { + "classic": { + "elapsed": 5.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4818.0, + "scores": [ + 2531.0, + 2287.0 + ], + "selected": "alk.lap.LoudAndProud 2.23" + }, + "completed_at": "2026-09-08T20:21:28Z", + "delta_pct": -10.3, + "id": "b7150fa0f8305e61", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "alk.lap.LoudAndProud 2.23", + "division": "roborumble", + "jar": "alk.lap.LoudAndProud_2.23.jar", + "jar_sha256": "17efb1d5344e72a8d6a5028db163d1727b131b8b9b2cb146e801df88cc1b945b", + "key": "roborumble/alk.lap.LoudAndProud_2.23.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4321.0, + "scores": [ + 2551.0, + 1770.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5515.0, + "scores": [ + 3071.0, + 2444.0 + ], + "selected": "alk.lap.LoudAndProud 2.23" + }, + "completed_at": "2026-09-11T18:11:46Z", + "confirmation": null, + "delta_pct": -12.4, + "id": "c36eb610f9e6a0d7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "alk.lap.LoudAndProud 2.23", + "division": "roborumble", + "jar": "alk.lap.LoudAndProud_2.23.jar", + "jar_sha256": "17efb1d5344e72a8d6a5028db163d1727b131b8b9b2cb146e801df88cc1b945b", + "key": "roborumble/alk.lap.LoudAndProud_2.23.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4830.0, + "scores": [ + 2954.0, + 1876.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/am.Miedzix_3.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "am.Miedzix 3.0", + "division": "roborumble", + "jar": "am.Miedzix_3.0.jar", + "jar_sha256": "eaebae0baf5108909282e2e018424089c946d6cf91938a01185df48783fa097f", + "key": "roborumble/am.Miedzix_3.0.jar", + "kind": "robot" + }, + "latest_observation": "32356b3362a6a0a9", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 9444.0, + "scores": [ + 4768.0, + 4676.0 + ], + "selected": "am.Miedzix 3.0" + }, + "completed_at": "2026-09-08T20:21:43Z", + "delta_pct": 8.6, + "id": "95ffe43ca9a2cd04", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "am.Miedzix 3.0", + "division": "roborumble", + "jar": "am.Miedzix_3.0.jar", + "jar_sha256": "eaebae0baf5108909282e2e018424089c946d6cf91938a01185df48783fa097f", + "key": "roborumble/am.Miedzix_3.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10259.0, + "scores": [ + 5202.0, + 5057.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9203.0, + "scores": [ + 4281.0, + 4922.0 + ], + "selected": "am.Miedzix 3.0" + }, + "completed_at": "2026-09-11T18:12:03Z", + "confirmation": null, + "delta_pct": 18.6, + "id": "32356b3362a6a0a9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "am.Miedzix 3.0", + "division": "roborumble", + "jar": "am.Miedzix_3.0.jar", + "jar_sha256": "eaebae0baf5108909282e2e018424089c946d6cf91938a01185df48783fa097f", + "key": "roborumble/am.Miedzix_3.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10919.0, + "scores": [ + 5573.0, + 5346.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/amarok.Rookie_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amarok.Rookie 1.1", + "division": "roborumble", + "jar": "amarok.Rookie_1.1.jar", + "jar_sha256": "34cf928378f574c9d6eba50911a39c636f8a7605c310be52839fd1bd4d667e39", + "key": "roborumble/amarok.Rookie_1.1.jar", + "kind": "robot" + }, + "latest_observation": "c094847b79433e8f", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5044.0, + "scores": [ + 2811.0, + 2233.0 + ], + "selected": "amarok.Rookie 1.1" + }, + "completed_at": "2026-09-08T20:22:06Z", + "delta_pct": -11.6, + "id": "4358feef92af528c", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amarok.Rookie 1.1", + "division": "roborumble", + "jar": "amarok.Rookie_1.1.jar", + "jar_sha256": "34cf928378f574c9d6eba50911a39c636f8a7605c310be52839fd1bd4d667e39", + "key": "roborumble/amarok.Rookie_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4459.0, + "scores": [ + 2242.0, + 2217.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5352.0, + "scores": [ + 2562.0, + 2790.0 + ], + "selected": "amarok.Rookie 1.1" + }, + "completed_at": "2026-09-11T18:12:29Z", + "confirmation": null, + "delta_pct": -10.8, + "id": "c094847b79433e8f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amarok.Rookie 1.1", + "division": "roborumble", + "jar": "amarok.Rookie_1.1.jar", + "jar_sha256": "34cf928378f574c9d6eba50911a39c636f8a7605c310be52839fd1bd4d667e39", + "key": "roborumble/amarok.Rookie_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4772.0, + "scores": [ + 2683.0, + 2089.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/amc.ROBv202_1.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amc.ROBv202 1.01", + "division": "roborumble", + "jar": "amc.ROBv202_1.01.jar", + "jar_sha256": "eeeefad3aaac8d19b0ce5d7a3d3af5b4808fefbaf71523c6ecd43834150ee6be", + "key": "roborumble/amc.ROBv202_1.01.jar", + "kind": "robot" + }, + "latest_observation": "39aea9433cd721c8", + "observations": [ + { + "classic": { + "elapsed": 4.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2517.0, + "scores": [ + 1470.0, + 1047.0 + ], + "selected": "amc.ROBv202 1.01" + }, + "completed_at": "2026-09-08T20:22:38Z", + "delta_pct": -8.8, + "id": "7af3d80d2aa0cb8e", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv202 1.01", + "division": "roborumble", + "jar": "amc.ROBv202_1.01.jar", + "jar_sha256": "eeeefad3aaac8d19b0ce5d7a3d3af5b4808fefbaf71523c6ecd43834150ee6be", + "key": "roborumble/amc.ROBv202_1.01.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 28.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2295.0, + "scores": [ + 1227.0, + 1068.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2125.0, + "scores": [ + 1272.0, + 853.0 + ], + "selected": "amc.ROBv202 1.01" + }, + "completed_at": "2026-09-11T18:12:59Z", + "confirmation": null, + "delta_pct": 9.4, + "id": "39aea9433cd721c8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv202 1.01", + "division": "roborumble", + "jar": "amc.ROBv202_1.01.jar", + "jar_sha256": "eeeefad3aaac8d19b0ce5d7a3d3af5b4808fefbaf71523c6ecd43834150ee6be", + "key": "roborumble/amc.ROBv202_1.01.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2324.0, + "scores": [ + 1307.0, + 1017.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/amc.ROBv203_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amc.ROBv203 1.0", + "division": "roborumble", + "jar": "amc.ROBv203_1.0.jar", + "jar_sha256": "1bb9b1b15f09c382abba7ee7043a81277dda0cb68bcd058b92f02fa0abda3bdd", + "key": "roborumble/amc.ROBv203_1.0.jar", + "kind": "robot" + }, + "latest_observation": "2cc236c1d03f3e06", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8230.0, + "scores": [ + 3968.0, + 4262.0 + ], + "selected": "amc.ROBv203 1.0" + }, + "completed_at": "2026-09-08T20:22:57Z", + "delta_pct": -1.9, + "id": "5b13343a09625cb7", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv203 1.0", + "division": "roborumble", + "jar": "amc.ROBv203_1.0.jar", + "jar_sha256": "1bb9b1b15f09c382abba7ee7043a81277dda0cb68bcd058b92f02fa0abda3bdd", + "key": "roborumble/amc.ROBv203_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8073.0, + "scores": [ + 4630.0, + 3443.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9200.0, + "scores": [ + 4518.0, + 4682.0 + ], + "selected": "amc.ROBv203 1.0" + }, + "completed_at": "2026-09-11T18:13:20Z", + "confirmation": null, + "delta_pct": -18.2, + "id": "2cc236c1d03f3e06", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv203 1.0", + "division": "roborumble", + "jar": "amc.ROBv203_1.0.jar", + "jar_sha256": "1bb9b1b15f09c382abba7ee7043a81277dda0cb68bcd058b92f02fa0abda3bdd", + "key": "roborumble/amc.ROBv203_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7522.0, + "scores": [ + 3867.0, + 3655.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/amc.ROBv300_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amc.ROBv300 1.1", + "division": "roborumble", + "jar": "amc.ROBv300_1.1.jar", + "jar_sha256": "6db4ed03047d5efd9e8de254be8f68d9e3417a875c591e974514ff055d390920", + "key": "roborumble/amc.ROBv300_1.1.jar", + "kind": "robot" + }, + "latest_observation": "d1b48fa6a62b3b67", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2648.0, + "scores": [ + 1072.0, + 1576.0 + ], + "selected": "amc.ROBv300 1.1" + }, + "completed_at": "2026-09-08T20:23:24Z", + "delta_pct": 67.9, + "id": "f9df3a01abc1f04f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv300 1.1", + "division": "roborumble", + "jar": "amc.ROBv300_1.1.jar", + "jar_sha256": "6db4ed03047d5efd9e8de254be8f68d9e3417a875c591e974514ff055d390920", + "key": "roborumble/amc.ROBv300_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 24.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4445.0, + "scores": [ + 2309.0, + 2136.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3070.0, + "scores": [ + 1416.0, + 1654.0 + ], + "selected": "amc.ROBv300 1.1" + }, + "completed_at": "2026-09-11T18:13:53Z", + "confirmation": null, + "delta_pct": 30.5, + "id": "f9495f2dbd71e8f7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv300 1.1", + "division": "roborumble", + "jar": "amc.ROBv300_1.1.jar", + "jar_sha256": "6db4ed03047d5efd9e8de254be8f68d9e3417a875c591e974514ff055d390920", + "key": "roborumble/amc.ROBv300_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4006.0, + "scores": [ + 2103.0, + 1903.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2659.0, + "scores": [ + 1497.0, + 1162.0 + ], + "selected": "amc.ROBv300 1.1" + }, + "completed_at": "2026-09-28T20:14:26Z", + "confirmation": null, + "delta_pct": 74.7, + "id": "d1b48fa6a62b3b67", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv300 1.1", + "division": "roborumble", + "jar": "amc.ROBv300_1.1.jar", + "jar_sha256": "6db4ed03047d5efd9e8de254be8f68d9e3417a875c591e974514ff055d390920", + "key": "roborumble/amc.ROBv300_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4646.0, + "scores": [ + 4066.0, + 580.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/amc.ROBv301_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amc.ROBv301 1.1", + "division": "roborumble", + "jar": "amc.ROBv301_1.1.jar", + "jar_sha256": "0f5ce30be90a631bbca672094046847e552d2b2370af3ec73b3d9ed8c737798f", + "key": "roborumble/amc.ROBv301_1.1.jar", + "kind": "robot" + }, + "latest_observation": "ebbef7fc4153c8ab", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4436.0, + "scores": [ + 1954.0, + 2482.0 + ], + "selected": "amc.ROBv301 1.1" + }, + "completed_at": "2026-09-08T20:23:53Z", + "delta_pct": 70.0, + "id": "8f84ca57fd472f5b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv301 1.1", + "division": "roborumble", + "jar": "amc.ROBv301_1.1.jar", + "jar_sha256": "0f5ce30be90a631bbca672094046847e552d2b2370af3ec73b3d9ed8c737798f", + "key": "roborumble/amc.ROBv301_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 24.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7541.0, + "scores": [ + 3782.0, + 3759.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4073.0, + "scores": [ + 1820.0, + 2253.0 + ], + "selected": "amc.ROBv301 1.1" + }, + "completed_at": "2026-09-11T18:14:25Z", + "confirmation": null, + "delta_pct": 99.0, + "id": "17337652ea3548fe", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv301 1.1", + "division": "roborumble", + "jar": "amc.ROBv301_1.1.jar", + "jar_sha256": "0f5ce30be90a631bbca672094046847e552d2b2370af3ec73b3d9ed8c737798f", + "key": "roborumble/amc.ROBv301_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8107.0, + "scores": [ + 4405.0, + 3702.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3719.0, + "scores": [ + 1925.0, + 1794.0 + ], + "selected": "amc.ROBv301 1.1" + }, + "completed_at": "2026-09-28T20:14:56Z", + "confirmation": null, + "delta_pct": 114.3, + "id": "ebbef7fc4153c8ab", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv301 1.1", + "division": "roborumble", + "jar": "amc.ROBv301_1.1.jar", + "jar_sha256": "0f5ce30be90a631bbca672094046847e552d2b2370af3ec73b3d9ed8c737798f", + "key": "roborumble/amc.ROBv301_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7970.0, + "scores": [ + 4045.0, + 3925.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/amc.ROBv400_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amc.ROBv400 1.0", + "division": "roborumble", + "jar": "amc.ROBv400_1.0.jar", + "jar_sha256": "ed8d81415f6cc852706df58f162e484cb4dc68882357c4e2f5875f5908eafa86", + "key": "roborumble/amc.ROBv400_1.0.jar", + "kind": "robot" + }, + "latest_observation": "b4df957b9784537d", + "observations": [ + { + "classic": { + "elapsed": 4.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4053.0, + "scores": [ + 2092.0, + 1961.0 + ], + "selected": "amc.ROBv400 1.0" + }, + "completed_at": "2026-09-08T20:24:19Z", + "delta_pct": 78.2, + "id": "09be55e2c9b7d445", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv400 1.0", + "division": "roborumble", + "jar": "amc.ROBv400_1.0.jar", + "jar_sha256": "ed8d81415f6cc852706df58f162e484cb4dc68882357c4e2f5875f5908eafa86", + "key": "roborumble/amc.ROBv400_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7223.0, + "scores": [ + 3849.0, + 3374.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3151.0, + "scores": [ + 1494.0, + 1657.0 + ], + "selected": "amc.ROBv400 1.0" + }, + "completed_at": "2026-09-11T18:14:54Z", + "confirmation": null, + "delta_pct": 139.7, + "id": "045a5862fdac8d8a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv400 1.0", + "division": "roborumble", + "jar": "amc.ROBv400_1.0.jar", + "jar_sha256": "ed8d81415f6cc852706df58f162e484cb4dc68882357c4e2f5875f5908eafa86", + "key": "roborumble/amc.ROBv400_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7554.0, + "scores": [ + 4220.0, + 3334.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4054.0, + "scores": [ + 1915.0, + 2139.0 + ], + "selected": "amc.ROBv400 1.0" + }, + "completed_at": "2026-09-28T20:15:28Z", + "confirmation": null, + "delta_pct": 106.1, + "id": "b4df957b9784537d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amc.ROBv400 1.0", + "division": "roborumble", + "jar": "amc.ROBv400_1.0.jar", + "jar_sha256": "ed8d81415f6cc852706df58f162e484cb4dc68882357c4e2f5875f5908eafa86", + "key": "roborumble/amc.ROBv400_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8355.0, + "scores": [ + 4278.0, + 4077.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/amk.ChumbaMini_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amk.ChumbaMini 0.2", + "division": "roborumble", + "jar": "amk.ChumbaMini_0.2.jar", + "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", + "key": "roborumble/amk.ChumbaMini_0.2.jar", + "kind": "robot" + }, + "latest_observation": "05156dda8b04e557", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 100, + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 5187.0, + "scores": [ + 2322.0, + 2865.0 + ], + "selected": "amk.ChumbaMini 0.2" + }, + "completed_at": "2026-09-08T20:24:36Z", + "delta_pct": 12.6, + "id": "a2683415dda92a08", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.ChumbaMini 0.2", + "division": "roborumble", + "jar": "amk.ChumbaMini_0.2.jar", + "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", + "key": "roborumble/amk.ChumbaMini_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5843.0, + "scores": [ + 3157.0, + 2686.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 98, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 5536.0, + "scores": [ + 2695.0, + 2841.0 + ], + "selected": "amk.ChumbaMini 0.2" + }, + "completed_at": "2026-09-11T18:15:15Z", + "confirmation": null, + "delta_pct": -0.8, + "id": "05156dda8b04e557", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.ChumbaMini 0.2", + "division": "roborumble", + "jar": "amk.ChumbaMini_0.2.jar", + "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", + "key": "roborumble/amk.ChumbaMini_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 66, + "error_signatures": [ + { + "exception": "java.lang.SecurityException", + "origin": "amk.ChumbaMini.saveData" + } + ], + "errors": [ + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time.", + "java.lang.SecurityException: You may only have 5 streams open at a time." + ], + "has_log": true, + "ok": true, + "score": 5493.0, + "scores": [ + 3091.0, + 2402.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/amk.ChumbaWumba_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amk.ChumbaWumba 0.3", + "division": "roborumble", + "jar": "amk.ChumbaWumba_0.3.jar", + "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", + "key": "roborumble/amk.ChumbaWumba_0.3.jar", + "kind": "robot" + }, + "latest_observation": "4bffd0fc5046055a", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5213.0, + "scores": [ + 2618.0, + 2595.0 + ], + "selected": "amk.ChumbaWumba 0.3" + }, + "completed_at": "2026-09-08T20:24:55Z", + "delta_pct": -5.4, + "id": "945bce04cca29751", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.ChumbaWumba 0.3", + "division": "roborumble", + "jar": "amk.ChumbaWumba_0.3.jar", + "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", + "key": "roborumble/amk.ChumbaWumba_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4933.0, + "scores": [ + 2953.0, + 1980.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5157.0, + "scores": [ + 2843.0, + 2314.0 + ], + "selected": "amk.ChumbaWumba 0.3" + }, + "completed_at": "2026-09-11T18:15:36Z", + "confirmation": null, + "delta_pct": -8.4, + "id": "4bffd0fc5046055a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.ChumbaWumba 0.3", + "division": "roborumble", + "jar": "amk.ChumbaWumba_0.3.jar", + "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", + "key": "roborumble/amk.ChumbaWumba_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4722.0, + "scores": [ + 2970.0, + 1752.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/amk.Punbot.Punbot_0.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amk.Punbot.Punbot 0.01", + "division": "roborumble", + "jar": "amk.Punbot.Punbot_0.01.jar", + "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", + "key": "roborumble/amk.Punbot.Punbot_0.01.jar", + "kind": "robot" + }, + "latest_observation": "5d74b515d19e7bd9", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5777.0, + "scores": [ + 2448.0, + 3329.0 + ], + "selected": "amk.Punbot.Punbot 0.01" + }, + "completed_at": "2026-09-08T20:25:31Z", + "delta_pct": 1.1, + "id": "5cb33aff96c3e759", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.Punbot.Punbot 0.01", + "division": "roborumble", + "jar": "amk.Punbot.Punbot_0.01.jar", + "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", + "key": "roborumble/amk.Punbot.Punbot_0.01.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5841.0, + "scores": [ + 3152.0, + 2689.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5593.0, + "scores": [ + 2197.0, + 3396.0 + ], + "selected": "amk.Punbot.Punbot 0.01" + }, + "completed_at": "2026-09-11T18:16:16Z", + "confirmation": null, + "delta_pct": -1.6, + "id": "5d74b515d19e7bd9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.Punbot.Punbot 0.01", + "division": "roborumble", + "jar": "amk.Punbot.Punbot_0.01.jar", + "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", + "key": "roborumble/amk.Punbot.Punbot_0.01.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5503.0, + "scores": [ + 3267.0, + 2236.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "division": "roborumble", + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", + "key": "roborumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "kind": "robot" + }, + "latest_observation": "c618df752edf4a89", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6365.0, + "scores": [ + 3091.0, + 3274.0 + ], + "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + }, + "completed_at": "2026-09-08T20:25:48Z", + "delta_pct": 0.5, + "id": "fcb8486e2c29e9dc", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "division": "roborumble", + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", + "key": "roborumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6399.0, + "scores": [ + 3401.0, + 2998.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6077.0, + "scores": [ + 3026.0, + 3051.0 + ], + "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + }, + "completed_at": "2026-09-11T18:16:35Z", + "confirmation": null, + "delta_pct": 4.2, + "id": "c618df752edf4a89", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "division": "roborumble", + "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", + "key": "roborumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6335.0, + "scores": [ + 3253.0, + 3082.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/amk.jointstrike.JointStrike_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amk.jointstrike.JointStrike 0.2", + "division": "roborumble", + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", + "key": "roborumble/amk.jointstrike.JointStrike_0.2.jar", + "kind": "robot" + }, + "latest_observation": "921d60fa06a2d0d0", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7614.0, + "scores": [ + 3922.0, + 3692.0 + ], + "selected": "amk.jointstrike.JointStrike 0.2" + }, + "completed_at": "2026-09-08T20:25:12Z", + "delta_pct": -17.6, + "id": "5c6c92d169d651d3", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.jointstrike.JointStrike 0.2", + "division": "roborumble", + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", + "key": "roborumble/amk.jointstrike.JointStrike_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6274.0, + "scores": [ + 3212.0, + 3062.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7666.0, + "scores": [ + 4239.0, + 3427.0 + ], + "selected": "amk.jointstrike.JointStrike 0.2" + }, + "completed_at": "2026-09-11T18:15:55Z", + "confirmation": null, + "delta_pct": -22.1, + "id": "921d60fa06a2d0d0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.jointstrike.JointStrike 0.2", + "division": "roborumble", + "jar": "amk.jointstrike.JointStrike_0.2.jar", + "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", + "key": "roborumble/amk.jointstrike.JointStrike_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5970.0, + "scores": [ + 3231.0, + 2739.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/amk.superstrike.SuperStrike_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "amk.superstrike.SuperStrike 0.3", + "division": "roborumble", + "jar": "amk.superstrike.SuperStrike_0.3.jar", + "jar_sha256": "ef146a488f92e25b5f8f957831fd715bb6a6b2b1f8cf72ffa05bad505c34c79b", + "key": "roborumble/amk.superstrike.SuperStrike_0.3.jar", + "kind": "robot" + }, + "latest_observation": "db8a1c3e449c274e", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7839.0, + "scores": [ + 4140.0, + 3699.0 + ], + "selected": "amk.superstrike.SuperStrike 0.3" + }, + "completed_at": "2026-09-08T20:26:09Z", + "delta_pct": -57.0, + "id": "54ea093325f72804", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.superstrike.SuperStrike 0.3", + "division": "roborumble", + "jar": "amk.superstrike.SuperStrike_0.3.jar", + "jar_sha256": "ef146a488f92e25b5f8f957831fd715bb6a6b2b1f8cf72ffa05bad505c34c79b", + "key": "roborumble/amk.superstrike.SuperStrike_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3368.0, + "scores": [ + 2340.0, + 1028.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7301.0, + "scores": [ + 3346.0, + 3955.0 + ], + "selected": "amk.superstrike.SuperStrike 0.3" + }, + "completed_at": "2026-09-11T18:16:59Z", + "confirmation": null, + "delta_pct": -52.1, + "id": "3660875ea25882b0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.superstrike.SuperStrike 0.3", + "division": "roborumble", + "jar": "amk.superstrike.SuperStrike_0.3.jar", + "jar_sha256": "ef146a488f92e25b5f8f957831fd715bb6a6b2b1f8cf72ffa05bad505c34c79b", + "key": "roborumble/amk.superstrike.SuperStrike_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3496.0, + "scores": [ + 1901.0, + 1595.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7723.0, + "scores": [ + 3445.0, + 4278.0 + ], + "selected": "amk.superstrike.SuperStrike 0.3" + }, + "completed_at": "2026-09-28T20:15:53Z", + "confirmation": null, + "delta_pct": -55.6, + "id": "db8a1c3e449c274e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "amk.superstrike.SuperStrike 0.3", + "division": "roborumble", + "jar": "amk.superstrike.SuperStrike_0.3.jar", + "jar_sha256": "ef146a488f92e25b5f8f957831fd715bb6a6b2b1f8cf72ffa05bad505c34c79b", + "key": "roborumble/amk.superstrike.SuperStrike_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3430.0, + "scores": [ + 1839.0, + 1591.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ao.T100_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ao.T100 0.9", + "division": "roborumble", + "jar": "ao.T100_0.9.jar", + "jar_sha256": "05273a2b787354f59695eeb17a4a8de330ed34d75d805aa17d91a7b756efaae0", + "key": "roborumble/ao.T100_0.9.jar", + "kind": "robot" + }, + "latest_observation": "dde2c0b78956ab41", + "observations": [ + { + "classic": { + "elapsed": 4.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7797.0, + "scores": [ + 3914.0, + 3883.0 + ], + "selected": "ao.T100 0.9" + }, + "completed_at": "2026-09-08T20:28:16Z", + "delta_pct": -51.0, + "id": "4ae1803915fa8384", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ao.T100 0.9", + "division": "roborumble", + "jar": "ao.T100_0.9.jar", + "jar_sha256": "05273a2b787354f59695eeb17a4a8de330ed34d75d805aa17d91a7b756efaae0", + "key": "roborumble/ao.T100_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 96.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3822.0, + "scores": [ + 2016.0, + 1806.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6819.0, + "scores": [ + 3168.0, + 3651.0 + ], + "selected": "ao.T100 0.9" + }, + "completed_at": "2026-09-11T18:19:16Z", + "confirmation": null, + "delta_pct": -38.0, + "id": "9ef95c63d40b94a3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ao.T100 0.9", + "division": "roborumble", + "jar": "ao.T100_0.9.jar", + "jar_sha256": "05273a2b787354f59695eeb17a4a8de330ed34d75d805aa17d91a7b756efaae0", + "key": "roborumble/ao.T100_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 102.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4228.0, + "scores": [ + 2463.0, + 1765.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6494.0, + "scores": [ + 3393.0, + 3101.0 + ], + "selected": "ao.T100 0.9" + }, + "completed_at": "2026-09-28T20:17:29Z", + "confirmation": null, + "delta_pct": -26.6, + "id": "dde2c0b78956ab41", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ao.T100 0.9", + "division": "roborumble", + "jar": "ao.T100_0.9.jar", + "jar_sha256": "05273a2b787354f59695eeb17a4a8de330ed34d75d805aa17d91a7b756efaae0", + "key": "roborumble/ao.T100_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 90.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4767.0, + "scores": [ + 2538.0, + 2229.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ap.Frederick_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ap.Frederick 1.1", + "division": "roborumble", + "jar": "ap.Frederick_1.1.jar", + "jar_sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899", + "key": "roborumble/ap.Frederick_1.1.jar", + "kind": "robot" + }, + "latest_observation": "afd8cef3db9b2fa4", + "observations": [ + { + "classic": { + "elapsed": 4.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 120.0, + "scores": [ + 120.0, + 0.0 + ], + "selected": "ap.Frederick 1.1" + }, + "completed_at": "2026-09-08T20:28:55Z", + "delta_pct": 4.2, + "id": "df6c7329f8f52c4e", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ap.Frederick 1.1", + "division": "roborumble", + "jar": "ap.Frederick_1.1.jar", + "jar_sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899", + "key": "roborumble/ap.Frederick_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 34.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 125.0, + "scores": [ + 124.0, + 1.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1.0, + "scores": [ + 1.0, + 0.0 + ], + "selected": "ap.Frederick 1.1" + }, + "completed_at": "2026-09-11T18:19:56Z", + "confirmation": null, + "delta_pct": 13100.0, + "id": "7b31b14ead78848b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ap.Frederick 1.1", + "division": "roborumble", + "jar": "ap.Frederick_1.1.jar", + "jar_sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899", + "key": "roborumble/ap.Frederick_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 132.0, + "scores": [ + 125.0, + 7.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "ap.Frederick 1.1" + }, + "completed_at": "2026-09-28T20:18:11Z", + "confirmation": null, + "delta_pct": null, + "id": "afd8cef3db9b2fa4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ap.Frederick 1.1", + "division": "roborumble", + "jar": "ap.Frederick_1.1.jar", + "jar_sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899", + "key": "roborumble/ap.Frederick_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 61.0, + "scores": [ + 61.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/apc.Caan_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apc.Caan 1.0", + "division": "roborumble", + "jar": "apc.Caan_1.0.jar", + "jar_sha256": "1cd29b8da786378b068170b3be45ce03620477218732e4b54e939165f33463b6", + "key": "roborumble/apc.Caan_1.0.jar", + "kind": "robot" + }, + "latest_observation": "aabd00fd8b967bed", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6154.0, + "scores": [ + 2535.0, + 3619.0 + ], + "selected": "apc.Caan 1.0" + }, + "completed_at": "2026-09-08T20:29:39Z", + "delta_pct": -1.1, + "id": "f844e4bc6aff7dc0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.Caan 1.0", + "division": "roborumble", + "jar": "apc.Caan_1.0.jar", + "jar_sha256": "1cd29b8da786378b068170b3be45ce03620477218732e4b54e939165f33463b6", + "key": "roborumble/apc.Caan_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6084.0, + "scores": [ + 3257.0, + 2827.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5964.0, + "scores": [ + 2858.0, + 3106.0 + ], + "selected": "apc.Caan 1.0" + }, + "completed_at": "2026-09-11T18:20:41Z", + "confirmation": null, + "delta_pct": -2.1, + "id": "aabd00fd8b967bed", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.Caan 1.0", + "division": "roborumble", + "jar": "apc.Caan_1.0.jar", + "jar_sha256": "1cd29b8da786378b068170b3be45ce03620477218732e4b54e939165f33463b6", + "key": "roborumble/apc.Caan_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5838.0, + "scores": [ + 3565.0, + 2273.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apc.Colossus2_0.12.jar": { + "diagnosis_events": [ + { + "cause": "scan-target-name-identity", + "id": "diagnosis-1", + "owner": "bridge", + "recorded_at": "2026-09-28T21:09:47Z" + } + ], + "identity": { + "classic_selected": "apc.Colossus2 0.12", + "division": "roborumble", + "jar": "apc.Colossus2_0.12.jar", + "jar_sha256": "b4dbfb04c20332efad6d132d89259a0218fb245dbc8d73a14e368d6dcc024db3", + "key": "roborumble/apc.Colossus2_0.12.jar", + "kind": "robot" + }, + "latest_observation": "9c81fee190364e22", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 11750.0, + "scores": [ + 5594.0, + 6156.0 + ], + "selected": "apc.Colossus2 0.12" + }, + "completed_at": "2026-09-08T20:29:46Z", + "delta_pct": null, + "id": "6234b82cd630f7c9", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.Colossus2 0.12", + "division": "roborumble", + "jar": "apc.Colossus2_0.12.jar", + "jar_sha256": "b4dbfb04c20332efad6d132d89259a0218fb245dbc8d73a14e368d6dcc024db3", + "key": "roborumble/apc.Colossus2_0.12.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 160, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 20 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 21 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 22 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 24 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 25 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 26 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 27 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 28 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 29 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 30 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 31 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 32 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 33 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 35 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 36 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 37 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 38 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 39 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 40 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 41 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 42 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 43 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 44 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 45 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 46 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 47 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 48 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 49 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 52 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 53 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 54 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 55 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 56 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 57 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 58 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 59 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 60 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 61 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 62 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 63 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 64 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 65 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 66 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 67 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 68 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 69 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 70 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 71 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 72 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 20 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 21 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 22 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 24 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 25 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 26 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 27 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 28 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 29 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 30 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 31 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 32 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 33 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 35 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 36 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 37 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 38 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 39 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 40 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 41 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 42 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 43 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 44 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 45 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 46 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 47 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 48 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 49 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 52 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 53 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 54 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 55 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 56 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 57 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 58 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 59 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 60 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 61 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 62 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 63 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 64 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 65 out of bounds for length 20" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11647.0, + "scores": [ + 5439.0, + 6208.0 + ], + "selected": "apc.Colossus2 0.12" + }, + "completed_at": "2026-09-11T18:20:48Z", + "confirmation": null, + "delta_pct": null, + "id": "17f553f342c848ba", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.Colossus2 0.12", + "division": "roborumble", + "jar": "apc.Colossus2_0.12.jar", + "jar_sha256": "b4dbfb04c20332efad6d132d89259a0218fb245dbc8d73a14e368d6dcc024db3", + "key": "roborumble/apc.Colossus2_0.12.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "apc.Colossus2.onScannedRobot" + ] + ], + "elapsed": 4.1, + "error_count": 225, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "apc.Colossus2.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 20 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 21 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 22 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 24 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 25 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 26 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 27 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 28 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 29 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 30 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 31 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 32 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 33 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 35 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 36 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 37 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 38 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 39 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 40 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 41 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 42 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 43 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 44 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 45 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 46 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 47 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 48 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 49 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 52 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 53 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 54 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 55 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 56 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 57 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 58 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 59 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 60 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 61 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 62 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 63 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 64 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 65 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 66 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 67 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 68 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 69 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 70 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 71 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 72 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 73 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 74 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 76 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 77 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 78 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 79 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 80 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 81 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 82 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 83 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 84 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 85 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 86 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 87 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 88 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 89 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 90 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 91 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 92 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 93 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 94 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 95 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 96 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 97 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 98 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 99 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 100 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 101 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 102 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 103 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 104 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 105 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 106 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 107 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 108 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 109 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 110 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 111 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 112 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 113 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 114 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 115 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 116 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 117 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 118 out of bounds for length 20" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12038.0, + "scores": [ + 6013.0, + 6025.0 + ], + "selected": "apc.Colossus2 0.12" + }, + "completed_at": "2026-09-28T20:18:19Z", + "confirmation": null, + "delta_pct": null, + "id": "aafa949ac07b6f62", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.Colossus2 0.12", + "division": "roborumble", + "jar": "apc.Colossus2_0.12.jar", + "jar_sha256": "b4dbfb04c20332efad6d132d89259a0218fb245dbc8d73a14e368d6dcc024db3", + "key": "roborumble/apc.Colossus2_0.12.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "apc.Colossus2.onScannedRobot" + ] + ], + "elapsed": 4.2, + "error_count": 180, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "apc.Colossus2.onScannedRobot" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 20 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 21 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 22 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 24 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 25 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 26 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 27 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 28 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 29 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 30 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 31 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 32 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 33 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 35 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 36 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 37 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 38 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 39 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 40 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 41 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 42 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 43 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 44 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 45 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 46 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 47 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 48 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 49 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 52 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 53 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 54 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 55 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 56 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 57 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 58 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 59 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 60 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 61 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 62 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 63 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 64 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 65 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 66 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 67 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 68 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 69 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 70 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 71 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 72 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 73 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 74 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 76 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 77 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 78 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 79 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 80 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 81 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 82 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 83 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 84 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 85 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 86 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 87 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 88 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 89 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 90 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 91 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 92 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 93 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 94 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 95 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 96 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 97 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 98 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 99 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 100 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 101 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 102 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 103 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 104 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 105 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 106 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 107 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 108 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 109 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 110 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 111 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 112 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 113 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 114 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 115 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 116 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 117 out of bounds for length 20", + "java.lang.ArrayIndexOutOfBoundsException: Index 118 out of bounds for length 20" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11561.0, + "scores": [ + 5458.0, + 6103.0 + ], + "selected": "apc.Colossus2 0.12" + }, + "completed_at": "2026-09-28T21:10:30Z", + "confirmation": null, + "delta_pct": -12.9, + "id": "9c81fee190364e22", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "c732df55bc3cc2f39786753dc8e0e4891b73d1eded69480ff1c44f91ebb27bfa" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "255fcb35d768bad26e95f5bde43e10c2b998c05a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "21324d6b7c4433e3fc1ba2a0e29c691fc3565e47", + "threshold": 25.0 + }, + "retest": { + "cause": "scan-target-name-identity", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "255fcb3" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.Colossus2 0.12", + "division": "roborumble", + "jar": "apc.Colossus2_0.12.jar", + "jar_sha256": "b4dbfb04c20332efad6d132d89259a0218fb245dbc8d73a14e368d6dcc024db3", + "key": "roborumble/apc.Colossus2_0.12.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10070.0, + "scores": [ + 5618.0, + 4452.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apc.LeeroyJenkins2_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apc.LeeroyJenkins2 1.0", + "division": "roborumble", + "jar": "apc.LeeroyJenkins2_1.0.jar", + "jar_sha256": "966e1947db52d724adaf02c233a17fdb172066c7fb9ab7a41741ba7eb5374a0d", + "key": "roborumble/apc.LeeroyJenkins2_1.0.jar", + "kind": "robot" + }, + "latest_observation": "e8c0fd36dc3876f7", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6444.0, + "scores": [ + 2482.0, + 3962.0 + ], + "selected": "apc.LeeroyJenkins2 1.0" + }, + "completed_at": "2026-09-08T20:31:46Z", + "delta_pct": -1.3, + "id": "c115dfcf1a4a4fdf", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.LeeroyJenkins2 1.0", + "division": "roborumble", + "jar": "apc.LeeroyJenkins2_1.0.jar", + "jar_sha256": "966e1947db52d724adaf02c233a17fdb172066c7fb9ab7a41741ba7eb5374a0d", + "key": "roborumble/apc.LeeroyJenkins2_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6361.0, + "scores": [ + 3284.0, + 3077.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6709.0, + "scores": [ + 3635.0, + 3074.0 + ], + "selected": "apc.LeeroyJenkins2 1.0" + }, + "completed_at": "2026-09-11T18:21:29Z", + "confirmation": null, + "delta_pct": -6.1, + "id": "e8c0fd36dc3876f7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.LeeroyJenkins2 1.0", + "division": "roborumble", + "jar": "apc.LeeroyJenkins2_1.0.jar", + "jar_sha256": "966e1947db52d724adaf02c233a17fdb172066c7fb9ab7a41741ba7eb5374a0d", + "key": "roborumble/apc.LeeroyJenkins2_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6301.0, + "scores": [ + 3379.0, + 2922.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apc.botM_3.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apc.botM 3.0", + "division": "roborumble", + "jar": "apc.botM_3.0.jar", + "jar_sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94", + "key": "roborumble/apc.botM_3.0.jar", + "kind": "robot" + }, + "latest_observation": "a47d3ba08bb6086f", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5572.0, + "scores": [ + 3017.0, + 2555.0 + ], + "selected": "apc.botM 3.0" + }, + "completed_at": "2026-09-08T20:29:18Z", + "delta_pct": 2.7, + "id": "4a1b06c7f3fd0456", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.botM 3.0", + "division": "roborumble", + "jar": "apc.botM_3.0.jar", + "jar_sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94", + "key": "roborumble/apc.botM_3.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5725.0, + "scores": [ + 3022.0, + 2703.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5387.0, + "scores": [ + 2760.0, + 2627.0 + ], + "selected": "apc.botM 3.0" + }, + "completed_at": "2026-09-11T18:20:19Z", + "confirmation": null, + "delta_pct": 2.4, + "id": "a47d3ba08bb6086f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apc.botM 3.0", + "division": "roborumble", + "jar": "apc.botM_3.0.jar", + "jar_sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94", + "key": "roborumble/apc.botM_3.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5517.0, + "scores": [ + 2930.0, + 2587.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apollokidd.ApolloKidd_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apollokidd.ApolloKidd 0.9", + "division": "roborumble", + "jar": "apollokidd.ApolloKidd_0.9.jar", + "jar_sha256": "e7153516f9b25d4d571e484022c7c9fc6ab19f036faeb46213764691c84e7390", + "key": "roborumble/apollokidd.ApolloKidd_0.9.jar", + "kind": "robot" + }, + "latest_observation": "bcbade73beb02c58", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10425.0, + "scores": [ + 4744.0, + 5681.0 + ], + "selected": "apollokidd.ApolloKidd 0.9" + }, + "completed_at": "2026-09-08T20:32:13Z", + "delta_pct": 34.5, + "id": "b90a01cef8102d4f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apollokidd.ApolloKidd 0.9", + "division": "roborumble", + "jar": "apollokidd.ApolloKidd_0.9.jar", + "jar_sha256": "e7153516f9b25d4d571e484022c7c9fc6ab19f036faeb46213764691c84e7390", + "key": "roborumble/apollokidd.ApolloKidd_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 24.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 14020.0, + "scores": [ + 7164.0, + 6856.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10782.0, + "scores": [ + 5310.0, + 5472.0 + ], + "selected": "apollokidd.ApolloKidd 0.9" + }, + "completed_at": "2026-09-11T18:21:57Z", + "confirmation": null, + "delta_pct": 30.9, + "id": "5de5ad7ce505c6e1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apollokidd.ApolloKidd 0.9", + "division": "roborumble", + "jar": "apollokidd.ApolloKidd_0.9.jar", + "jar_sha256": "e7153516f9b25d4d571e484022c7c9fc6ab19f036faeb46213764691c84e7390", + "key": "roborumble/apollokidd.ApolloKidd_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 14118.0, + "scores": [ + 7672.0, + 6446.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10546.0, + "scores": [ + 4842.0, + 5704.0 + ], + "selected": "apollokidd.ApolloKidd 0.9" + }, + "completed_at": "2026-09-28T20:18:43Z", + "confirmation": null, + "delta_pct": 32.4, + "id": "bcbade73beb02c58", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apollokidd.ApolloKidd 0.9", + "division": "roborumble", + "jar": "apollokidd.ApolloKidd_0.9.jar", + "jar_sha256": "e7153516f9b25d4d571e484022c7c9fc6ab19f036faeb46213764691c84e7390", + "key": "roborumble/apollokidd.ApolloKidd_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13963.0, + "scores": [ + 7715.0, + 6248.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/apv.AspidReloaded_0.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apv.AspidReloaded 0.6", + "division": "roborumble", + "jar": "apv.AspidReloaded_0.6.jar", + "jar_sha256": "9cbef59e538da1a8edb9d9dd38ac7970a9607232b6e663eeaae9899c4c3161b1", + "key": "roborumble/apv.AspidReloaded_0.6.jar", + "kind": "robot" + }, + "latest_observation": "688a0cfa64404e92", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5453.0, + "scores": [ + 2852.0, + 2601.0 + ], + "selected": "apv.AspidReloaded 0.6" + }, + "completed_at": "2026-09-08T20:32:53Z", + "delta_pct": -9.7, + "id": "22f23ec4b2359408", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.AspidReloaded 0.6", + "division": "roborumble", + "jar": "apv.AspidReloaded_0.6.jar", + "jar_sha256": "9cbef59e538da1a8edb9d9dd38ac7970a9607232b6e663eeaae9899c4c3161b1", + "key": "roborumble/apv.AspidReloaded_0.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4926.0, + "scores": [ + 2805.0, + 2121.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5952.0, + "scores": [ + 3280.0, + 2672.0 + ], + "selected": "apv.AspidReloaded 0.6" + }, + "completed_at": "2026-09-11T18:22:42Z", + "confirmation": null, + "delta_pct": -13.2, + "id": "688a0cfa64404e92", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.AspidReloaded 0.6", + "division": "roborumble", + "jar": "apv.AspidReloaded_0.6.jar", + "jar_sha256": "9cbef59e538da1a8edb9d9dd38ac7970a9607232b6e663eeaae9899c4c3161b1", + "key": "roborumble/apv.AspidReloaded_0.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5169.0, + "scores": [ + 2636.0, + 2533.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apv.Aspid_1.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apv.Aspid 1.7", + "division": "roborumble", + "jar": "apv.Aspid_1.7.jar", + "jar_sha256": "4cf2bf08d8816f48106ef02f849e5afd7b52f46490902c8643d2d1c19853437d", + "key": "roborumble/apv.Aspid_1.7.jar", + "kind": "robot" + }, + "latest_observation": "77ebbfd405a05a87", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5475.0, + "scores": [ + 2444.0, + 3031.0 + ], + "selected": "apv.Aspid 1.7" + }, + "completed_at": "2026-09-08T20:32:34Z", + "delta_pct": -10.1, + "id": "f0bfd59e67a0674e", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.Aspid 1.7", + "division": "roborumble", + "jar": "apv.Aspid_1.7.jar", + "jar_sha256": "4cf2bf08d8816f48106ef02f849e5afd7b52f46490902c8643d2d1c19853437d", + "key": "roborumble/apv.Aspid_1.7.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4924.0, + "scores": [ + 2572.0, + 2352.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5859.0, + "scores": [ + 2787.0, + 3072.0 + ], + "selected": "apv.Aspid 1.7" + }, + "completed_at": "2026-09-11T18:22:21Z", + "confirmation": null, + "delta_pct": -8.5, + "id": "77ebbfd405a05a87", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.Aspid 1.7", + "division": "roborumble", + "jar": "apv.Aspid_1.7.jar", + "jar_sha256": "4cf2bf08d8816f48106ef02f849e5afd7b52f46490902c8643d2d1c19853437d", + "key": "roborumble/apv.Aspid_1.7.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5360.0, + "scores": [ + 2779.0, + 2581.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apv.LauLectrik_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apv.LauLectrik 1.2", + "division": "roborumble", + "jar": "apv.LauLectrik_1.2.jar", + "jar_sha256": "b9268644ac0983cc1feaef4d7052c796ba74e0da321887bdaf37da70725ff822", + "key": "roborumble/apv.LauLectrik_1.2.jar", + "kind": "robot" + }, + "latest_observation": "2bc639b2fd4a5e1e", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 2, + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\apv\\LauLectrik.data\\apv.LauLectrik.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\apv\\LauLectrik.data\\apv.LauLectrik.zip (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5751.0, + "scores": [ + 2852.0, + 2899.0 + ], + "selected": "apv.LauLectrik 1.2" + }, + "completed_at": "2026-09-08T20:33:13Z", + "delta_pct": 1.8, + "id": "379bc7ba025c9021", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.LauLectrik 1.2", + "division": "roborumble", + "jar": "apv.LauLectrik_1.2.jar", + "jar_sha256": "b9268644ac0983cc1feaef4d7052c796ba74e0da321887bdaf37da70725ff822", + "key": "roborumble/apv.LauLectrik_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 2, + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\apv.LauLectrik_1.2\\LauLectrik.data\\2.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\apv.LauLectrik_1.2-2\\LauLectrik.data\\1.zip (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5853.0, + "scores": [ + 3459.0, + 2394.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\apv\\LauLectrik.data\\apv.LauLectrik.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\apv\\LauLectrik.data\\apv.LauLectrik.zip (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5811.0, + "scores": [ + 3234.0, + 2577.0 + ], + "selected": "apv.LauLectrik 1.2" + }, + "completed_at": "2026-09-11T18:23:02Z", + "confirmation": null, + "delta_pct": -0.5, + "id": "2bc639b2fd4a5e1e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.LauLectrik 1.2", + "division": "roborumble", + "jar": "apv.LauLectrik_1.2.jar", + "jar_sha256": "b9268644ac0983cc1feaef4d7052c796ba74e0da321887bdaf37da70725ff822", + "key": "roborumble/apv.LauLectrik_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\apv.LauLectrik_1.2\\LauLectrik.data\\2.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\apv.LauLectrik_1.2-2\\LauLectrik.data\\1.zip (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5784.0, + "scores": [ + 3023.0, + 2761.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apv.MicroAspid_1.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apv.MicroAspid 1.8", + "division": "roborumble", + "jar": "apv.MicroAspid_1.8.jar", + "jar_sha256": "2bbff478cfaca3f612e1bb707973c4a65a7be125ef016689f3cba9363f9147e6", + "key": "roborumble/apv.MicroAspid_1.8.jar", + "kind": "robot" + }, + "latest_observation": "dc28c73552e12030", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4316.0, + "scores": [ + 1971.0, + 2345.0 + ], + "selected": "apv.MicroAspid 1.8" + }, + "completed_at": "2026-09-08T20:33:36Z", + "delta_pct": -2.1, + "id": "683da02ff1de941a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.MicroAspid 1.8", + "division": "roborumble", + "jar": "apv.MicroAspid_1.8.jar", + "jar_sha256": "2bbff478cfaca3f612e1bb707973c4a65a7be125ef016689f3cba9363f9147e6", + "key": "roborumble/apv.MicroAspid_1.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4224.0, + "scores": [ + 2166.0, + 2058.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4563.0, + "scores": [ + 2448.0, + 2115.0 + ], + "selected": "apv.MicroAspid 1.8" + }, + "completed_at": "2026-09-11T18:23:25Z", + "confirmation": null, + "delta_pct": -11.9, + "id": "dc28c73552e12030", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.MicroAspid 1.8", + "division": "roborumble", + "jar": "apv.MicroAspid_1.8.jar", + "jar_sha256": "2bbff478cfaca3f612e1bb707973c4a65a7be125ef016689f3cba9363f9147e6", + "key": "roborumble/apv.MicroAspid_1.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4020.0, + "scores": [ + 2022.0, + 1998.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apv.NanoLauLectrikTheCannibal_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apv.NanoLauLectrikTheCannibal 1.1", + "division": "roborumble", + "jar": "apv.NanoLauLectrikTheCannibal_1.1.jar", + "jar_sha256": "de413e324848ddca35723cea47c4ed4e23c46b669d4fbfe97ceac6d2c93c1fc8", + "key": "roborumble/apv.NanoLauLectrikTheCannibal_1.1.jar", + "kind": "robot" + }, + "latest_observation": "d4d54a7f0c4cca1f", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 13019.0, + "scores": [ + 6404.0, + 6615.0 + ], + "selected": "apv.NanoLauLectrikTheCannibal 1.1" + }, + "completed_at": "2026-09-08T20:34:11Z", + "delta_pct": -6.0, + "id": "15a460cbb677c889", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.NanoLauLectrikTheCannibal 1.1", + "division": "roborumble", + "jar": "apv.NanoLauLectrikTheCannibal_1.1.jar", + "jar_sha256": "de413e324848ddca35723cea47c4ed4e23c46b669d4fbfe97ceac6d2c93c1fc8", + "key": "roborumble/apv.NanoLauLectrikTheCannibal_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12236.0, + "scores": [ + 6201.0, + 6035.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13135.0, + "scores": [ + 6580.0, + 6555.0 + ], + "selected": "apv.NanoLauLectrikTheCannibal 1.1" + }, + "completed_at": "2026-09-11T18:24:02Z", + "confirmation": null, + "delta_pct": -1.7, + "id": "d4d54a7f0c4cca1f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.NanoLauLectrikTheCannibal 1.1", + "division": "roborumble", + "jar": "apv.NanoLauLectrikTheCannibal_1.1.jar", + "jar_sha256": "de413e324848ddca35723cea47c4ed4e23c46b669d4fbfe97ceac6d2c93c1fc8", + "key": "roborumble/apv.NanoLauLectrikTheCannibal_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12910.0, + "scores": [ + 6615.0, + 6295.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apv.NanoLauLectrik_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apv.NanoLauLectrik 1.0", + "division": "roborumble", + "jar": "apv.NanoLauLectrik_1.0.jar", + "jar_sha256": "4500794fdf2577950dd3981cdb314b4f750e1bfa66133dcdf546fa0203ee868d", + "key": "roborumble/apv.NanoLauLectrik_1.0.jar", + "kind": "robot" + }, + "latest_observation": "e99e4ba1fc2f5b9d", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5376.0, + "scores": [ + 2551.0, + 2825.0 + ], + "selected": "apv.NanoLauLectrik 1.0" + }, + "completed_at": "2026-09-08T20:33:57Z", + "delta_pct": -14.2, + "id": "1aa9b09bc500fd4b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.NanoLauLectrik 1.0", + "division": "roborumble", + "jar": "apv.NanoLauLectrik_1.0.jar", + "jar_sha256": "4500794fdf2577950dd3981cdb314b4f750e1bfa66133dcdf546fa0203ee868d", + "key": "roborumble/apv.NanoLauLectrik_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4612.0, + "scores": [ + 2974.0, + 1638.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5309.0, + "scores": [ + 1961.0, + 3348.0 + ], + "selected": "apv.NanoLauLectrik 1.0" + }, + "completed_at": "2026-09-11T18:23:47Z", + "confirmation": null, + "delta_pct": -11.9, + "id": "e99e4ba1fc2f5b9d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.NanoLauLectrik 1.0", + "division": "roborumble", + "jar": "apv.NanoLauLectrik_1.0.jar", + "jar_sha256": "4500794fdf2577950dd3981cdb314b4f750e1bfa66133dcdf546fa0203ee868d", + "key": "roborumble/apv.NanoLauLectrik_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4677.0, + "scores": [ + 2432.0, + 2245.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apv.ScruchiPu_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apv.ScruchiPu 1.0", + "division": "roborumble", + "jar": "apv.ScruchiPu_1.0.jar", + "jar_sha256": "dcefa76d1e2eb841349fe2dce3a84218c99c08dba3eb6ecc5a34b933e00096bc", + "key": "roborumble/apv.ScruchiPu_1.0.jar", + "kind": "robot" + }, + "latest_observation": "9d310b4632590234", + "observations": [ + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5327.0, + "scores": [ + 2914.0, + 2413.0 + ], + "selected": "apv.ScruchiPu 1.0" + }, + "completed_at": "2026-09-08T20:34:32Z", + "delta_pct": -12.5, + "id": "d749a519d41481d5", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.ScruchiPu 1.0", + "division": "roborumble", + "jar": "apv.ScruchiPu_1.0.jar", + "jar_sha256": "dcefa76d1e2eb841349fe2dce3a84218c99c08dba3eb6ecc5a34b933e00096bc", + "key": "roborumble/apv.ScruchiPu_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4661.0, + "scores": [ + 2585.0, + 2076.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5680.0, + "scores": [ + 3318.0, + 2362.0 + ], + "selected": "apv.ScruchiPu 1.0" + }, + "completed_at": "2026-09-11T18:24:25Z", + "confirmation": null, + "delta_pct": -15.6, + "id": "9d310b4632590234", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.ScruchiPu 1.0", + "division": "roborumble", + "jar": "apv.ScruchiPu_1.0.jar", + "jar_sha256": "dcefa76d1e2eb841349fe2dce3a84218c99c08dba3eb6ecc5a34b933e00096bc", + "key": "roborumble/apv.ScruchiPu_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4793.0, + "scores": [ + 2724.0, + 2069.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apv.TheBrainPi_0.5fix.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apv.TheBrainPi 0.5fix", + "division": "roborumble", + "jar": "apv.TheBrainPi_0.5fix.jar", + "jar_sha256": "6414ce843145505046bfdb9c4cba00b486ebdead9767c9d3d1fb3b245746746e", + "key": "roborumble/apv.TheBrainPi_0.5fix.jar", + "kind": "robot" + }, + "latest_observation": "08e656dab9c01ad6", + "observations": [ + { + "classic": { + "elapsed": 4.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5321.0, + "scores": [ + 2586.0, + 2735.0 + ], + "selected": "apv.TheBrainPi 0.5fix" + }, + "completed_at": "2026-09-08T20:35:24Z", + "delta_pct": -4.0, + "id": "0b26bcefd7d92f4f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.TheBrainPi 0.5fix", + "division": "roborumble", + "jar": "apv.TheBrainPi_0.5fix.jar", + "jar_sha256": "6414ce843145505046bfdb9c4cba00b486ebdead9767c9d3d1fb3b245746746e", + "key": "roborumble/apv.TheBrainPi_0.5fix.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5107.0, + "scores": [ + 2939.0, + 2168.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5753.0, + "scores": [ + 2892.0, + 2861.0 + ], + "selected": "apv.TheBrainPi 0.5fix" + }, + "completed_at": "2026-09-11T18:25:17Z", + "confirmation": null, + "delta_pct": -1.3, + "id": "08e656dab9c01ad6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.TheBrainPi 0.5fix", + "division": "roborumble", + "jar": "apv.TheBrainPi_0.5fix.jar", + "jar_sha256": "6414ce843145505046bfdb9c4cba00b486ebdead9767c9d3d1fb3b245746746e", + "key": "roborumble/apv.TheBrainPi_0.5fix.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5676.0, + "scores": [ + 3259.0, + 2417.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/apv.test.Virus_0.6.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "apv.test.Virus 0.6.1", + "division": "roborumble", + "jar": "apv.test.Virus_0.6.1.jar", + "jar_sha256": "d6ce0ae230281fd974d6326c1e80fe53714bdbe20a09511911e81efed040f798", + "key": "roborumble/apv.test.Virus_0.6.1.jar", + "kind": "robot" + }, + "latest_observation": "8f66f63fe3488646", + "observations": [ + { + "classic": { + "elapsed": 6.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4347.0, + "scores": [ + 2153.0, + 2194.0 + ], + "selected": "apv.test.Virus 0.6.1" + }, + "completed_at": "2026-09-08T20:35:03Z", + "delta_pct": 3.5, + "id": "fb63ed9dcd64d83b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.test.Virus 0.6.1", + "division": "roborumble", + "jar": "apv.test.Virus_0.6.1.jar", + "jar_sha256": "d6ce0ae230281fd974d6326c1e80fe53714bdbe20a09511911e81efed040f798", + "key": "roborumble/apv.test.Virus_0.6.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 24.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4498.0, + "scores": [ + 2685.0, + 1813.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4395.0, + "scores": [ + 2481.0, + 1914.0 + ], + "selected": "apv.test.Virus 0.6.1" + }, + "completed_at": "2026-09-11T18:24:56Z", + "confirmation": null, + "delta_pct": 2.3, + "id": "8f66f63fe3488646", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "apv.test.Virus 0.6.1", + "division": "roborumble", + "jar": "apv.test.Virus_0.6.1.jar", + "jar_sha256": "d6ce0ae230281fd974d6326c1e80fe53714bdbe20a09511911e81efed040f798", + "key": "roborumble/apv.test.Virus_0.6.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4497.0, + "scores": [ + 2458.0, + 2039.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ar.QuantumChromodynamics_1.2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ar.QuantumChromodynamics 1.2.1", + "division": "roborumble", + "jar": "ar.QuantumChromodynamics_1.2.1.jar", + "jar_sha256": "fe5372baa66f5f4fe5c138baa674c7b38c4548e200b9cc878ae7a78a0d3d95d7", + "key": "roborumble/ar.QuantumChromodynamics_1.2.1.jar", + "kind": "robot" + }, + "latest_observation": "5a42afc5493f80c3", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5392.0, + "scores": [ + 2523.0, + 2869.0 + ], + "selected": "ar.QuantumChromodynamics 1.2.1" + }, + "completed_at": "2026-09-08T20:36:18Z", + "delta_pct": -5.3, + "id": "4ac5fb2477202c50", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ar.QuantumChromodynamics 1.2.1", + "division": "roborumble", + "jar": "ar.QuantumChromodynamics_1.2.1.jar", + "jar_sha256": "fe5372baa66f5f4fe5c138baa674c7b38c4548e200b9cc878ae7a78a0d3d95d7", + "key": "roborumble/ar.QuantumChromodynamics_1.2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5106.0, + "scores": [ + 2925.0, + 2181.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5426.0, + "scores": [ + 2324.0, + 3102.0 + ], + "selected": "ar.QuantumChromodynamics 1.2.1" + }, + "completed_at": "2026-09-11T18:26:09Z", + "confirmation": null, + "delta_pct": -6.2, + "id": "5a42afc5493f80c3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ar.QuantumChromodynamics 1.2.1", + "division": "roborumble", + "jar": "ar.QuantumChromodynamics_1.2.1.jar", + "jar_sha256": "fe5372baa66f5f4fe5c138baa674c7b38c4548e200b9cc878ae7a78a0d3d95d7", + "key": "roborumble/ar.QuantumChromodynamics_1.2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5087.0, + "scores": [ + 3113.0, + 1974.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ar.TheoryOfEverything_1.2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ar.TheoryOfEverything 1.2.1", + "division": "roborumble", + "jar": "ar.TheoryOfEverything_1.2.1.jar", + "jar_sha256": "488629ee6595de0c24c69df967caa534dcc4359ace7708088dc544dfb98293b9", + "key": "roborumble/ar.TheoryOfEverything_1.2.1.jar", + "kind": "robot" + }, + "latest_observation": "dfa914ac6eb69f9a", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5861.0, + "scores": [ + 3122.0, + 2739.0 + ], + "selected": "ar.TheoryOfEverything 1.2.1" + }, + "completed_at": "2026-09-08T20:36:37Z", + "delta_pct": -6.5, + "id": "9ace621bf12f4172", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ar.TheoryOfEverything 1.2.1", + "division": "roborumble", + "jar": "ar.TheoryOfEverything_1.2.1.jar", + "jar_sha256": "488629ee6595de0c24c69df967caa534dcc4359ace7708088dc544dfb98293b9", + "key": "roborumble/ar.TheoryOfEverything_1.2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5482.0, + "scores": [ + 2950.0, + 2532.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6073.0, + "scores": [ + 3223.0, + 2850.0 + ], + "selected": "ar.TheoryOfEverything 1.2.1" + }, + "completed_at": "2026-09-11T18:26:30Z", + "confirmation": null, + "delta_pct": -6.8, + "id": "dfa914ac6eb69f9a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ar.TheoryOfEverything 1.2.1", + "division": "roborumble", + "jar": "ar.TheoryOfEverything_1.2.1.jar", + "jar_sha256": "488629ee6595de0c24c69df967caa534dcc4359ace7708088dc544dfb98293b9", + "key": "roborumble/ar.TheoryOfEverything_1.2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5659.0, + "scores": [ + 3014.0, + 2645.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ar.horizon.Horizon_1.2.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ar.horizon.Horizon 1.2.2", + "division": "roborumble", + "jar": "ar.horizon.Horizon_1.2.2.jar", + "jar_sha256": "2d8dee69f687581106100d53b46cea3571ed70c88e9d8601b69c48f850c20a70", + "key": "roborumble/ar.horizon.Horizon_1.2.2.jar", + "kind": "robot" + }, + "latest_observation": "65fd65676bd7db2f", + "observations": [ + { + "classic": { + "elapsed": 12.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4866.0, + "scores": [ + 2623.0, + 2243.0 + ], + "selected": "ar.horizon.Horizon 1.2.2" + }, + "completed_at": "2026-09-08T20:36:01Z", + "delta_pct": -63.3, + "id": "97286a0cb62861a8", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ar.horizon.Horizon 1.2.2", + "division": "roborumble", + "jar": "ar.horizon.Horizon_1.2.2.jar", + "jar_sha256": "2d8dee69f687581106100d53b46cea3571ed70c88e9d8601b69c48f850c20a70", + "key": "roborumble/ar.horizon.Horizon_1.2.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 24.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 1784.0, + "scores": [ + 1084.0, + 700.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 13.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4582.0, + "scores": [ + 2259.0, + 2323.0 + ], + "selected": "ar.horizon.Horizon 1.2.2" + }, + "completed_at": "2026-09-11T18:25:48Z", + "confirmation": null, + "delta_pct": null, + "id": "c2c7049ebf260676", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ar.horizon.Horizon 1.2.2", + "division": "roborumble", + "jar": "ar.horizon.Horizon_1.2.2.jar", + "jar_sha256": "2d8dee69f687581106100d53b46cea3571ed70c88e9d8601b69c48f850c20a70", + "key": "roborumble/ar.horizon.Horizon_1.2.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "ar.horizon.components.movement.SolarWindMovement.addWave" + ] + ], + "elapsed": 18.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "ar.horizon.components.movement.SolarWindMovement.addWave" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"ar.horizon.util.RobotRecording.getRoundTime()\" because \"myPastRecording\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 12.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4680.0, + "scores": [ + 2131.0, + 2549.0 + ], + "selected": "ar.horizon.Horizon 1.2.2" + }, + "completed_at": "2026-09-28T20:19:29Z", + "confirmation": null, + "delta_pct": -65.2, + "id": "65fd65676bd7db2f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ar.horizon.Horizon 1.2.2", + "division": "roborumble", + "jar": "ar.horizon.Horizon_1.2.2.jar", + "jar_sha256": "2d8dee69f687581106100d53b46cea3571ed70c88e9d8601b69c48f850c20a70", + "key": "roborumble/ar.horizon.Horizon_1.2.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1627.0, + "scores": [ + 1047.0, + 580.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ara.Shera_0.88.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ara.Shera 0.88", + "division": "roborumble", + "jar": "ara.Shera_0.88.jar", + "jar_sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040", + "key": "roborumble/ara.Shera_0.88.jar", + "kind": "robot" + }, + "latest_observation": "e29ee3195aab9bde", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4900.0, + "scores": [ + 2860.0, + 2040.0 + ], + "selected": "ara.Shera 0.88" + }, + "completed_at": "2026-09-08T20:37:14Z", + "delta_pct": 13.7, + "id": "b32a6997ff56c9af", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ara.Shera 0.88", + "division": "roborumble", + "jar": "ara.Shera_0.88.jar", + "jar_sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040", + "key": "roborumble/ara.Shera_0.88.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 34.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5570.0, + "scores": [ + 2985.0, + 2585.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4985.0, + "scores": [ + 2254.0, + 2731.0 + ], + "selected": "ara.Shera 0.88" + }, + "completed_at": "2026-09-11T18:27:15Z", + "confirmation": null, + "delta_pct": 0.0, + "id": "e29ee3195aab9bde", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ara.Shera 0.88", + "division": "roborumble", + "jar": "ara.Shera_0.88.jar", + "jar_sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040", + "key": "roborumble/ara.Shera_0.88.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4985.0, + "scores": [ + 2660.0, + 2325.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/areb.Union_1.06.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "areb.Union 1.06", + "division": "roborumble", + "jar": "areb.Union_1.06.jar", + "jar_sha256": "98ee4d7e04fbf9b6ae81c712f6e1b3090d76f1ba36ef84b80d16c82ddf830f1d", + "key": "roborumble/areb.Union_1.06.jar", + "kind": "robot" + }, + "latest_observation": "2f50bd8d2633f8ee", + "observations": [ + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5803.0, + "scores": [ + 3072.0, + 2731.0 + ], + "selected": "areb.Union 1.06" + }, + "completed_at": "2026-09-08T20:38:24Z", + "delta_pct": -16.2, + "id": "e533066dda10e17a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "areb.Union 1.06", + "division": "roborumble", + "jar": "areb.Union_1.06.jar", + "jar_sha256": "98ee4d7e04fbf9b6ae81c712f6e1b3090d76f1ba36ef84b80d16c82ddf830f1d", + "key": "roborumble/areb.Union_1.06.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 32.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4862.0, + "scores": [ + 2516.0, + 2346.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5955.0, + "scores": [ + 2925.0, + 3030.0 + ], + "selected": "areb.Union 1.06" + }, + "completed_at": "2026-09-11T18:28:31Z", + "confirmation": null, + "delta_pct": -17.6, + "id": "2f50bd8d2633f8ee", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "areb.Union 1.06", + "division": "roborumble", + "jar": "areb.Union_1.06.jar", + "jar_sha256": "98ee4d7e04fbf9b6ae81c712f6e1b3090d76f1ba36ef84b80d16c82ddf830f1d", + "key": "roborumble/areb.Union_1.06.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4907.0, + "scores": [ + 2564.0, + 2343.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/arthord.KostyaTszyu_Beta2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "arthord.KostyaTszyu Beta2", + "division": "roborumble", + "jar": "arthord.KostyaTszyu_Beta2.jar", + "jar_sha256": "c4aff289b00bc68748dde4f18aff699b9ef22eceeb1e529ea086be5a61cccc4d", + "key": "roborumble/arthord.KostyaTszyu_Beta2.jar", + "kind": "robot" + }, + "latest_observation": "7f550a50c453aa2f", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4899.0, + "scores": [ + 2615.0, + 2284.0 + ], + "selected": "arthord.KostyaTszyu Beta2" + }, + "completed_at": "2026-09-08T20:38:45Z", + "delta_pct": -33.0, + "id": "36f054afe6dfd556", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.KostyaTszyu Beta2", + "division": "roborumble", + "jar": "arthord.KostyaTszyu_Beta2.jar", + "jar_sha256": "c4aff289b00bc68748dde4f18aff699b9ef22eceeb1e529ea086be5a61cccc4d", + "key": "roborumble/arthord.KostyaTszyu_Beta2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3282.0, + "scores": [ + 2664.0, + 618.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4448.0, + "scores": [ + 1948.0, + 2500.0 + ], + "selected": "arthord.KostyaTszyu Beta2" + }, + "completed_at": "2026-09-11T18:28:54Z", + "confirmation": null, + "delta_pct": -16.3, + "id": "7f550a50c453aa2f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.KostyaTszyu Beta2", + "division": "roborumble", + "jar": "arthord.KostyaTszyu_Beta2.jar", + "jar_sha256": "c4aff289b00bc68748dde4f18aff699b9ef22eceeb1e529ea086be5a61cccc4d", + "key": "roborumble/arthord.KostyaTszyu_Beta2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3724.0, + "scores": [ + 1883.0, + 1841.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/arthord.NanoSatanMelee_Beta.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "arthord.NanoSatanMelee Beta", + "division": "roborumble", + "jar": "arthord.NanoSatanMelee_Beta.jar", + "jar_sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe", + "key": "roborumble/arthord.NanoSatanMelee_Beta.jar", + "kind": "robot" + }, + "latest_observation": "30a57ba1dde53f1c", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6700.0, + "scores": [ + 3438.0, + 3262.0 + ], + "selected": "arthord.NanoSatanMelee Beta" + }, + "completed_at": "2026-09-08T20:39:55Z", + "delta_pct": 5.6, + "id": "aee831eb589eb863", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.NanoSatanMelee Beta", + "division": "roborumble", + "jar": "arthord.NanoSatanMelee_Beta.jar", + "jar_sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe", + "key": "roborumble/arthord.NanoSatanMelee_Beta.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7076.0, + "scores": [ + 3811.0, + 3265.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6227.0, + "scores": [ + 3249.0, + 2978.0 + ], + "selected": "arthord.NanoSatanMelee Beta" + }, + "completed_at": "2026-09-11T18:30:13Z", + "confirmation": null, + "delta_pct": 14.1, + "id": "30a57ba1dde53f1c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.NanoSatanMelee Beta", + "division": "roborumble", + "jar": "arthord.NanoSatanMelee_Beta.jar", + "jar_sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe", + "key": "roborumble/arthord.NanoSatanMelee_Beta.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7103.0, + "scores": [ + 3844.0, + 3259.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/arthord.NanoSatan_Mu.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "arthord.NanoSatan Mu", + "division": "roborumble", + "jar": "arthord.NanoSatan_Mu.jar", + "jar_sha256": "a4796a1447ea7a3d8268dff283375e5188089afb88d66a62e14de9346a32e5fb", + "key": "roborumble/arthord.NanoSatan_Mu.jar", + "kind": "robot" + }, + "latest_observation": "98d37c469c94e71c", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4802.0, + "scores": [ + 2054.0, + 2748.0 + ], + "selected": "arthord.NanoSatan Mu" + }, + "completed_at": "2026-09-08T20:39:38Z", + "delta_pct": -10.2, + "id": "cb4397fbdd3591a9", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.NanoSatan Mu", + "division": "roborumble", + "jar": "arthord.NanoSatan_Mu.jar", + "jar_sha256": "a4796a1447ea7a3d8268dff283375e5188089afb88d66a62e14de9346a32e5fb", + "key": "roborumble/arthord.NanoSatan_Mu.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4310.0, + "scores": [ + 2214.0, + 2096.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5325.0, + "scores": [ + 2243.0, + 3082.0 + ], + "selected": "arthord.NanoSatan Mu" + }, + "completed_at": "2026-09-11T18:29:55Z", + "confirmation": null, + "delta_pct": -21.2, + "id": "98d37c469c94e71c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.NanoSatan Mu", + "division": "roborumble", + "jar": "arthord.NanoSatan_Mu.jar", + "jar_sha256": "a4796a1447ea7a3d8268dff283375e5188089afb88d66a62e14de9346a32e5fb", + "key": "roborumble/arthord.NanoSatan_Mu.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4196.0, + "scores": [ + 2275.0, + 1921.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/arthord.micro.Apoptygma_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "arthord.micro.Apoptygma 0.4", + "division": "roborumble", + "jar": "arthord.micro.Apoptygma_0.4.jar", + "jar_sha256": "d07f93659bb20a2980e452dad383dbe0e1333144918cabf313423bc19dba8509", + "key": "roborumble/arthord.micro.Apoptygma_0.4.jar", + "kind": "robot" + }, + "latest_observation": "fcb58e94a0c3caa6", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5399.0, + "scores": [ + 2673.0, + 2726.0 + ], + "selected": "arthord.micro.Apoptygma 0.4" + }, + "completed_at": "2026-09-08T20:39:02Z", + "delta_pct": -24.5, + "id": "3c369261b2915cd0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.micro.Apoptygma 0.4", + "division": "roborumble", + "jar": "arthord.micro.Apoptygma_0.4.jar", + "jar_sha256": "d07f93659bb20a2980e452dad383dbe0e1333144918cabf313423bc19dba8509", + "key": "roborumble/arthord.micro.Apoptygma_0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4076.0, + "scores": [ + 2054.0, + 2022.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5164.0, + "scores": [ + 2751.0, + 2413.0 + ], + "selected": "arthord.micro.Apoptygma 0.4" + }, + "completed_at": "2026-09-11T18:29:13Z", + "confirmation": null, + "delta_pct": -17.4, + "id": "fcb58e94a0c3caa6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.micro.Apoptygma 0.4", + "division": "roborumble", + "jar": "arthord.micro.Apoptygma_0.4.jar", + "jar_sha256": "d07f93659bb20a2980e452dad383dbe0e1333144918cabf313423bc19dba8509", + "key": "roborumble/arthord.micro.Apoptygma_0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4265.0, + "scores": [ + 2313.0, + 1952.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/arthord.micro.Muffin_0.6.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "arthord.micro.Muffin 0.6.1", + "division": "roborumble", + "jar": "arthord.micro.Muffin_0.6.1.jar", + "jar_sha256": "a5b7c2fe230839a0452e06b8036ef3ed5ebbe771c75a67a00e6d9f6ffe547c6c", + "key": "roborumble/arthord.micro.Muffin_0.6.1.jar", + "kind": "robot" + }, + "latest_observation": "1c0e50209a64265e", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5820.0, + "scores": [ + 2568.0, + 3252.0 + ], + "selected": "arthord.micro.Muffin 0.6.1" + }, + "completed_at": "2026-09-08T20:39:19Z", + "delta_pct": -63.2, + "id": "a7b360b5da35fac2", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.micro.Muffin 0.6.1", + "division": "roborumble", + "jar": "arthord.micro.Muffin_0.6.1.jar", + "jar_sha256": "a5b7c2fe230839a0452e06b8036ef3ed5ebbe771c75a67a00e6d9f6ffe547c6c", + "key": "roborumble/arthord.micro.Muffin_0.6.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2140.0, + "scores": [ + 1415.0, + 725.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6124.0, + "scores": [ + 2672.0, + 3452.0 + ], + "selected": "arthord.micro.Muffin 0.6.1" + }, + "completed_at": "2026-09-11T18:29:33Z", + "confirmation": null, + "delta_pct": -72.0, + "id": "8fb3298c3a00ca19", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.micro.Muffin 0.6.1", + "division": "roborumble", + "jar": "arthord.micro.Muffin_0.6.1.jar", + "jar_sha256": "a5b7c2fe230839a0452e06b8036ef3ed5ebbe771c75a67a00e6d9f6ffe547c6c", + "key": "roborumble/arthord.micro.Muffin_0.6.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1716.0, + "scores": [ + 962.0, + 754.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5438.0, + "scores": [ + 2525.0, + 2913.0 + ], + "selected": "arthord.micro.Muffin 0.6.1" + }, + "completed_at": "2026-09-28T20:20:24Z", + "confirmation": null, + "delta_pct": -68.8, + "id": "1c0e50209a64265e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale-team-names\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "866722a87fe3360f1f049404c3d8361bf82e5b301461b932608a01f570e55c5e" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "f7ce2a389fa9b761eea1697a271c3247fddf321b9903001bb623d843be3a2e5e" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale-team-names\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "42d5228c37c826d6af148247e80f7ec3bd57ea9e17cd98d20409cc2a9dbbf040" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge-ch017\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "d911904596cde3bd9de9a83954c734973743b8e442e5e8b7d1b75b3a5dbeb08d" + } + }, + "bridge_commit": "3247751261967d31fc76659f12d093d375c06011", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "8dd449aceb640b754b239e5ec4d301ebf423756d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "arthord.micro.Muffin 0.6.1", + "division": "roborumble", + "jar": "arthord.micro.Muffin_0.6.1.jar", + "jar_sha256": "a5b7c2fe230839a0452e06b8036ef3ed5ebbe771c75a67a00e6d9f6ffe547c6c", + "key": "roborumble/arthord.micro.Muffin_0.6.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1697.0, + "scores": [ + 957.0, + 740.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ary.Crisis_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ary.Crisis 1.0", + "division": "roborumble", + "jar": "ary.Crisis_1.0.jar", + "jar_sha256": "ff0f375c270611bb30a788d6ea8d53c4237f0aef7e59138bdce5da97749b160e", + "key": "roborumble/ary.Crisis_1.0.jar", + "kind": "robot" + }, + "latest_observation": "49c18c2ef7546001", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5380.0, + "scores": [ + 2640.0, + 2740.0 + ], + "selected": "ary.Crisis 1.0" + }, + "completed_at": "2026-09-08T20:40:18Z", + "delta_pct": 0.7, + "id": "2728b67184ef42c0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.Crisis 1.0", + "division": "roborumble", + "jar": "ary.Crisis_1.0.jar", + "jar_sha256": "ff0f375c270611bb30a788d6ea8d53c4237f0aef7e59138bdce5da97749b160e", + "key": "roborumble/ary.Crisis_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5417.0, + "scores": [ + 3008.0, + 2409.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5231.0, + "scores": [ + 2871.0, + 2360.0 + ], + "selected": "ary.Crisis 1.0" + }, + "completed_at": "2026-09-11T18:30:45Z", + "confirmation": null, + "delta_pct": -8.3, + "id": "49c18c2ef7546001", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.Crisis 1.0", + "division": "roborumble", + "jar": "ary.Crisis_1.0.jar", + "jar_sha256": "ff0f375c270611bb30a788d6ea8d53c4237f0aef7e59138bdce5da97749b160e", + "key": "roborumble/ary.Crisis_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4795.0, + "scores": [ + 2472.0, + 2323.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ary.FourWD_1.3d.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ary.FourWD 1.3d", + "division": "roborumble", + "jar": "ary.FourWD_1.3d.jar", + "jar_sha256": "bfe8768af3401df35cf4d4ec8e3e1d47d779cc5dfc284b212fda3153dbd21537", + "key": "roborumble/ary.FourWD_1.3d.jar", + "kind": "robot" + }, + "latest_observation": "7b2b652b5bb199c0", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 67, + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException" + ], + "has_log": true, + "ok": true, + "score": 5331.0, + "scores": [ + 2389.0, + 2942.0 + ], + "selected": "ary.FourWD 1.3d" + }, + "completed_at": "2026-09-08T20:40:43Z", + "delta_pct": -40.4, + "id": "10b51506f52cd1be", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.FourWD 1.3d", + "division": "roborumble", + "jar": "ary.FourWD_1.3d.jar", + "jar_sha256": "bfe8768af3401df35cf4d4ec8e3e1d47d779cc5dfc284b212fda3153dbd21537", + "key": "roborumble/ary.FourWD_1.3d.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3178.0, + "scores": [ + 1891.0, + 1287.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 67, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "ary.FourWD.run" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException" + ], + "has_log": true, + "ok": true, + "score": 5390.0, + "scores": [ + 2458.0, + 2932.0 + ], + "selected": "ary.FourWD 1.3d" + }, + "completed_at": "2026-09-11T18:31:14Z", + "confirmation": null, + "delta_pct": -37.9, + "id": "7b2b652b5bb199c0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.FourWD 1.3d", + "division": "roborumble", + "jar": "ary.FourWD_1.3d.jar", + "jar_sha256": "bfe8768af3401df35cf4d4ec8e3e1d47d779cc5dfc284b212fda3153dbd21537", + "key": "roborumble/ary.FourWD_1.3d.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3348.0, + "scores": [ + 1761.0, + 1587.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/ary.Help_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ary.Help 1.0", + "division": "roborumble", + "jar": "ary.Help_1.0.jar", + "jar_sha256": "53b6ea8218bd5d68255505bee581a741a88511e58840a395b855ec8f69c2355d", + "key": "roborumble/ary.Help_1.0.jar", + "kind": "robot" + }, + "latest_observation": "3e13e72d5b4a27ae", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4834.0, + "scores": [ + 2430.0, + 2404.0 + ], + "selected": "ary.Help 1.0" + }, + "completed_at": "2026-09-08T20:41:13Z", + "delta_pct": -38.8, + "id": "a5fc6afd26a475b9", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.Help 1.0", + "division": "roborumble", + "jar": "ary.Help_1.0.jar", + "jar_sha256": "53b6ea8218bd5d68255505bee581a741a88511e58840a395b855ec8f69c2355d", + "key": "roborumble/ary.Help_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 26.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2960.0, + "scores": [ + 1618.0, + 1342.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5033.0, + "scores": [ + 2235.0, + 2798.0 + ], + "selected": "ary.Help 1.0" + }, + "completed_at": "2026-09-11T18:31:22Z", + "confirmation": null, + "delta_pct": null, + "id": "3e13e72d5b4a27ae", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.Help 1.0", + "division": "roborumble", + "jar": "ary.Help_1.0.jar", + "jar_sha256": "53b6ea8218bd5d68255505bee581a741a88511e58840a395b855ec8f69c2355d", + "key": "roborumble/ary.Help_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "ary.Help.onHitByBullet" + ] + ], + "elapsed": 4.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "ary.Help.onHitByBullet" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"ary.Help$Wave.distanceToPoint(java.awt.geom.Point2D$Double)\" because \"surfWave\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/ary.SMG_1.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ary.SMG 1.01", + "division": "roborumble", + "jar": "ary.SMG_1.01.jar", + "jar_sha256": "036caac2e9d5aefaec139d97b677ac1ffc9e41af7f0f19c09431a781d3bd00f7", + "key": "roborumble/ary.SMG_1.01.jar", + "kind": "robot" + }, + "latest_observation": "65f473a89338e12c", + "observations": [ + { + "classic": { + "elapsed": 5.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5205.0, + "scores": [ + 2298.0, + 2907.0 + ], + "selected": "ary.SMG 1.01" + }, + "completed_at": "2026-09-08T20:43:38Z", + "delta_pct": -63.2, + "id": "5df472261fca6166", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.SMG 1.01", + "division": "roborumble", + "jar": "ary.SMG_1.01.jar", + "jar_sha256": "036caac2e9d5aefaec139d97b677ac1ffc9e41af7f0f19c09431a781d3bd00f7", + "key": "roborumble/ary.SMG_1.01.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 1918.0, + "scores": [ + 1058.0, + 860.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5396.0, + "scores": [ + 2257.0, + 3139.0 + ], + "selected": "ary.SMG 1.01" + }, + "completed_at": "2026-09-11T18:34:06Z", + "confirmation": null, + "delta_pct": -24.9, + "id": "65f473a89338e12c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.SMG 1.01", + "division": "roborumble", + "jar": "ary.SMG_1.01.jar", + "jar_sha256": "036caac2e9d5aefaec139d97b677ac1ffc9e41af7f0f19c09431a781d3bd00f7", + "key": "roborumble/ary.SMG_1.01.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4052.0, + "scores": [ + 2193.0, + 1859.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ary.micro.Weak_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ary.micro.Weak 1.2", + "division": "roborumble", + "jar": "ary.micro.Weak_1.2.jar", + "jar_sha256": "0544bc89b923a2ff7c63dc5781c07703dc8c0053a78d5f4a058d3c49e0a03f33", + "key": "roborumble/ary.micro.Weak_1.2.jar", + "kind": "robot" + }, + "latest_observation": "d78349c330daf18b", + "observations": [ + { + "classic": { + "elapsed": 13.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5205.0, + "scores": [ + 2473.0, + 2732.0 + ], + "selected": "ary.micro.Weak 1.2" + }, + "completed_at": "2026-09-08T20:42:01Z", + "delta_pct": -4.6, + "id": "371017386f1da182", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.micro.Weak 1.2", + "division": "roborumble", + "jar": "ary.micro.Weak_1.2.jar", + "jar_sha256": "0544bc89b923a2ff7c63dc5781c07703dc8c0053a78d5f4a058d3c49e0a03f33", + "key": "roborumble/ary.micro.Weak_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 34.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4965.0, + "scores": [ + 2509.0, + 2456.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 12.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5630.0, + "scores": [ + 2629.0, + 3001.0 + ], + "selected": "ary.micro.Weak 1.2" + }, + "completed_at": "2026-09-11T18:32:26Z", + "confirmation": null, + "delta_pct": -10.0, + "id": "d78349c330daf18b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.micro.Weak 1.2", + "division": "roborumble", + "jar": "ary.micro.Weak_1.2.jar", + "jar_sha256": "0544bc89b923a2ff7c63dc5781c07703dc8c0053a78d5f4a058d3c49e0a03f33", + "key": "roborumble/ary.micro.Weak_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5069.0, + "scores": [ + 2669.0, + 2400.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ary.mini.Nimi_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ary.mini.Nimi 1.0", + "division": "roborumble", + "jar": "ary.mini.Nimi_1.0.jar", + "jar_sha256": "36bee330a80f2f3914bf93c24b5a0df11ad64530f588b05c06a68fff920c1ed0", + "key": "roborumble/ary.mini.Nimi_1.0.jar", + "kind": "robot" + }, + "latest_observation": "4966fdf0a4ba6ee7", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5247.0, + "scores": [ + 2277.0, + 2970.0 + ], + "selected": "ary.mini.Nimi 1.0" + }, + "completed_at": "2026-09-08T20:42:33Z", + "delta_pct": -31.2, + "id": "e0d8d0f6f8806455", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.mini.Nimi 1.0", + "division": "roborumble", + "jar": "ary.mini.Nimi_1.0.jar", + "jar_sha256": "36bee330a80f2f3914bf93c24b5a0df11ad64530f588b05c06a68fff920c1ed0", + "key": "roborumble/ary.mini.Nimi_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 28.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3608.0, + "scores": [ + 1844.0, + 1764.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4951.0, + "scores": [ + 2861.0, + 2090.0 + ], + "selected": "ary.mini.Nimi 1.0" + }, + "completed_at": "2026-09-11T18:32:59Z", + "confirmation": null, + "delta_pct": -21.9, + "id": "4966fdf0a4ba6ee7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.mini.Nimi 1.0", + "division": "roborumble", + "jar": "ary.mini.Nimi_1.0.jar", + "jar_sha256": "36bee330a80f2f3914bf93c24b5a0df11ad64530f588b05c06a68fff920c1ed0", + "key": "roborumble/ary.mini.Nimi_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3865.0, + "scores": [ + 1976.0, + 1889.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ary.nano.AceSurf_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ary.nano.AceSurf 1.2", + "division": "roborumble", + "jar": "ary.nano.AceSurf_1.2.jar", + "jar_sha256": "2d693c09246861c6b044d534aa1b5b463f5eb869f00a88afd9f30a21472e7a1d", + "key": "roborumble/ary.nano.AceSurf_1.2.jar", + "kind": "robot" + }, + "latest_observation": "b559364dc3bed001", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2521.0, + "scores": [ + 1376.0, + 1145.0 + ], + "selected": "ary.nano.AceSurf 1.2" + }, + "completed_at": "2026-09-08T20:42:54Z", + "delta_pct": 38.1, + "id": "bd77f78dc4f9642f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.nano.AceSurf 1.2", + "division": "roborumble", + "jar": "ary.nano.AceSurf_1.2.jar", + "jar_sha256": "2d693c09246861c6b044d534aa1b5b463f5eb869f00a88afd9f30a21472e7a1d", + "key": "roborumble/ary.nano.AceSurf_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3481.0, + "scores": [ + 1797.0, + 1684.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2937.0, + "scores": [ + 1624.0, + 1313.0 + ], + "selected": "ary.nano.AceSurf 1.2" + }, + "completed_at": "2026-09-11T18:33:20Z", + "confirmation": null, + "delta_pct": 3.7, + "id": "b559364dc3bed001", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.nano.AceSurf 1.2", + "division": "roborumble", + "jar": "ary.nano.AceSurf_1.2.jar", + "jar_sha256": "2d693c09246861c6b044d534aa1b5b463f5eb869f00a88afd9f30a21472e7a1d", + "key": "roborumble/ary.nano.AceSurf_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3046.0, + "scores": [ + 1642.0, + 1404.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ary.nano.ColorNanoP_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ary.nano.ColorNanoP 1.1", + "division": "roborumble", + "jar": "ary.nano.ColorNanoP_1.1.jar", + "jar_sha256": "f1b339cda45f96f9c73a4a2ef286d7e6d6d837dcc92d140f5615b9b57421a3e8", + "key": "roborumble/ary.nano.ColorNanoP_1.1.jar", + "kind": "robot" + }, + "latest_observation": "4191bf3cb5bc4b66", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7699.0, + "scores": [ + 3670.0, + 4029.0 + ], + "selected": "ary.nano.ColorNanoP 1.1" + }, + "completed_at": "2026-09-08T20:43:11Z", + "delta_pct": -12.4, + "id": "7c40044d94ec9a01", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.nano.ColorNanoP 1.1", + "division": "roborumble", + "jar": "ary.nano.ColorNanoP_1.1.jar", + "jar_sha256": "f1b339cda45f96f9c73a4a2ef286d7e6d6d837dcc92d140f5615b9b57421a3e8", + "key": "roborumble/ary.nano.ColorNanoP_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6744.0, + "scores": [ + 3377.0, + 3367.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7633.0, + "scores": [ + 3752.0, + 3881.0 + ], + "selected": "ary.nano.ColorNanoP 1.1" + }, + "completed_at": "2026-09-11T18:33:37Z", + "confirmation": null, + "delta_pct": -6.1, + "id": "4191bf3cb5bc4b66", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ary.nano.ColorNanoP 1.1", + "division": "roborumble", + "jar": "ary.nano.ColorNanoP_1.1.jar", + "jar_sha256": "f1b339cda45f96f9c73a4a2ef286d7e6d6d837dcc92d140f5615b9b57421a3e8", + "key": "roborumble/ary.nano.ColorNanoP_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7169.0, + "scores": [ + 4201.0, + 2968.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/as.xbots_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "as.xbots 1.0", + "division": "roborumble", + "jar": "as.xbots_1.0.jar", + "jar_sha256": "6adf1183af7ed3e4cccbaf35249fede5ffb8dc2101e49458106909cea95120cf", + "key": "roborumble/as.xbots_1.0.jar", + "kind": "robot" + }, + "latest_observation": "533a30f3b2272199", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10650.0, + "scores": [ + 5019.0, + 5631.0 + ], + "selected": "as.xbots 1.0" + }, + "completed_at": "2026-09-08T20:43:51Z", + "delta_pct": 54.8, + "id": "a84fbf62fb36b2a2", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "as.xbots 1.0", + "division": "roborumble", + "jar": "as.xbots_1.0.jar", + "jar_sha256": "6adf1183af7ed3e4cccbaf35249fede5ffb8dc2101e49458106909cea95120cf", + "key": "roborumble/as.xbots_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 10.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 16487.0, + "scores": [ + 8529.0, + 7958.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10589.0, + "scores": [ + 5364.0, + 5225.0 + ], + "selected": "as.xbots 1.0" + }, + "completed_at": "2026-09-11T18:34:19Z", + "confirmation": null, + "delta_pct": 53.8, + "id": "533a30f3b2272199", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "as.xbots 1.0", + "division": "roborumble", + "jar": "as.xbots_1.0.jar", + "jar_sha256": "6adf1183af7ed3e4cccbaf35249fede5ffb8dc2101e49458106909cea95120cf", + "key": "roborumble/as.xbots_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 16285.0, + "scores": [ + 8303.0, + 7982.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/asd.Cthulhu_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "asd.Cthulhu 1.2", + "division": "roborumble", + "jar": "asd.Cthulhu_1.2.jar", + "jar_sha256": "63459d2c15c8c2227ad40c9fe6f89b51e934abffcc10d49837874199767c060e", + "key": "roborumble/asd.Cthulhu_1.2.jar", + "kind": "robot" + }, + "latest_observation": "1d42acb3db0ccb77", + "observations": [ + { + "classic": { + "elapsed": 32.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6883.0, + "scores": [ + 3827.0, + 3056.0 + ], + "selected": "asd.Cthulhu 1.2" + }, + "completed_at": "2026-09-08T20:44:51Z", + "delta_pct": 2.3, + "id": "62a7416486d668ba", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "asd.Cthulhu 1.2", + "division": "roborumble", + "jar": "asd.Cthulhu_1.2.jar", + "jar_sha256": "63459d2c15c8c2227ad40c9fe6f89b51e934abffcc10d49837874199767c060e", + "key": "roborumble/asd.Cthulhu_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 28.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7044.0, + "scores": [ + 3534.0, + 3510.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 32.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7118.0, + "scores": [ + 3693.0, + 3425.0 + ], + "selected": "asd.Cthulhu 1.2" + }, + "completed_at": "2026-09-11T18:35:20Z", + "confirmation": null, + "delta_pct": -1.1, + "id": "1d42acb3db0ccb77", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "asd.Cthulhu 1.2", + "division": "roborumble", + "jar": "asd.Cthulhu_1.2.jar", + "jar_sha256": "63459d2c15c8c2227ad40c9fe6f89b51e934abffcc10d49837874199767c060e", + "key": "roborumble/asd.Cthulhu_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7039.0, + "scores": [ + 3526.0, + 3513.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/asm.Statistas_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "asm.Statistas 0.1", + "division": "roborumble", + "jar": "asm.Statistas_0.1.jar", + "jar_sha256": "35553b2c09fcebec047f79582cc5a274d6bcd6d0034c1e5175d545281c76d0e4", + "key": "roborumble/asm.Statistas_0.1.jar", + "kind": "robot" + }, + "latest_observation": "352c974a6d94c789", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4972.0, + "scores": [ + 2714.0, + 2258.0 + ], + "selected": "asm.Statistas 0.1" + }, + "completed_at": "2026-09-08T20:45:10Z", + "delta_pct": -5.1, + "id": "1f68932ec9132d3a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "asm.Statistas 0.1", + "division": "roborumble", + "jar": "asm.Statistas_0.1.jar", + "jar_sha256": "35553b2c09fcebec047f79582cc5a274d6bcd6d0034c1e5175d545281c76d0e4", + "key": "roborumble/asm.Statistas_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4717.0, + "scores": [ + 2396.0, + 2321.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5027.0, + "scores": [ + 2188.0, + 2839.0 + ], + "selected": "asm.Statistas 0.1" + }, + "completed_at": "2026-09-11T18:35:41Z", + "confirmation": null, + "delta_pct": -9.8, + "id": "352c974a6d94c789", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "asm.Statistas 0.1", + "division": "roborumble", + "jar": "asm.Statistas_0.1.jar", + "jar_sha256": "35553b2c09fcebec047f79582cc5a274d6bcd6d0034c1e5175d545281c76d0e4", + "key": "roborumble/asm.Statistas_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4532.0, + "scores": [ + 2500.0, + 2032.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/awl.Locutus_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "awl.Locutus 1.5", + "division": "roborumble", + "jar": "awl.Locutus_1.5.jar", + "jar_sha256": "c7f5c5cca58627f58db3c1590036255788fbaf333da16641ff0633c709ad0c2b", + "key": "roborumble/awl.Locutus_1.5.jar", + "kind": "robot" + }, + "latest_observation": "10f460339be51bf0", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6083.0, + "scores": [ + 2605.0, + 3478.0 + ], + "selected": "awl.Locutus 1.5" + }, + "completed_at": "2026-09-08T20:45:37Z", + "delta_pct": -16.0, + "id": "044a09527daed943", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "awl.Locutus 1.5", + "division": "roborumble", + "jar": "awl.Locutus_1.5.jar", + "jar_sha256": "c7f5c5cca58627f58db3c1590036255788fbaf333da16641ff0633c709ad0c2b", + "key": "roborumble/awl.Locutus_1.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 24.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5107.0, + "scores": [ + 3156.0, + 1951.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5415.0, + "scores": [ + 2613.0, + 2802.0 + ], + "selected": "awl.Locutus 1.5" + }, + "completed_at": "2026-09-11T18:36:12Z", + "confirmation": null, + "delta_pct": 4.0, + "id": "10f460339be51bf0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "awl.Locutus 1.5", + "division": "roborumble", + "jar": "awl.Locutus_1.5.jar", + "jar_sha256": "c7f5c5cca58627f58db3c1590036255788fbaf333da16641ff0633c709ad0c2b", + "key": "roborumble/awl.Locutus_1.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5633.0, + "scores": [ + 3131.0, + 2502.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/axeBots.HataMoto_3.09.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "axeBots.HataMoto 3.09", + "division": "roborumble", + "jar": "axeBots.HataMoto_3.09.jar", + "jar_sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c", + "key": "roborumble/axeBots.HataMoto_3.09.jar", + "kind": "robot" + }, + "latest_observation": "f9cf536953c45a91", + "observations": [ + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4777.0, + "scores": [ + 1548.0, + 3229.0 + ], + "selected": "axeBots.HataMoto 3.09" + }, + "completed_at": "2026-09-08T20:46:16Z", + "delta_pct": 5.3, + "id": "f3c9ed411fa769b7", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "axeBots.HataMoto 3.09", + "division": "roborumble", + "jar": "axeBots.HataMoto_3.09.jar", + "jar_sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c", + "key": "roborumble/axeBots.HataMoto_3.09.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 32.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5029.0, + "scores": [ + 2525.0, + 2504.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5165.0, + "scores": [ + 2916.0, + 2249.0 + ], + "selected": "axeBots.HataMoto 3.09" + }, + "completed_at": "2026-09-11T18:36:56Z", + "confirmation": null, + "delta_pct": -4.5, + "id": "f9cf536953c45a91", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "axeBots.HataMoto 3.09", + "division": "roborumble", + "jar": "axeBots.HataMoto_3.09.jar", + "jar_sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c", + "key": "roborumble/axeBots.HataMoto_3.09.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4930.0, + "scores": [ + 2721.0, + 2209.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/axeBots.Musashi_2.18.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "axeBots.Musashi 2.18", + "division": "roborumble", + "jar": "axeBots.Musashi_2.18.jar", + "jar_sha256": "f7890ddc132b5ae0595e1faa65464e79628bb5dda7a64f5e20e74cb3ee9d8707", + "key": "roborumble/axeBots.Musashi_2.18.jar", + "kind": "robot" + }, + "latest_observation": "40e7f2ea2300c8f4", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 2, + "errors": [ + "IOException trying to read: java.lang.NullPointerException: name can't be null", + "IOException trying to read: java.lang.NullPointerException: name can't be null" + ], + "has_log": true, + "ok": true, + "score": 5575.0, + "scores": [ + 2545.0, + 3030.0 + ], + "selected": "axeBots.Musashi 2.18" + }, + "completed_at": "2026-09-08T20:46:48Z", + "delta_pct": -5.5, + "id": "d96c381e473a9e9f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "axeBots.Musashi 2.18", + "division": "roborumble", + "jar": "axeBots.Musashi_2.18.jar", + "jar_sha256": "f7890ddc132b5ae0595e1faa65464e79628bb5dda7a64f5e20e74cb3ee9d8707", + "key": "roborumble/axeBots.Musashi_2.18.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 28.0, + "error_count": 2, + "errors": [ + "IOException trying to read: java.lang.NullPointerException: Cannot invoke \"java.io.File.isInvalid()\" because \"file\" is null", + "IOException trying to read: java.lang.NullPointerException: Cannot invoke \"java.io.File.isInvalid()\" because \"file\" is null" + ], + "has_log": true, + "ok": true, + "score": 5270.0, + "scores": [ + 2646.0, + 2624.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.8, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "IOException trying to read: java.lang.NullPointerException: name can't be null", + "IOException trying to read: java.lang.NullPointerException: name can't be null" + ], + "has_log": true, + "ok": true, + "score": 5110.0, + "scores": [ + 2558.0, + 2552.0 + ], + "selected": "axeBots.Musashi 2.18" + }, + "completed_at": "2026-09-11T18:37:33Z", + "confirmation": null, + "delta_pct": -0.4, + "id": "40e7f2ea2300c8f4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "axeBots.Musashi 2.18", + "division": "roborumble", + "jar": "axeBots.Musashi_2.18.jar", + "jar_sha256": "f7890ddc132b5ae0595e1faa65464e79628bb5dda7a64f5e20e74cb3ee9d8707", + "key": "roborumble/axeBots.Musashi_2.18.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "IOException trying to read: java.lang.NullPointerException: Cannot invoke \"java.io.File.isInvalid()\" because \"file\" is null", + "IOException trying to read: java.lang.NullPointerException: Cannot invoke \"java.io.File.isInvalid()\" because \"file\" is null" + ], + "has_log": true, + "ok": true, + "score": 5092.0, + "scores": [ + 2648.0, + 2444.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/axeBots.Okami_1.04.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "axeBots.Okami 1.04", + "division": "roborumble", + "jar": "axeBots.Okami_1.04.jar", + "jar_sha256": "608f42ae73765a352e9034e41f36af721cd745835a19a20f8fe7e8bbe3be30fa", + "key": "roborumble/axeBots.Okami_1.04.jar", + "kind": "robot" + }, + "latest_observation": "cf091ab89a700f92", + "observations": [ + { + "classic": { + "elapsed": 5.0, + "error_count": 2, + "errors": [ + "IOException trying to read: java.lang.NullPointerException: name can't be null", + "IOException trying to read: java.lang.NullPointerException: name can't be null" + ], + "has_log": true, + "ok": true, + "score": 5383.0, + "scores": [ + 2856.0, + 2527.0 + ], + "selected": "axeBots.Okami 1.04" + }, + "completed_at": "2026-09-08T20:47:22Z", + "delta_pct": -7.1, + "id": "74bce683db58a4ec", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "axeBots.Okami 1.04", + "division": "roborumble", + "jar": "axeBots.Okami_1.04.jar", + "jar_sha256": "608f42ae73765a352e9034e41f36af721cd745835a19a20f8fe7e8bbe3be30fa", + "key": "roborumble/axeBots.Okami_1.04.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 28.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4999.0, + "scores": [ + 3272.0, + 1727.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.8, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "IOException trying to read: java.lang.NullPointerException: name can't be null", + "IOException trying to read: java.lang.NullPointerException: name can't be null" + ], + "has_log": true, + "ok": true, + "score": 5311.0, + "scores": [ + 2960.0, + 2351.0 + ], + "selected": "axeBots.Okami 1.04" + }, + "completed_at": "2026-09-11T18:38:03Z", + "confirmation": null, + "delta_pct": -4.4, + "id": "cf091ab89a700f92", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "axeBots.Okami 1.04", + "division": "roborumble", + "jar": "axeBots.Okami_1.04.jar", + "jar_sha256": "608f42ae73765a352e9034e41f36af721cd745835a19a20f8fe7e8bbe3be30fa", + "key": "roborumble/axeBots.Okami_1.04.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5079.0, + "scores": [ + 2662.0, + 2417.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/axeBots.SilverSurfer_2.53.33fix.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "axeBots.SilverSurfer 2.53.33fix", + "division": "roborumble", + "jar": "axeBots.SilverSurfer_2.53.33fix.jar", + "jar_sha256": "d0b3667a0a9c38bc0cfdb5c47d7b68a8b73194fd88be12d6bee64fcfddb86add", + "key": "roborumble/axeBots.SilverSurfer_2.53.33fix.jar", + "kind": "robot" + }, + "latest_observation": "38162854ee54a334", + "observations": [ + { + "classic": { + "elapsed": 6.3, + "error_count": 2, + "errors": [ + "IOException, trying to read: java.io.InterruptedIOException: File not Found:axeBots.SilverSurfer 2.53.33fix (2).gfs", + "IOException, trying to read: java.io.InterruptedIOException: File not Found:axeBots.SilverSurfer 2.53.33fix (1).gfs" + ], + "has_log": true, + "ok": true, + "score": 5487.0, + "scores": [ + 3158.0, + 2329.0 + ], + "selected": "axeBots.SilverSurfer 2.53.33fix" + }, + "completed_at": "2026-09-08T20:47:52Z", + "delta_pct": -3.4, + "id": "9b6fc48236f56191", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "axeBots.SilverSurfer 2.53.33fix", + "division": "roborumble", + "jar": "axeBots.SilverSurfer_2.53.33fix.jar", + "jar_sha256": "d0b3667a0a9c38bc0cfdb5c47d7b68a8b73194fd88be12d6bee64fcfddb86add", + "key": "roborumble/axeBots.SilverSurfer_2.53.33fix.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 24.0, + "error_count": 2, + "errors": [ + "IOException, trying to read: java.io.InterruptedIOException: File not Found:2.gfs", + "IOException, trying to read: java.io.InterruptedIOException: File not Found:1.gfs" + ], + "has_log": true, + "ok": true, + "score": 5298.0, + "scores": [ + 2951.0, + 2347.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.InterruptedIOException", + "origin": "unknown" + } + ], + "errors": [ + "IOException, trying to read: java.io.InterruptedIOException: File not Found:axeBots.SilverSurfer 2.53.33fix (2).gfs", + "IOException, trying to read: java.io.InterruptedIOException: File not Found:axeBots.SilverSurfer 2.53.33fix (1).gfs" + ], + "has_log": true, + "ok": true, + "score": 5419.0, + "scores": [ + 2689.0, + 2730.0 + ], + "selected": "axeBots.SilverSurfer 2.53.33fix" + }, + "completed_at": "2026-09-11T18:38:35Z", + "confirmation": null, + "delta_pct": -3.2, + "id": "38162854ee54a334", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "axeBots.SilverSurfer 2.53.33fix", + "division": "roborumble", + "jar": "axeBots.SilverSurfer_2.53.33fix.jar", + "jar_sha256": "d0b3667a0a9c38bc0cfdb5c47d7b68a8b73194fd88be12d6bee64fcfddb86add", + "key": "roborumble/axeBots.SilverSurfer_2.53.33fix.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.InterruptedIOException", + "origin": "unknown" + } + ], + "errors": [ + "IOException, trying to read: java.io.InterruptedIOException: File not Found:2.gfs", + "IOException, trying to read: java.io.InterruptedIOException: File not Found:1.gfs" + ], + "has_log": true, + "ok": true, + "score": 5245.0, + "scores": [ + 2799.0, + 2446.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ayk.WallHugger_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ayk.WallHugger 1.0", + "division": "roborumble", + "jar": "ayk.WallHugger_1.0.jar", + "jar_sha256": "6a5eb97de641d4c81e3456da75997dbe50aa072eacf0cc79db2d212899979470", + "key": "roborumble/ayk.WallHugger_1.0.jar", + "kind": "robot" + }, + "latest_observation": "630f1c58f42bbb9d", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10066.0, + "scores": [ + 4868.0, + 5198.0 + ], + "selected": "ayk.WallHugger 1.0" + }, + "completed_at": "2026-09-08T20:48:09Z", + "delta_pct": -22.2, + "id": "7d779898eaf34726", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ayk.WallHugger 1.0", + "division": "roborumble", + "jar": "ayk.WallHugger_1.0.jar", + "jar_sha256": "6a5eb97de641d4c81e3456da75997dbe50aa072eacf0cc79db2d212899979470", + "key": "roborumble/ayk.WallHugger_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7835.0, + "scores": [ + 4757.0, + 3078.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10328.0, + "scores": [ + 5110.0, + 5218.0 + ], + "selected": "ayk.WallHugger 1.0" + }, + "completed_at": "2026-09-11T18:38:52Z", + "confirmation": null, + "delta_pct": -11.8, + "id": "630f1c58f42bbb9d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ayk.WallHugger 1.0", + "division": "roborumble", + "jar": "ayk.WallHugger_1.0.jar", + "jar_sha256": "6a5eb97de641d4c81e3456da75997dbe50aa072eacf0cc79db2d212899979470", + "key": "roborumble/ayk.WallHugger_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9105.0, + "scores": [ + 4896.0, + 4209.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/az.Ololobot_0.2.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "az.Ololobot 0.2.4", + "division": "roborumble", + "jar": "az.Ololobot_0.2.4.jar", + "jar_sha256": "b6938411c048bde80bf0186892f03342e0c60dff05127052ed21932825765eb9", + "key": "roborumble/az.Ololobot_0.2.4.jar", + "kind": "robot" + }, + "latest_observation": "90ed0c87e0e6d487", + "observations": [ + { + "classic": { + "elapsed": 17.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10091.0, + "scores": [ + 4636.0, + 5455.0 + ], + "selected": "az.Ololobot 0.2.4" + }, + "completed_at": "2026-09-08T20:48:31Z", + "delta_pct": null, + "id": "5cf402dd473c1227", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "az.Ololobot 0.2.4", + "division": "roborumble", + "jar": "az.Ololobot_0.2.4.jar", + "jar_sha256": "b6938411c048bde80bf0186892f03342e0c60dff05127052ed21932825765eb9", + "key": "roborumble/az.Ololobot_0.2.4.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 189, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 17.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9982.0, + "scores": [ + 4512.0, + 5470.0 + ], + "selected": "az.Ololobot 0.2.4" + }, + "completed_at": "2026-09-11T18:39:15Z", + "confirmation": null, + "delta_pct": null, + "id": "90ed0c87e0e6d487", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "az.Ololobot 0.2.4", + "division": "roborumble", + "jar": "az.Ololobot_0.2.4.jar", + "jar_sha256": "b6938411c048bde80bf0186892f03342e0c60dff05127052ed21932825765eb9", + "key": "roborumble/az.Ololobot_0.2.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "az.Ololobot.onScannedRobot" + ] + ], + "elapsed": 4.2, + "error_count": 139, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "az.Ololobot.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", + "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/banshee.micro.Nexus6_0.3.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "banshee.micro.Nexus6 0.3.0", + "division": "roborumble", + "jar": "banshee.micro.Nexus6_0.3.0.jar", + "jar_sha256": "e4cb9d96e7487b927a54b89221c2ee262ce514759f3960670b9aa95ff6dbaecc", + "key": "roborumble/banshee.micro.Nexus6_0.3.0.jar", + "kind": "robot" + }, + "latest_observation": "adcebd2fb3e2312d", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6536.0, + "scores": [ + 2916.0, + 3620.0 + ], + "selected": "banshee.micro.Nexus6 0.3.0" + }, + "completed_at": "2026-09-08T20:48:47Z", + "delta_pct": -13.0, + "id": "0cf456b6f9cb9978", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "banshee.micro.Nexus6 0.3.0", + "division": "roborumble", + "jar": "banshee.micro.Nexus6_0.3.0.jar", + "jar_sha256": "e4cb9d96e7487b927a54b89221c2ee262ce514759f3960670b9aa95ff6dbaecc", + "key": "roborumble/banshee.micro.Nexus6_0.3.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5689.0, + "scores": [ + 3295.0, + 2394.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6694.0, + "scores": [ + 3093.0, + 3601.0 + ], + "selected": "banshee.micro.Nexus6 0.3.0" + }, + "completed_at": "2026-09-11T18:39:32Z", + "confirmation": null, + "delta_pct": -13.2, + "id": "adcebd2fb3e2312d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "banshee.micro.Nexus6 0.3.0", + "division": "roborumble", + "jar": "banshee.micro.Nexus6_0.3.0.jar", + "jar_sha256": "e4cb9d96e7487b927a54b89221c2ee262ce514759f3960670b9aa95ff6dbaecc", + "key": "roborumble/banshee.micro.Nexus6_0.3.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5808.0, + "scores": [ + 3203.0, + 2605.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/banshee.mini.Nexus6_0.2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "banshee.mini.Nexus6 0.2.0", + "division": "roborumble", + "jar": "banshee.mini.Nexus6_0.2.0.jar", + "jar_sha256": "2bb08e1c59e732361dcdee3df148534bc0dabd9d8f14147c4a583c04f1dc7a42", + "key": "roborumble/banshee.mini.Nexus6_0.2.0.jar", + "kind": "robot" + }, + "latest_observation": "0cf3d7725dede5d5", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5731.0, + "scores": [ + 3179.0, + 2552.0 + ], + "selected": "banshee.mini.Nexus6 0.2.0" + }, + "completed_at": "2026-09-08T20:49:13Z", + "delta_pct": 2.7, + "id": "d4cda9b611b80d04", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "banshee.mini.Nexus6 0.2.0", + "division": "roborumble", + "jar": "banshee.mini.Nexus6_0.2.0.jar", + "jar_sha256": "2bb08e1c59e732361dcdee3df148534bc0dabd9d8f14147c4a583c04f1dc7a42", + "key": "roborumble/banshee.mini.Nexus6_0.2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5883.0, + "scores": [ + 3324.0, + 2559.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5422.0, + "scores": [ + 2212.0, + 3210.0 + ], + "selected": "banshee.mini.Nexus6 0.2.0" + }, + "completed_at": "2026-09-11T18:40:02Z", + "confirmation": null, + "delta_pct": 9.1, + "id": "0cf3d7725dede5d5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "banshee.mini.Nexus6 0.2.0", + "division": "roborumble", + "jar": "banshee.mini.Nexus6_0.2.0.jar", + "jar_sha256": "2bb08e1c59e732361dcdee3df148534bc0dabd9d8f14147c4a583c04f1dc7a42", + "key": "roborumble/banshee.mini.Nexus6_0.2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5914.0, + "scores": [ + 2959.0, + 2955.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/barontrozo.BaronTrozo_1.7.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "barontrozo.BaronTrozo 1.7.6", + "division": "roborumble", + "jar": "barontrozo.BaronTrozo_1.7.6.jar", + "jar_sha256": "0031d364bd6cc01f74c537d9c88be09c53d7fd11999aa586480d010a77a37f3c", + "key": "roborumble/barontrozo.BaronTrozo_1.7.6.jar", + "kind": "robot" + }, + "latest_observation": "b2c5048162694f75", + "observations": [ + { + "classic": { + "elapsed": 5.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5725.0, + "scores": [ + 2259.0, + 3466.0 + ], + "selected": "barontrozo.BaronTrozo 1.7.6" + }, + "completed_at": "2026-09-08T20:49:38Z", + "delta_pct": -9.3, + "id": "004179d3a54b0e5a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "barontrozo.BaronTrozo 1.7.6", + "division": "roborumble", + "jar": "barontrozo.BaronTrozo_1.7.6.jar", + "jar_sha256": "0031d364bd6cc01f74c537d9c88be09c53d7fd11999aa586480d010a77a37f3c", + "key": "roborumble/barontrozo.BaronTrozo_1.7.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5195.0, + "scores": [ + 2691.0, + 2504.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5878.0, + "scores": [ + 3242.0, + 2636.0 + ], + "selected": "barontrozo.BaronTrozo 1.7.6" + }, + "completed_at": "2026-09-11T18:40:35Z", + "confirmation": null, + "delta_pct": -9.5, + "id": "b2c5048162694f75", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "barontrozo.BaronTrozo 1.7.6", + "division": "roborumble", + "jar": "barontrozo.BaronTrozo_1.7.6.jar", + "jar_sha256": "0031d364bd6cc01f74c537d9c88be09c53d7fd11999aa586480d010a77a37f3c", + "key": "roborumble/barontrozo.BaronTrozo_1.7.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5317.0, + "scores": [ + 3192.0, + 2125.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bayen.UbaMicro_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bayen.UbaMicro 1.4", + "division": "roborumble", + "jar": "bayen.UbaMicro_1.4.jar", + "jar_sha256": "7691bd56732d5813079f65319f62a7bda392937bfe458528383fd2b89b1a7d11", + "key": "roborumble/bayen.UbaMicro_1.4.jar", + "kind": "robot" + }, + "latest_observation": "e3cdf960bfb9afc4", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5531.0, + "scores": [ + 2586.0, + 2945.0 + ], + "selected": "bayen.UbaMicro 1.4" + }, + "completed_at": "2026-09-08T20:51:01Z", + "delta_pct": -20.6, + "id": "26edca5dc7a5d68a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bayen.UbaMicro 1.4", + "division": "roborumble", + "jar": "bayen.UbaMicro_1.4.jar", + "jar_sha256": "7691bd56732d5813079f65319f62a7bda392937bfe458528383fd2b89b1a7d11", + "key": "roborumble/bayen.UbaMicro_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4389.0, + "scores": [ + 2283.0, + 2106.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5374.0, + "scores": [ + 2400.0, + 2974.0 + ], + "selected": "bayen.UbaMicro 1.4" + }, + "completed_at": "2026-09-11T18:41:59Z", + "confirmation": null, + "delta_pct": -20.4, + "id": "e3cdf960bfb9afc4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bayen.UbaMicro 1.4", + "division": "roborumble", + "jar": "bayen.UbaMicro_1.4.jar", + "jar_sha256": "7691bd56732d5813079f65319f62a7bda392937bfe458528383fd2b89b1a7d11", + "key": "roborumble/bayen.UbaMicro_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4280.0, + "scores": [ + 2586.0, + 1694.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bayen.UbaRamLT_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bayen.UbaRamLT 1.0", + "division": "roborumble", + "jar": "bayen.UbaRamLT_1.0.jar", + "jar_sha256": "604d19bdcfa6caa05964df927bb24e237e8f7aaa1fcbd7d13aea4e4d9b5e028b", + "key": "roborumble/bayen.UbaRamLT_1.0.jar", + "kind": "robot" + }, + "latest_observation": "34a30695ece53fb7", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10862.0, + "scores": [ + 5678.0, + 5184.0 + ], + "selected": "bayen.UbaRamLT 1.0" + }, + "completed_at": "2026-09-08T20:51:14Z", + "delta_pct": 29.8, + "id": "13b1bb4843e9815b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bayen.UbaRamLT 1.0", + "division": "roborumble", + "jar": "bayen.UbaRamLT_1.0.jar", + "jar_sha256": "604d19bdcfa6caa05964df927bb24e237e8f7aaa1fcbd7d13aea4e4d9b5e028b", + "key": "roborumble/bayen.UbaRamLT_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 10.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 14098.0, + "scores": [ + 7311.0, + 6787.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10847.0, + "scores": [ + 5583.0, + 5264.0 + ], + "selected": "bayen.UbaRamLT 1.0" + }, + "completed_at": "2026-09-11T18:42:12Z", + "confirmation": null, + "delta_pct": 34.5, + "id": "34a30695ece53fb7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bayen.UbaRamLT 1.0", + "division": "roborumble", + "jar": "bayen.UbaRamLT_1.0.jar", + "jar_sha256": "604d19bdcfa6caa05964df927bb24e237e8f7aaa1fcbd7d13aea4e4d9b5e028b", + "key": "roborumble/bayen.UbaRamLT_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 14594.0, + "scores": [ + 7754.0, + 6840.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/bayen.nano.Squirrel_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bayen.nano.Squirrel 0.2", + "division": "roborumble", + "jar": "bayen.nano.Squirrel_0.2.jar", + "jar_sha256": "5207b14349401cf529947785f203d80e0bd5d21c2e42672ef6585686caa74e7f", + "key": "roborumble/bayen.nano.Squirrel_0.2.jar", + "kind": "robot" + }, + "latest_observation": "2f9eb4f23c454774", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4209.0, + "scores": [ + 2194.0, + 2015.0 + ], + "selected": "bayen.nano.Squirrel 0.2" + }, + "completed_at": "2026-09-08T20:50:00Z", + "delta_pct": -19.4, + "id": "6fcfbf55b4d8ff5c", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bayen.nano.Squirrel 0.2", + "division": "roborumble", + "jar": "bayen.nano.Squirrel_0.2.jar", + "jar_sha256": "5207b14349401cf529947785f203d80e0bd5d21c2e42672ef6585686caa74e7f", + "key": "roborumble/bayen.nano.Squirrel_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3391.0, + "scores": [ + 2033.0, + 1358.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4387.0, + "scores": [ + 2905.0, + 1482.0 + ], + "selected": "bayen.nano.Squirrel 0.2" + }, + "completed_at": "2026-09-11T18:40:56Z", + "confirmation": null, + "delta_pct": -17.9, + "id": "2f9eb4f23c454774", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bayen.nano.Squirrel 0.2", + "division": "roborumble", + "jar": "bayen.nano.Squirrel_0.2.jar", + "jar_sha256": "5207b14349401cf529947785f203d80e0bd5d21c2e42672ef6585686caa74e7f", + "key": "roborumble/bayen.nano.Squirrel_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3602.0, + "scores": [ + 2215.0, + 1387.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bayen.nut.Squirrel_1.621.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bayen.nut.Squirrel 1.621", + "division": "roborumble", + "jar": "bayen.nut.Squirrel_1.621.jar", + "jar_sha256": "a5a1b82535752ee271c91cdec18f433e21dcfe1efc46ed4001bed116eeca1f76", + "key": "roborumble/bayen.nut.Squirrel_1.621.jar", + "kind": "robot" + }, + "latest_observation": "5853982276128593", + "observations": [ + { + "classic": { + "elapsed": 4.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5175.0, + "scores": [ + 2188.0, + 2987.0 + ], + "selected": "bayen.nut.Squirrel 1.621" + }, + "completed_at": "2026-09-08T20:50:40Z", + "delta_pct": -100.0, + "id": "517b1c7cec309414", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bayen.nut.Squirrel 1.621", + "division": "roborumble", + "jar": "bayen.nut.Squirrel_1.621.jar", + "jar_sha256": "a5a1b82535752ee271c91cdec18f433e21dcfe1efc46ed4001bed116eeca1f76", + "key": "roborumble/bayen.nut.Squirrel_1.621.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 36.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5361.0, + "scores": [ + 2834.0, + 2527.0 + ], + "selected": "bayen.nut.Squirrel 1.621" + }, + "completed_at": "2026-09-11T18:41:36Z", + "confirmation": null, + "delta_pct": -100.0, + "id": "5853982276128593", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bayen.nut.Squirrel 1.621", + "division": "roborumble", + "jar": "bayen.nut.Squirrel_1.621.jar", + "jar_sha256": "a5a1b82535752ee271c91cdec18f433e21dcfe1efc46ed4001bed116eeca1f76", + "key": "roborumble/bayen.nut.Squirrel_1.621.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/bbo.RamboT_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bbo.RamboT 0.3", + "division": "roborumble", + "jar": "bbo.RamboT_0.3.jar", + "jar_sha256": "3c933f89750dfd882f03844f5fc83ae4bf36d5a6baca855251417b4a1457e6ed", + "key": "roborumble/bbo.RamboT_0.3.jar", + "kind": "robot" + }, + "latest_observation": "aca48d105b06bcde", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 9366.0, + "scores": [ + 4626.0, + 4740.0 + ], + "selected": "bbo.RamboT 0.3" + }, + "completed_at": "2026-09-08T20:51:30Z", + "delta_pct": 22.4, + "id": "df99f8a1d6c00d7e", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bbo.RamboT 0.3", + "division": "roborumble", + "jar": "bbo.RamboT_0.3.jar", + "jar_sha256": "3c933f89750dfd882f03844f5fc83ae4bf36d5a6baca855251417b4a1457e6ed", + "key": "roborumble/bbo.RamboT_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 11461.0, + "scores": [ + 6133.0, + 5328.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9964.0, + "scores": [ + 4863.0, + 5101.0 + ], + "selected": "bbo.RamboT 0.3" + }, + "completed_at": "2026-09-11T18:42:24Z", + "confirmation": null, + "delta_pct": 42.8, + "id": "aca48d105b06bcde", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bbo.RamboT 0.3", + "division": "roborumble", + "jar": "bbo.RamboT_0.3.jar", + "jar_sha256": "3c933f89750dfd882f03844f5fc83ae4bf36d5a6baca855251417b4a1457e6ed", + "key": "roborumble/bbo.RamboT_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 14225.0, + "scores": [ + 7538.0, + 6687.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/bbo.TheRoof_1.4.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bbo.TheRoof 1.4.3", + "division": "roborumble", + "jar": "bbo.TheRoof_1.4.3.jar", + "jar_sha256": "0d3aac41de0b798e76e684b60756f8fb8318c5c5dcf890f26ecfb8bea6d01076", + "key": "roborumble/bbo.TheRoof_1.4.3.jar", + "kind": "robot" + }, + "latest_observation": "48c972a2d69181bf", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5240.0, + "scores": [ + 2321.0, + 2919.0 + ], + "selected": "bbo.TheRoof 1.4.3" + }, + "completed_at": "2026-09-08T20:51:47Z", + "delta_pct": 4.9, + "id": "39adaf77fb8fca87", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bbo.TheRoof 1.4.3", + "division": "roborumble", + "jar": "bbo.TheRoof_1.4.3.jar", + "jar_sha256": "0d3aac41de0b798e76e684b60756f8fb8318c5c5dcf890f26ecfb8bea6d01076", + "key": "roborumble/bbo.TheRoof_1.4.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5495.0, + "scores": [ + 2941.0, + 2554.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4988.0, + "scores": [ + 2468.0, + 2520.0 + ], + "selected": "bbo.TheRoof 1.4.3" + }, + "completed_at": "2026-09-11T18:42:43Z", + "confirmation": null, + "delta_pct": -7.1, + "id": "48c972a2d69181bf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bbo.TheRoof 1.4.3", + "division": "roborumble", + "jar": "bbo.TheRoof_1.4.3.jar", + "jar_sha256": "0d3aac41de0b798e76e684b60756f8fb8318c5c5dcf890f26ecfb8bea6d01076", + "key": "roborumble/bbo.TheRoof_1.4.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4634.0, + "scores": [ + 2333.0, + 2301.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/benhorner.PureAggression_0.2.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "benhorner.PureAggression 0.2.6", + "division": "roborumble", + "jar": "benhorner.PureAggression_0.2.6.jar", + "jar_sha256": "ff9129cad35f13a68dc008ab29e71e073ea28ff77fae33dba73846e4da0e041e", + "key": "roborumble/benhorner.PureAggression_0.2.6.jar", + "kind": "robot" + }, + "latest_observation": "cda71b473b262cf3", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 11194.0, + "scores": [ + 5562.0, + 5632.0 + ], + "selected": "benhorner.PureAggression 0.2.6" + }, + "completed_at": "2026-09-08T20:51:58Z", + "delta_pct": 17.0, + "id": "ca5a8e78cc56d369", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "benhorner.PureAggression 0.2.6", + "division": "roborumble", + "jar": "benhorner.PureAggression_0.2.6.jar", + "jar_sha256": "ff9129cad35f13a68dc008ab29e71e073ea28ff77fae33dba73846e4da0e041e", + "key": "roborumble/benhorner.PureAggression_0.2.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 8.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 13099.0, + "scores": [ + 6661.0, + 6438.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11015.0, + "scores": [ + 5029.0, + 5986.0 + ], + "selected": "benhorner.PureAggression 0.2.6" + }, + "completed_at": "2026-09-11T18:42:56Z", + "confirmation": null, + "delta_pct": 18.0, + "id": "cda71b473b262cf3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "benhorner.PureAggression 0.2.6", + "division": "roborumble", + "jar": "benhorner.PureAggression_0.2.6.jar", + "jar_sha256": "ff9129cad35f13a68dc008ab29e71e073ea28ff77fae33dba73846e4da0e041e", + "key": "roborumble/benhorner.PureAggression_0.2.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12999.0, + "scores": [ + 6612.0, + 6387.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bigpete.Stewie_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bigpete.Stewie 1.0", + "division": "roborumble", + "jar": "bigpete.Stewie_1.0.jar", + "jar_sha256": "743ecaf04844e35915d24a80533652a29adaaf9539955f2178df0ef6148c481d", + "key": "roborumble/bigpete.Stewie_1.0.jar", + "kind": "robot" + }, + "latest_observation": "8d781fc673893f81", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5593.0, + "scores": [ + 2575.0, + 3018.0 + ], + "selected": "bigpete.Stewie 1.0" + }, + "completed_at": "2026-09-08T20:52:39Z", + "delta_pct": -4.9, + "id": "e8b293a979c1c0b4", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bigpete.Stewie 1.0", + "division": "roborumble", + "jar": "bigpete.Stewie_1.0.jar", + "jar_sha256": "743ecaf04844e35915d24a80533652a29adaaf9539955f2178df0ef6148c481d", + "key": "roborumble/bigpete.Stewie_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5321.0, + "scores": [ + 2839.0, + 2482.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5471.0, + "scores": [ + 2664.0, + 2807.0 + ], + "selected": "bigpete.Stewie 1.0" + }, + "completed_at": "2026-09-11T18:43:35Z", + "confirmation": null, + "delta_pct": -6.4, + "id": "8d781fc673893f81", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bigpete.Stewie 1.0", + "division": "roborumble", + "jar": "bigpete.Stewie_1.0.jar", + "jar_sha256": "743ecaf04844e35915d24a80533652a29adaaf9539955f2178df0ef6148c481d", + "key": "roborumble/bigpete.Stewie_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5121.0, + "scores": [ + 2700.0, + 2421.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bing2.Melody_1.3.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bing2.Melody 1.3.1", + "division": "roborumble", + "jar": "bing2.Melody_1.3.1.jar", + "jar_sha256": "3a63316b12e61f4810fdb73e18bb068fb5bc0a78f82a2c9865be1aa22611137a", + "key": "roborumble/bing2.Melody_1.3.1.jar", + "kind": "robot" + }, + "latest_observation": "5b3b35ee945403ba", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2848.0, + "scores": [ + 1643.0, + 1205.0 + ], + "selected": "bing2.Melody 1.3.1" + }, + "completed_at": "2026-09-08T20:52:59Z", + "delta_pct": 190.3, + "id": "6d5c62b55bd1282c", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bing2.Melody 1.3.1", + "division": "roborumble", + "jar": "bing2.Melody_1.3.1.jar", + "jar_sha256": "3a63316b12e61f4810fdb73e18bb068fb5bc0a78f82a2c9865be1aa22611137a", + "key": "roborumble/bing2.Melody_1.3.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8268.0, + "scores": [ + 4299.0, + 3969.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3488.0, + "scores": [ + 1496.0, + 1992.0 + ], + "selected": "bing2.Melody 1.3.1" + }, + "completed_at": "2026-09-11T18:43:55Z", + "confirmation": null, + "delta_pct": 145.3, + "id": "5b3b35ee945403ba", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bing2.Melody 1.3.1", + "division": "roborumble", + "jar": "bing2.Melody_1.3.1.jar", + "jar_sha256": "3a63316b12e61f4810fdb73e18bb068fb5bc0a78f82a2c9865be1aa22611137a", + "key": "roborumble/bing2.Melody_1.3.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8556.0, + "scores": [ + 4335.0, + 4221.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/bjl.LoneDragon_0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bjl.LoneDragon 0.5", + "division": "roborumble", + "jar": "bjl.LoneDragon_0.5.jar", + "jar_sha256": "016175c3d3f7c0522eebac3154f93c65abe35cc57bbdaee04e606f8d023e1efe", + "key": "roborumble/bjl.LoneDragon_0.5.jar", + "kind": "robot" + }, + "latest_observation": "6c6d91b59c2d4dae", + "observations": [ + { + "classic": { + "elapsed": 7.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5694.0, + "scores": [ + 2412.0, + 3282.0 + ], + "selected": "bjl.LoneDragon 0.5" + }, + "completed_at": "2026-09-08T20:54:27Z", + "delta_pct": 19.1, + "id": "b407ed4b3237d3e7", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bjl.LoneDragon 0.5", + "division": "roborumble", + "jar": "bjl.LoneDragon_0.5.jar", + "jar_sha256": "016175c3d3f7c0522eebac3154f93c65abe35cc57bbdaee04e606f8d023e1efe", + "key": "roborumble/bjl.LoneDragon_0.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 80.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6781.0, + "scores": [ + 3952.0, + 2829.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 11.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6347.0, + "scores": [ + 3377.0, + 2970.0 + ], + "selected": "bjl.LoneDragon 0.5" + }, + "completed_at": "2026-09-11T18:44:21Z", + "confirmation": null, + "delta_pct": 9.6, + "id": "6c6d91b59c2d4dae", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bjl.LoneDragon 0.5", + "division": "roborumble", + "jar": "bjl.LoneDragon_0.5.jar", + "jar_sha256": "016175c3d3f7c0522eebac3154f93c65abe35cc57bbdaee04e606f8d023e1efe", + "key": "roborumble/bjl.LoneDragon_0.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6956.0, + "scores": [ + 3855.0, + 3101.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bk.Shooter_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bk.Shooter 1.0", + "division": "roborumble", + "jar": "bk.Shooter_1.0.jar", + "jar_sha256": "0dfe57a84edd868ba0517b270c817bfdc9765139b6517fe4c7868110cf9c0e16", + "key": "roborumble/bk.Shooter_1.0.jar", + "kind": "robot" + }, + "latest_observation": "81e101672cb7f9c8", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7416.0, + "scores": [ + 3476.0, + 3940.0 + ], + "selected": "bk.Shooter 1.0" + }, + "completed_at": "2026-09-08T20:54:58Z", + "delta_pct": -25.3, + "id": "17eb9124acd74e55", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bk.Shooter 1.0", + "division": "roborumble", + "jar": "bk.Shooter_1.0.jar", + "jar_sha256": "0dfe57a84edd868ba0517b270c817bfdc9765139b6517fe4c7868110cf9c0e16", + "key": "roborumble/bk.Shooter_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 28.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5541.0, + "scores": [ + 2915.0, + 2626.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7454.0, + "scores": [ + 4048.0, + 3406.0 + ], + "selected": "bk.Shooter 1.0" + }, + "completed_at": "2026-09-11T18:44:52Z", + "confirmation": null, + "delta_pct": -26.6, + "id": "81e101672cb7f9c8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bk.Shooter 1.0", + "division": "roborumble", + "jar": "bk.Shooter_1.0.jar", + "jar_sha256": "0dfe57a84edd868ba0517b270c817bfdc9765139b6517fe4c7868110cf9c0e16", + "key": "roborumble/bk.Shooter_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5469.0, + "scores": [ + 3334.0, + 2135.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/blir.micro.blixi.Blixi_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "blir.micro.blixi.Blixi 1.2", + "division": "roborumble", + "jar": "blir.micro.blixi.Blixi_1.2.jar", + "jar_sha256": "939340a6e589c7bd36ea58fb12018f4f4ee512bbaf8264c0fee5d706e2d6325b", + "key": "roborumble/blir.micro.blixi.Blixi_1.2.jar", + "kind": "robot" + }, + "latest_observation": "6e0ffccdcd38fada", + "observations": [ + { + "classic": { + "elapsed": 5.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6468.0, + "scores": [ + 1515.0, + 4953.0 + ], + "selected": "blir.micro.blixi.Blixi 1.2" + }, + "completed_at": "2026-09-08T20:55:40Z", + "delta_pct": -44.5, + "id": "32ac2de21087f5bd", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.micro.blixi.Blixi 1.2", + "division": "roborumble", + "jar": "blir.micro.blixi.Blixi_1.2.jar", + "jar_sha256": "939340a6e589c7bd36ea58fb12018f4f4ee512bbaf8264c0fee5d706e2d6325b", + "key": "roborumble/blir.micro.blixi.Blixi_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 36.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3589.0, + "scores": [ + 1820.0, + 1769.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4455.0, + "scores": [ + 2514.0, + 1941.0 + ], + "selected": "blir.micro.blixi.Blixi 1.2" + }, + "completed_at": "2026-09-11T18:45:32Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "6e0ffccdcd38fada", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.micro.blixi.Blixi 1.2", + "division": "roborumble", + "jar": "blir.micro.blixi.Blixi_1.2.jar", + "jar_sha256": "939340a6e589c7bd36ea58fb12018f4f4ee512bbaf8264c0fee5d706e2d6325b", + "key": "roborumble/blir.micro.blixi.Blixi_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4372.0, + "scores": [ + 2368.0, + 2004.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/blir.mini.oops.Splooshlu_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "blir.mini.oops.Splooshlu 2.0", + "division": "roborumble", + "jar": "blir.mini.oops.Splooshlu_2.0.jar", + "jar_sha256": "43d728428624085e09e6bd3fa34ae9ed864b4d056959c207b3daa20c0ad6e42b", + "key": "roborumble/blir.mini.oops.Splooshlu_2.0.jar", + "kind": "robot" + }, + "latest_observation": "1b2a4d6c4330ef36", + "observations": [ + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5726.0, + "scores": [ + 2882.0, + 2844.0 + ], + "selected": "blir.mini.oops.Splooshlu 2.0" + }, + "completed_at": "2026-09-08T20:56:40Z", + "delta_pct": -19.6, + "id": "9d2209ef822252f0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.mini.oops.Splooshlu 2.0", + "division": "roborumble", + "jar": "blir.mini.oops.Splooshlu_2.0.jar", + "jar_sha256": "43d728428624085e09e6bd3fa34ae9ed864b4d056959c207b3daa20c0ad6e42b", + "key": "roborumble/blir.mini.oops.Splooshlu_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 56.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4604.0, + "scores": [ + 2341.0, + 2263.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5482.0, + "scores": [ + 3026.0, + 2456.0 + ], + "selected": "blir.mini.oops.Splooshlu 2.0" + }, + "completed_at": "2026-09-11T18:46:17Z", + "confirmation": null, + "delta_pct": -16.1, + "id": "1b2a4d6c4330ef36", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.mini.oops.Splooshlu 2.0", + "division": "roborumble", + "jar": "blir.mini.oops.Splooshlu_2.0.jar", + "jar_sha256": "43d728428624085e09e6bd3fa34ae9ed864b4d056959c207b3daa20c0ad6e42b", + "key": "roborumble/blir.mini.oops.Splooshlu_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4597.0, + "scores": [ + 2407.0, + 2190.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/blir.nano.Bruce_R1.0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "blir.nano.Bruce R1.0.0", + "division": "roborumble", + "jar": "blir.nano.Bruce_R1.0.0.jar", + "jar_sha256": "380d1895fca7181874921c6b8735c9659ea3cb6e5d35d42799bab523dfdd1bae", + "key": "roborumble/blir.nano.Bruce_R1.0.0.jar", + "kind": "robot" + }, + "latest_observation": "1842fd1571b0c43b", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12737.0, + "scores": [ + 6532.0, + 6205.0 + ], + "selected": "blir.nano.Bruce R1.0.0" + }, + "completed_at": "2026-09-08T20:56:55Z", + "delta_pct": -3.5, + "id": "e98608d4efb99503", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.nano.Bruce R1.0.0", + "division": "roborumble", + "jar": "blir.nano.Bruce_R1.0.0.jar", + "jar_sha256": "380d1895fca7181874921c6b8735c9659ea3cb6e5d35d42799bab523dfdd1bae", + "key": "roborumble/blir.nano.Bruce_R1.0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12287.0, + "scores": [ + 6420.0, + 5867.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12629.0, + "scores": [ + 6405.0, + 6224.0 + ], + "selected": "blir.nano.Bruce R1.0.0" + }, + "completed_at": "2026-09-11T18:46:30Z", + "confirmation": null, + "delta_pct": 5.8, + "id": "1842fd1571b0c43b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.nano.Bruce R1.0.0", + "division": "roborumble", + "jar": "blir.nano.Bruce_R1.0.0.jar", + "jar_sha256": "380d1895fca7181874921c6b8735c9659ea3cb6e5d35d42799bab523dfdd1bae", + "key": "roborumble/blir.nano.Bruce_R1.0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13356.0, + "scores": [ + 6722.0, + 6634.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/blir.nano.Cabbage_R1.0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "blir.nano.Cabbage R1.0.1", + "division": "roborumble", + "jar": "blir.nano.Cabbage_R1.0.1.jar", + "jar_sha256": "6048d93ca6c18440d2442930806a4edb783d6bc3e7b019f324fad7aebaccb222", + "key": "roborumble/blir.nano.Cabbage_R1.0.1.jar", + "kind": "robot" + }, + "latest_observation": "242021032b8974e3", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 1399.0, + "scores": [ + 510.0, + 889.0 + ], + "selected": "blir.nano.Cabbage R1.0.1" + }, + "completed_at": "2026-09-08T20:57:18Z", + "delta_pct": 111.9, + "id": "14e36192003c6140", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.nano.Cabbage R1.0.1", + "division": "roborumble", + "jar": "blir.nano.Cabbage_R1.0.1.jar", + "jar_sha256": "6048d93ca6c18440d2442930806a4edb783d6bc3e7b019f324fad7aebaccb222", + "key": "roborumble/blir.nano.Cabbage_R1.0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2965.0, + "scores": [ + 1677.0, + 1288.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1441.0, + "scores": [ + 730.0, + 711.0 + ], + "selected": "blir.nano.Cabbage R1.0.1" + }, + "completed_at": "2026-09-11T18:46:53Z", + "confirmation": null, + "delta_pct": 84.3, + "id": "242021032b8974e3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.nano.Cabbage R1.0.1", + "division": "roborumble", + "jar": "blir.nano.Cabbage_R1.0.1.jar", + "jar_sha256": "6048d93ca6c18440d2442930806a4edb783d6bc3e7b019f324fad7aebaccb222", + "key": "roborumble/blir.nano.Cabbage_R1.0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2656.0, + "scores": [ + 1350.0, + 1306.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/blir.nano.inch.Inchworm_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "blir.nano.inch.Inchworm 1.0", + "division": "roborumble", + "jar": "blir.nano.inch.Inchworm_1.0.jar", + "jar_sha256": "168c6b33a9c90cd70b268369ed7aedb8773e1f04c3b99382fcd2cf98d5b49bd4", + "key": "roborumble/blir.nano.inch.Inchworm_1.0.jar", + "kind": "robot" + }, + "latest_observation": "7f8e4239129f32f8", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7657.0, + "scores": [ + 3538.0, + 4119.0 + ], + "selected": "blir.nano.inch.Inchworm 1.0" + }, + "completed_at": "2026-09-08T20:57:41Z", + "delta_pct": -20.5, + "id": "7bd4cdf08768932e", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.nano.inch.Inchworm 1.0", + "division": "roborumble", + "jar": "blir.nano.inch.Inchworm_1.0.jar", + "jar_sha256": "168c6b33a9c90cd70b268369ed7aedb8773e1f04c3b99382fcd2cf98d5b49bd4", + "key": "roborumble/blir.nano.inch.Inchworm_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6088.0, + "scores": [ + 3161.0, + 2927.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7710.0, + "scores": [ + 3950.0, + 3760.0 + ], + "selected": "blir.nano.inch.Inchworm 1.0" + }, + "completed_at": "2026-09-11T18:47:16Z", + "confirmation": null, + "delta_pct": -23.5, + "id": "7f8e4239129f32f8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blir.nano.inch.Inchworm 1.0", + "division": "roborumble", + "jar": "blir.nano.inch.Inchworm_1.0.jar", + "jar_sha256": "168c6b33a9c90cd70b268369ed7aedb8773e1f04c3b99382fcd2cf98d5b49bd4", + "key": "roborumble/blir.nano.inch.Inchworm_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5895.0, + "scores": [ + 3151.0, + 2744.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/blr.Chicken001_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "blr.Chicken001 0.1", + "division": "roborumble", + "jar": "blr.Chicken001_0.1.jar", + "jar_sha256": "b60dc3905b4861b427dae9e16d964f3978947773e5f9c3e5ae32f7c4182f976e", + "key": "roborumble/blr.Chicken001_0.1.jar", + "kind": "robot" + }, + "latest_observation": "b36bd24ea7cdd125", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10637.0, + "scores": [ + 5565.0, + 5072.0 + ], + "selected": "blr.Chicken001 0.1" + }, + "completed_at": "2026-09-08T20:58:00Z", + "delta_pct": -5.1, + "id": "fa1b7716484381ca", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blr.Chicken001 0.1", + "division": "roborumble", + "jar": "blr.Chicken001_0.1.jar", + "jar_sha256": "b60dc3905b4861b427dae9e16d964f3978947773e5f9c3e5ae32f7c4182f976e", + "key": "roborumble/blr.Chicken001_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10090.0, + "scores": [ + 5323.0, + 4767.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10544.0, + "scores": [ + 5272.0, + 5272.0 + ], + "selected": "blr.Chicken001 0.1" + }, + "completed_at": "2026-09-11T18:47:37Z", + "confirmation": null, + "delta_pct": -4.8, + "id": "b36bd24ea7cdd125", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "blr.Chicken001 0.1", + "division": "roborumble", + "jar": "blr.Chicken001_0.1.jar", + "jar_sha256": "b60dc3905b4861b427dae9e16d964f3978947773e5f9c3e5ae32f7c4182f976e", + "key": "roborumble/blr.Chicken001_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10034.0, + "scores": [ + 5180.0, + 4854.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bndl.LostLion_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bndl.LostLion 1.2", + "division": "roborumble", + "jar": "bndl.LostLion_1.2.jar", + "jar_sha256": "991c707bd0af71a46d5fc34e4a34b0df2267f0ffc06567cdfaebfbea87f80cc2", + "key": "roborumble/bndl.LostLion_1.2.jar", + "kind": "robot" + }, + "latest_observation": "fad1a48dcb20e058", + "observations": [ + { + "classic": { + "elapsed": 17.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6370.0, + "scores": [ + 3271.0, + 3099.0 + ], + "selected": "bndl.LostLion 1.2" + }, + "completed_at": "2026-09-08T20:58:46Z", + "delta_pct": -6.4, + "id": "1a29913b8f87ac3a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bndl.LostLion 1.2", + "division": "roborumble", + "jar": "bndl.LostLion_1.2.jar", + "jar_sha256": "991c707bd0af71a46d5fc34e4a34b0df2267f0ffc06567cdfaebfbea87f80cc2", + "key": "roborumble/bndl.LostLion_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 28.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5961.0, + "scores": [ + 3239.0, + 2722.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6417.0, + "scores": [ + 2964.0, + 3453.0 + ], + "selected": "bndl.LostLion 1.2" + }, + "completed_at": "2026-09-11T18:48:21Z", + "confirmation": null, + "delta_pct": -4.2, + "id": "fad1a48dcb20e058", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bndl.LostLion 1.2", + "division": "roborumble", + "jar": "bndl.LostLion_1.2.jar", + "jar_sha256": "991c707bd0af71a46d5fc34e4a34b0df2267f0ffc06567cdfaebfbea87f80cc2", + "key": "roborumble/bndl.LostLion_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6148.0, + "scores": [ + 3165.0, + 2983.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/boe.Minerva_0.80.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "boe.Minerva 0.80", + "division": "roborumble", + "jar": "boe.Minerva_0.80.jar", + "jar_sha256": "79dd5b1ad699fe82fc423f2a35d3264fd460c787fef7c528a9f897d88365a5d6", + "key": "roborumble/boe.Minerva_0.80.jar", + "kind": "robot" + }, + "latest_observation": "06462108430f485c", + "observations": [ + { + "classic": { + "elapsed": 9.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6318.0, + "scores": [ + 3360.0, + 2958.0 + ], + "selected": "boe.Minerva 0.80" + }, + "completed_at": "2026-09-08T20:59:20Z", + "delta_pct": -9.3, + "id": "8205a7ec0f3730f8", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "boe.Minerva 0.80", + "division": "roborumble", + "jar": "boe.Minerva_0.80.jar", + "jar_sha256": "79dd5b1ad699fe82fc423f2a35d3264fd460c787fef7c528a9f897d88365a5d6", + "key": "roborumble/boe.Minerva_0.80.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 24.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5732.0, + "scores": [ + 3019.0, + 2713.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 12.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6261.0, + "scores": [ + 3174.0, + 3087.0 + ], + "selected": "boe.Minerva 0.80" + }, + "completed_at": "2026-09-11T18:48:47Z", + "confirmation": null, + "delta_pct": null, + "id": "06462108430f485c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "boe.Minerva 0.80", + "division": "roborumble", + "jar": "boe.Minerva_0.80.jar", + "jar_sha256": "79dd5b1ad699fe82fc423f2a35d3264fd460c787fef7c528a9f897d88365a5d6", + "key": "roborumble/boe.Minerva_0.80.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "boe.Minerva.antiGravCalculate" + ] + ], + "elapsed": 12.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "boe.Minerva.antiGravCalculate" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 10", + "java.lang.ArrayIndexOutOfBoundsException: Index 10 out of bounds for length 10" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/bons.NanoStalker_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bons.NanoStalker 1.2", + "division": "roborumble", + "jar": "bons.NanoStalker_1.2.jar", + "jar_sha256": "25169213aa301260dbe320aab5011618b95dd7283102fc6272cdd2e5afdc0936", + "key": "roborumble/bons.NanoStalker_1.2.jar", + "kind": "robot" + }, + "latest_observation": "7fa967a48b2bdaa3", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7639.0, + "scores": [ + 3715.0, + 3924.0 + ], + "selected": "bons.NanoStalker 1.2" + }, + "completed_at": "2026-09-08T20:59:33Z", + "delta_pct": -62.6, + "id": "73559040c308ecc0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bons.NanoStalker 1.2", + "division": "roborumble", + "jar": "bons.NanoStalker_1.2.jar", + "jar_sha256": "25169213aa301260dbe320aab5011618b95dd7283102fc6272cdd2e5afdc0936", + "key": "roborumble/bons.NanoStalker_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 10.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2859.0, + "scores": [ + 1527.0, + 1332.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7571.0, + "scores": [ + 4013.0, + 3558.0 + ], + "selected": "bons.NanoStalker 1.2" + }, + "completed_at": "2026-09-11T18:49:00Z", + "confirmation": null, + "delta_pct": -62.3, + "id": "7fa967a48b2bdaa3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bons.NanoStalker 1.2", + "division": "roborumble", + "jar": "bons.NanoStalker_1.2.jar", + "jar_sha256": "25169213aa301260dbe320aab5011618b95dd7283102fc6272cdd2e5afdc0936", + "key": "roborumble/bons.NanoStalker_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2857.0, + "scores": [ + 1495.0, + 1362.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/bots.UberBot_1.2c.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bots.UberBot 1.2c", + "division": "roborumble", + "jar": "bots.UberBot_1.2c.jar", + "jar_sha256": "5406ba168c88b8e114b607bddd2959d76d4601740fe12236d5066d8a6bfcb556", + "key": "roborumble/bots.UberBot_1.2c.jar", + "kind": "robot" + }, + "latest_observation": "72dbc427c019d828", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6154.0, + "scores": [ + 2720.0, + 3434.0 + ], + "selected": "bots.UberBot 1.2c" + }, + "completed_at": "2026-09-08T20:59:58Z", + "delta_pct": -8.6, + "id": "258737685abd4504", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bots.UberBot 1.2c", + "division": "roborumble", + "jar": "bots.UberBot_1.2c.jar", + "jar_sha256": "5406ba168c88b8e114b607bddd2959d76d4601740fe12236d5066d8a6bfcb556", + "key": "roborumble/bots.UberBot_1.2c.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5625.0, + "scores": [ + 3120.0, + 2505.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5937.0, + "scores": [ + 2744.0, + 3193.0 + ], + "selected": "bots.UberBot 1.2c" + }, + "completed_at": "2026-09-11T18:49:23Z", + "confirmation": null, + "delta_pct": -14.2, + "id": "72dbc427c019d828", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bots.UberBot 1.2c", + "division": "roborumble", + "jar": "bots.UberBot_1.2c.jar", + "jar_sha256": "5406ba168c88b8e114b607bddd2959d76d4601740fe12236d5066d8a6bfcb556", + "key": "roborumble/bots.UberBot_1.2c.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5094.0, + "scores": [ + 3113.0, + 1981.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bots.UnterBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bots.UnterBot 1.0", + "division": "roborumble", + "jar": "bots.UnterBot_1.0.jar", + "jar_sha256": "7c24869acf14c596bca3c7eeb85b0dbab99b99e470f5df1bb886c4d101f1e66d", + "key": "roborumble/bots.UnterBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "0e8217b8963172d1", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7852.0, + "scores": [ + 4216.0, + 3636.0 + ], + "selected": "bots.UnterBot 1.0" + }, + "completed_at": "2026-09-08T21:00:22Z", + "delta_pct": -45.5, + "id": "a57b9c4d5a68c0e3", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bots.UnterBot 1.0", + "division": "roborumble", + "jar": "bots.UnterBot_1.0.jar", + "jar_sha256": "7c24869acf14c596bca3c7eeb85b0dbab99b99e470f5df1bb886c4d101f1e66d", + "key": "roborumble/bots.UnterBot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4279.0, + "scores": [ + 2713.0, + 1566.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7869.0, + "scores": [ + 4503.0, + 3366.0 + ], + "selected": "bots.UnterBot 1.0" + }, + "completed_at": "2026-09-11T18:49:44Z", + "confirmation": null, + "delta_pct": -23.2, + "id": "0e8217b8963172d1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bots.UnterBot 1.0", + "division": "roborumble", + "jar": "bots.UnterBot_1.0.jar", + "jar_sha256": "7c24869acf14c596bca3c7eeb85b0dbab99b99e470f5df1bb886c4d101f1e66d", + "key": "roborumble/bots.UnterBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6040.0, + "scores": [ + 3128.0, + 2912.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bots.UnterExBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bots.UnterExBot 1.0", + "division": "roborumble", + "jar": "bots.UnterExBot_1.0.jar", + "jar_sha256": "773aa3a9953e440b5e5464c54b5efbd269a15b17ab05f301d3401d16c263d25b", + "key": "roborumble/bots.UnterExBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "b21f0e7cab8945cc", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 9251.0, + "scores": [ + 4666.0, + 4585.0 + ], + "selected": "bots.UnterExBot 1.0" + }, + "completed_at": "2026-09-08T21:00:45Z", + "delta_pct": -47.8, + "id": "0eeef9f8e9a05217", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bots.UnterExBot 1.0", + "division": "roborumble", + "jar": "bots.UnterExBot_1.0.jar", + "jar_sha256": "773aa3a9953e440b5e5464c54b5efbd269a15b17ab05f301d3401d16c263d25b", + "key": "roborumble/bots.UnterExBot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4833.0, + "scores": [ + 2438.0, + 2395.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8855.0, + "scores": [ + 4435.0, + 4420.0 + ], + "selected": "bots.UnterExBot 1.0" + }, + "completed_at": "2026-09-11T18:50:02Z", + "confirmation": null, + "delta_pct": -24.7, + "id": "b21f0e7cab8945cc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bots.UnterExBot 1.0", + "division": "roborumble", + "jar": "bots.UnterExBot_1.0.jar", + "jar_sha256": "773aa3a9953e440b5e5464c54b5efbd269a15b17ab05f301d3401d16c263d25b", + "key": "roborumble/bots.UnterExBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6666.0, + "scores": [ + 3837.0, + 2829.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bp.Kuma_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bp.Kuma 1.0", + "division": "roborumble", + "jar": "bp.Kuma_1.0.jar", + "jar_sha256": "2646c78e817ac3701fbd23306259844fdea377b82ac7748f8d3cf6ea36b4825e", + "key": "roborumble/bp.Kuma_1.0.jar", + "kind": "robot" + }, + "latest_observation": "85f7f94a56f0d1c2", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3008.0, + "scores": [ + 1726.0, + 1282.0 + ], + "selected": "bp.Kuma 1.0" + }, + "completed_at": "2026-09-08T21:01:06Z", + "delta_pct": 91.6, + "id": "a5efd143dba4df0f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bp.Kuma 1.0", + "division": "roborumble", + "jar": "bp.Kuma_1.0.jar", + "jar_sha256": "2646c78e817ac3701fbd23306259844fdea377b82ac7748f8d3cf6ea36b4825e", + "key": "roborumble/bp.Kuma_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5762.0, + "scores": [ + 3303.0, + 2459.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3517.0, + "scores": [ + 1964.0, + 1553.0 + ], + "selected": "bp.Kuma 1.0" + }, + "completed_at": "2026-09-11T18:50:22Z", + "confirmation": null, + "delta_pct": 84.3, + "id": "85f7f94a56f0d1c2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bp.Kuma 1.0", + "division": "roborumble", + "jar": "bp.Kuma_1.0.jar", + "jar_sha256": "2646c78e817ac3701fbd23306259844fdea377b82ac7748f8d3cf6ea36b4825e", + "key": "roborumble/bp.Kuma_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6482.0, + "scores": [ + 3428.0, + 3054.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/braaropolis.Abot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "braaropolis.Abot 1.0", + "division": "roborumble", + "jar": "braaropolis.Abot_1.0.jar", + "jar_sha256": "d8e61877edd6f98d13b8c78bce6fb1fa8930834ce8414b95f2f0c46f7dd9a8be", + "key": "roborumble/braaropolis.Abot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "a2df55df8d971459", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4862.0, + "scores": [ + 1751.0, + 3111.0 + ], + "selected": "braaropolis.Abot 1.0" + }, + "completed_at": "2026-09-08T21:01:31Z", + "delta_pct": -26.1, + "id": "36610aff4c63ca29", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "braaropolis.Abot 1.0", + "division": "roborumble", + "jar": "braaropolis.Abot_1.0.jar", + "jar_sha256": "d8e61877edd6f98d13b8c78bce6fb1fa8930834ce8414b95f2f0c46f7dd9a8be", + "key": "roborumble/braaropolis.Abot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3594.0, + "scores": [ + 1866.0, + 1728.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4871.0, + "scores": [ + 2383.0, + 2488.0 + ], + "selected": "braaropolis.Abot 1.0" + }, + "completed_at": "2026-09-11T18:50:45Z", + "confirmation": null, + "delta_pct": -1.7, + "id": "a2df55df8d971459", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "braaropolis.Abot 1.0", + "division": "roborumble", + "jar": "braaropolis.Abot_1.0.jar", + "jar_sha256": "d8e61877edd6f98d13b8c78bce6fb1fa8930834ce8414b95f2f0c46f7dd9a8be", + "key": "roborumble/braaropolis.Abot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4790.0, + "scores": [ + 2507.0, + 2283.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/brainfade.Fallen_0.63.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "brainfade.Fallen 0.63", + "division": "roborumble", + "jar": "brainfade.Fallen_0.63.jar", + "jar_sha256": "7affe8566b9200ec51bc97f81bd7e3a98d5e9f2c011c70bd3331754bfc832373", + "key": "roborumble/brainfade.Fallen_0.63.jar", + "kind": "robot" + }, + "latest_observation": "e28628d85d0c4a56", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5630.0, + "scores": [ + 2323.0, + 3307.0 + ], + "selected": "brainfade.Fallen 0.63" + }, + "completed_at": "2026-09-08T21:01:54Z", + "delta_pct": -12.6, + "id": "cfd838bd46fc2f16", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "brainfade.Fallen 0.63", + "division": "roborumble", + "jar": "brainfade.Fallen_0.63.jar", + "jar_sha256": "7affe8566b9200ec51bc97f81bd7e3a98d5e9f2c011c70bd3331754bfc832373", + "key": "roborumble/brainfade.Fallen_0.63.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4918.0, + "scores": [ + 3163.0, + 1755.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5400.0, + "scores": [ + 2916.0, + 2484.0 + ], + "selected": "brainfade.Fallen 0.63" + }, + "completed_at": "2026-09-11T18:51:08Z", + "confirmation": null, + "delta_pct": -10.3, + "id": "e28628d85d0c4a56", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "brainfade.Fallen 0.63", + "division": "roborumble", + "jar": "brainfade.Fallen_0.63.jar", + "jar_sha256": "7affe8566b9200ec51bc97f81bd7e3a98d5e9f2c011c70bd3331754bfc832373", + "key": "roborumble/brainfade.Fallen_0.63.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4842.0, + "scores": [ + 2932.0, + 1910.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/brainfade.melee.Dusk_0.44.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "brainfade.melee.Dusk 0.44", + "division": "roborumble", + "jar": "brainfade.melee.Dusk_0.44.jar", + "jar_sha256": "a9ebabb60c05453723be3680d718a93a6b212ecf13d3fc408b4e2ab88f5d853b", + "key": "roborumble/brainfade.melee.Dusk_0.44.jar", + "kind": "robot" + }, + "latest_observation": "f8ee020df517510f", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5163.0, + "scores": [ + 2822.0, + 2341.0 + ], + "selected": "brainfade.melee.Dusk 0.44" + }, + "completed_at": "2026-09-08T21:02:28Z", + "delta_pct": -1.8, + "id": "c24d76413b604bbc", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "brainfade.melee.Dusk 0.44", + "division": "roborumble", + "jar": "brainfade.melee.Dusk_0.44.jar", + "jar_sha256": "a9ebabb60c05453723be3680d718a93a6b212ecf13d3fc408b4e2ab88f5d853b", + "key": "roborumble/brainfade.melee.Dusk_0.44.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 30.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5071.0, + "scores": [ + 2645.0, + 2426.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5037.0, + "scores": [ + 2680.0, + 2357.0 + ], + "selected": "brainfade.melee.Dusk 0.44" + }, + "completed_at": "2026-09-11T18:51:46Z", + "confirmation": null, + "delta_pct": -0.7, + "id": "f8ee020df517510f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "brainfade.melee.Dusk 0.44", + "division": "roborumble", + "jar": "brainfade.melee.Dusk_0.44.jar", + "jar_sha256": "a9ebabb60c05453723be3680d718a93a6b212ecf13d3fc408b4e2ab88f5d853b", + "key": "roborumble/brainfade.melee.Dusk_0.44.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5000.0, + "scores": [ + 2578.0, + 2422.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bts.mega.Gnarly_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bts.mega.Gnarly 1.4", + "division": "roborumble", + "jar": "bts.mega.Gnarly_1.4.jar", + "jar_sha256": "77d1f463511e268b1a020f8571fe932a03760447e30067846a3c1d6090368f81", + "key": "roborumble/bts.mega.Gnarly_1.4.jar", + "kind": "robot" + }, + "latest_observation": "867182c105c432de", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8473.0, + "scores": [ + 4405.0, + 4068.0 + ], + "selected": "bts.mega.Gnarly 1.4" + }, + "completed_at": "2026-09-08T21:02:45Z", + "delta_pct": 2.3, + "id": "ea1a4d3c629039e8", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bts.mega.Gnarly 1.4", + "division": "roborumble", + "jar": "bts.mega.Gnarly_1.4.jar", + "jar_sha256": "77d1f463511e268b1a020f8571fe932a03760447e30067846a3c1d6090368f81", + "key": "roborumble/bts.mega.Gnarly_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8671.0, + "scores": [ + 4642.0, + 4029.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8671.0, + "scores": [ + 4166.0, + 4505.0 + ], + "selected": "bts.mega.Gnarly 1.4" + }, + "completed_at": "2026-09-11T18:52:03Z", + "confirmation": null, + "delta_pct": -1.4, + "id": "867182c105c432de", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bts.mega.Gnarly 1.4", + "division": "roborumble", + "jar": "bts.mega.Gnarly_1.4.jar", + "jar_sha256": "77d1f463511e268b1a020f8571fe932a03760447e30067846a3c1d6090368f81", + "key": "roborumble/bts.mega.Gnarly_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8552.0, + "scores": [ + 4518.0, + 4034.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bts.wiki.RipCurl_0.9b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bts.wiki.RipCurl 0.9b", + "division": "roborumble", + "jar": "bts.wiki.RipCurl_0.9b.jar", + "jar_sha256": "1f9a52c3ea49c22e5755defaaf43f355801169537f7a9636d1708bd00064e4c9", + "key": "roborumble/bts.wiki.RipCurl_0.9b.jar", + "kind": "robot" + }, + "latest_observation": "1a37177249ebafea", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5000.0, + "scores": [ + 1871.0, + 3129.0 + ], + "selected": "bts.wiki.RipCurl 0.9b" + }, + "completed_at": "2026-09-08T21:02:55Z", + "delta_pct": null, + "id": "0b71b2a50f905e18", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bts.wiki.RipCurl 0.9b", + "division": "roborumble", + "jar": "bts.wiki.RipCurl_0.9b.jar", + "jar_sha256": "1f9a52c3ea49c22e5755defaaf43f355801169537f7a9636d1708bd00064e4c9", + "key": "roborumble/bts.wiki.RipCurl_0.9b.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 6.2, + "error_count": 2, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5112.0, + "scores": [ + 2532.0, + 2580.0 + ], + "selected": "bts.wiki.RipCurl 0.9b" + }, + "completed_at": "2026-09-11T18:52:12Z", + "confirmation": null, + "delta_pct": null, + "id": "1a37177249ebafea", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bts.wiki.RipCurl 0.9b", + "division": "roborumble", + "jar": "bts.wiki.RipCurl_0.9b.jar", + "jar_sha256": "1f9a52c3ea49c22e5755defaaf43f355801169537f7a9636d1708bd00064e4c9", + "key": "roborumble/bts.wiki.RipCurl_0.9b.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "us.bluetorch.robocode.movement.MinimumRisk.onScannedRobot" + ] + ], + "elapsed": 6.1, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "us.bluetorch.robocode.movement.MinimumRisk.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/buba.Archivist_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "buba.Archivist 0.1", + "division": "roborumble", + "jar": "buba.Archivist_0.1.jar", + "jar_sha256": "16a0212d06836af24b9b7d351de52406e456804ede7c302e4cb85c75d2b08acc", + "key": "roborumble/buba.Archivist_0.1.jar", + "kind": "robot" + }, + "latest_observation": "aa1f6c80b995d2cc", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5379.0, + "scores": [ + 2993.0, + 2386.0 + ], + "selected": "buba.Archivist 0.1" + }, + "completed_at": "2026-09-08T21:03:14Z", + "delta_pct": -9.6, + "id": "d18c23f855ed3f66", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "buba.Archivist 0.1", + "division": "roborumble", + "jar": "buba.Archivist_0.1.jar", + "jar_sha256": "16a0212d06836af24b9b7d351de52406e456804ede7c302e4cb85c75d2b08acc", + "key": "roborumble/buba.Archivist_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4862.0, + "scores": [ + 3109.0, + 1753.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5203.0, + "scores": [ + 2513.0, + 2690.0 + ], + "selected": "buba.Archivist 0.1" + }, + "completed_at": "2026-09-11T18:52:34Z", + "confirmation": null, + "delta_pct": -6.4, + "id": "aa1f6c80b995d2cc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "buba.Archivist 0.1", + "division": "roborumble", + "jar": "buba.Archivist_0.1.jar", + "jar_sha256": "16a0212d06836af24b9b7d351de52406e456804ede7c302e4cb85c75d2b08acc", + "key": "roborumble/buba.Archivist_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4868.0, + "scores": [ + 2496.0, + 2372.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/buba.Buba_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "buba.Buba 0.3", + "division": "roborumble", + "jar": "buba.Buba_0.3.jar", + "jar_sha256": "ba2320e401f43470e16fa1253315b29b36047b22bac99ad62bed59bb014e1716", + "key": "roborumble/buba.Buba_0.3.jar", + "kind": "robot" + }, + "latest_observation": "224194e7fcdb5495", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4975.0, + "scores": [ + 1731.0, + 3244.0 + ], + "selected": "buba.Buba 0.3" + }, + "completed_at": "2026-09-08T21:03:31Z", + "delta_pct": -19.0, + "id": "92de0a656f602dca", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "buba.Buba 0.3", + "division": "roborumble", + "jar": "buba.Buba_0.3.jar", + "jar_sha256": "ba2320e401f43470e16fa1253315b29b36047b22bac99ad62bed59bb014e1716", + "key": "roborumble/buba.Buba_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4029.0, + "scores": [ + 2290.0, + 1739.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4431.0, + "scores": [ + 2529.0, + 1902.0 + ], + "selected": "buba.Buba 0.3" + }, + "completed_at": "2026-09-11T18:52:51Z", + "confirmation": null, + "delta_pct": -3.1, + "id": "224194e7fcdb5495", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "buba.Buba 0.3", + "division": "roborumble", + "jar": "buba.Buba_0.3.jar", + "jar_sha256": "ba2320e401f43470e16fa1253315b29b36047b22bac99ad62bed59bb014e1716", + "key": "roborumble/buba.Buba_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4295.0, + "scores": [ + 2210.0, + 2085.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bumblebee.Bumblebee_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bumblebee.Bumblebee 1.0", + "division": "roborumble", + "jar": "bumblebee.Bumblebee_1.0.jar", + "jar_sha256": "13752cd9d2f4ffe2a675074b50ecca99b982f57bea36c1bac5e4f254cf0af9c5", + "key": "roborumble/bumblebee.Bumblebee_1.0.jar", + "kind": "robot" + }, + "latest_observation": "43be93c102edd078", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7679.0, + "scores": [ + 3456.0, + 4223.0 + ], + "selected": "bumblebee.Bumblebee 1.0" + }, + "completed_at": "2026-09-08T21:03:46Z", + "delta_pct": 0.1, + "id": "684d3891682e1261", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bumblebee.Bumblebee 1.0", + "division": "roborumble", + "jar": "bumblebee.Bumblebee_1.0.jar", + "jar_sha256": "13752cd9d2f4ffe2a675074b50ecca99b982f57bea36c1bac5e4f254cf0af9c5", + "key": "roborumble/bumblebee.Bumblebee_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7686.0, + "scores": [ + 3977.0, + 3709.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7853.0, + "scores": [ + 3864.0, + 3989.0 + ], + "selected": "bumblebee.Bumblebee 1.0" + }, + "completed_at": "2026-09-11T18:53:05Z", + "confirmation": null, + "delta_pct": -1.8, + "id": "43be93c102edd078", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bumblebee.Bumblebee 1.0", + "division": "roborumble", + "jar": "bumblebee.Bumblebee_1.0.jar", + "jar_sha256": "13752cd9d2f4ffe2a675074b50ecca99b982f57bea36c1bac5e4f254cf0af9c5", + "key": "roborumble/bumblebee.Bumblebee_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7709.0, + "scores": [ + 3963.0, + 3746.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.fnr.Fenrir_0.36l.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.fnr.Fenrir 0.36l", + "division": "roborumble", + "jar": "bvh.fnr.Fenrir_0.36l.jar", + "jar_sha256": "986ed898d1fa2556d204321e33139543a61c6ddda15b419b877cc7009e91b5d9", + "key": "roborumble/bvh.fnr.Fenrir_0.36l.jar", + "kind": "robot" + }, + "latest_observation": "b4921a3482058324", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5899.0, + "scores": [ + 2726.0, + 3173.0 + ], + "selected": "bvh.fnr.Fenrir 0.36l" + }, + "completed_at": "2026-09-08T21:04:10Z", + "delta_pct": -7.8, + "id": "c42dcc45e38dcd92", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.fnr.Fenrir 0.36l", + "division": "roborumble", + "jar": "bvh.fnr.Fenrir_0.36l.jar", + "jar_sha256": "986ed898d1fa2556d204321e33139543a61c6ddda15b419b877cc7009e91b5d9", + "key": "roborumble/bvh.fnr.Fenrir_0.36l.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5440.0, + "scores": [ + 3191.0, + 2249.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6250.0, + "scores": [ + 3194.0, + 3056.0 + ], + "selected": "bvh.fnr.Fenrir 0.36l" + }, + "completed_at": "2026-09-11T19:59:02Z", + "confirmation": null, + "delta_pct": -9.9, + "id": "b4921a3482058324", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.fnr.Fenrir 0.36l", + "division": "roborumble", + "jar": "bvh.fnr.Fenrir_0.36l.jar", + "jar_sha256": "986ed898d1fa2556d204321e33139543a61c6ddda15b419b877cc7009e91b5d9", + "key": "roborumble/bvh.fnr.Fenrir_0.36l.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5634.0, + "scores": [ + 3064.0, + 2570.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.frg.Friga_0.112dev.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.frg.Friga 0.112dev", + "division": "roborumble", + "jar": "bvh.frg.Friga_0.112dev.jar", + "jar_sha256": "a7bda40ea78e411a38c3d99bf52466b26ae5efe3df9dc432b48f6df388346d9f", + "key": "roborumble/bvh.frg.Friga_0.112dev.jar", + "kind": "robot" + }, + "latest_observation": "76fc12ecb24aaeda", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5674.0, + "scores": [ + 2831.0, + 2843.0 + ], + "selected": "bvh.frg.Friga 0.112dev" + }, + "completed_at": "2026-09-08T21:04:33Z", + "delta_pct": -9.2, + "id": "2c64749929672cae", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.frg.Friga 0.112dev", + "division": "roborumble", + "jar": "bvh.frg.Friga_0.112dev.jar", + "jar_sha256": "a7bda40ea78e411a38c3d99bf52466b26ae5efe3df9dc432b48f6df388346d9f", + "key": "roborumble/bvh.frg.Friga_0.112dev.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5151.0, + "scores": [ + 2893.0, + 2258.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5289.0, + "scores": [ + 2594.0, + 2695.0 + ], + "selected": "bvh.frg.Friga 0.112dev" + }, + "completed_at": "2026-09-11T19:59:25Z", + "confirmation": null, + "delta_pct": -2.8, + "id": "76fc12ecb24aaeda", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.frg.Friga 0.112dev", + "division": "roborumble", + "jar": "bvh.frg.Friga_0.112dev.jar", + "jar_sha256": "a7bda40ea78e411a38c3d99bf52466b26ae5efe3df9dc432b48f6df388346d9f", + "key": "roborumble/bvh.frg.Friga_0.112dev.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5141.0, + "scores": [ + 2952.0, + 2189.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.fry.Freya_0.82.jar": { + "diagnosis_events": [ + { + "cause": "packaged-data-resources", + "id": "diagnosis-1", + "owner": "bridge", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "bvh.fry.Freya 0.82", + "division": "roborumble", + "jar": "bvh.fry.Freya_0.82.jar", + "jar_sha256": "2618ef3fb7cd8cb814b33be2531dc1e81661554362f93b29a80d1cce31f12fe5", + "key": "roborumble/bvh.fry.Freya_0.82.jar", + "kind": "robot" + }, + "latest_observation": "fe61ff5c72809b21", + "observations": [ + { + "classic": { + "elapsed": 6.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5546.0, + "scores": [ + 2606.0, + 2940.0 + ], + "selected": "bvh.fry.Freya 0.82" + }, + "completed_at": "2026-09-08T21:04:44Z", + "delta_pct": null, + "id": "d32b1f5ce3e25f80", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.fry.Freya 0.82", + "division": "roborumble", + "jar": "bvh.fry.Freya_0.82.jar", + "jar_sha256": "2618ef3fb7cd8cb814b33be2531dc1e81661554362f93b29a80d1cce31f12fe5", + "key": "roborumble/bvh.fry.Freya_0.82.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "inlezenInitialisatieBestand(): IOException bij inlezen data Freya.ini: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\bvh.fry.Freya_0.82\\Freya.data\\Freya.ini (Den angivne fil blev ikke fundet)", + "inlezenInitialisatieBestand(): IOException bij inlezen data Freya.ini: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\bvh.fry.Freya_0.82-2\\Freya.data\\Freya.ini (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5390.0, + "scores": [ + 2628.0, + 2762.0 + ], + "selected": "bvh.fry.Freya 0.82" + }, + "completed_at": "2026-09-11T19:59:36Z", + "confirmation": null, + "delta_pct": null, + "id": "d085ccd0fda17438", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.fry.Freya 0.82", + "division": "roborumble", + "jar": "bvh.fry.Freya_0.82.jar", + "jar_sha256": "2618ef3fb7cd8cb814b33be2531dc1e81661554362f93b29a80d1cce31f12fe5", + "key": "roborumble/bvh.fry.Freya_0.82.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.FileNotFoundException", + "unknown" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "inlezenInitialisatieBestand(): IOException bij inlezen data Freya.ini: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\bvh.fry.Freya_0.82\\Freya.data\\Freya.ini (Den angivne fil blev ikke fundet)", + "inlezenInitialisatieBestand(): IOException bij inlezen data Freya.ini: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\bvh.fry.Freya_0.82-2\\Freya.data\\Freya.ini (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5673.0, + "scores": [ + 2750.0, + 2923.0 + ], + "selected": "bvh.fry.Freya 0.82" + }, + "completed_at": "2026-09-22T14:28:38Z", + "confirmation": null, + "delta_pct": -7.7, + "id": "fe61ff5c72809b21", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "44fd5bc10abfb832ffa69914ec852b968e159399", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "packaged-data-resources", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "28d4a79" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.fry.Freya 0.82", + "division": "roborumble", + "jar": "bvh.fry.Freya_0.82.jar", + "jar_sha256": "2618ef3fb7cd8cb814b33be2531dc1e81661554362f93b29a80d1cce31f12fe5", + "key": "roborumble/bvh.fry.Freya_0.82.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5238.0, + "scores": [ + 2772.0, + 2466.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.hdr.Hodur_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.hdr.Hodur 0.4", + "division": "roborumble", + "jar": "bvh.hdr.Hodur_0.4.jar", + "jar_sha256": "2bd6a9804697badcfad118f8c84db756b33cd9154144da4b19166f9f7caea94e", + "key": "roborumble/bvh.hdr.Hodur_0.4.jar", + "kind": "robot" + }, + "latest_observation": "8a25b46b587e2378", + "observations": [ + { + "classic": { + "elapsed": 6.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 1932.0, + "scores": [ + 1011.0, + 921.0 + ], + "selected": "bvh.hdr.Hodur 0.4" + }, + "completed_at": "2026-09-08T21:05:24Z", + "delta_pct": -37.2, + "id": "bc89209e78a077fc", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.hdr.Hodur 0.4", + "division": "roborumble", + "jar": "bvh.hdr.Hodur_0.4.jar", + "jar_sha256": "2bd6a9804697badcfad118f8c84db756b33cd9154144da4b19166f9f7caea94e", + "key": "roborumble/bvh.hdr.Hodur_0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 34.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 1214.0, + "scores": [ + 681.0, + 533.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1774.0, + "scores": [ + 905.0, + 869.0 + ], + "selected": "bvh.hdr.Hodur 0.4" + }, + "completed_at": "2026-09-11T20:00:19Z", + "confirmation": null, + "delta_pct": -32.3, + "id": "8a25b46b587e2378", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.hdr.Hodur 0.4", + "division": "roborumble", + "jar": "bvh.hdr.Hodur_0.4.jar", + "jar_sha256": "2bd6a9804697badcfad118f8c84db756b33cd9154144da4b19166f9f7caea94e", + "key": "roborumble/bvh.hdr.Hodur_0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1201.0, + "scores": [ + 636.0, + 565.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/bvh.loki.Loki_0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.loki.Loki 0.5", + "division": "roborumble", + "jar": "bvh.loki.Loki_0.5.jar", + "jar_sha256": "46f15811b1cbdfa571eca677320bd0efca497cfb6ed6b672e82f8c27dfb3f0c6", + "key": "roborumble/bvh.loki.Loki_0.5.jar", + "kind": "robot" + }, + "latest_observation": "baababf4d63efaf4", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8924.0, + "scores": [ + 4303.0, + 4621.0 + ], + "selected": "bvh.loki.Loki 0.5" + }, + "completed_at": "2026-09-08T21:05:47Z", + "delta_pct": -47.3, + "id": "c679e09780c18a52", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.loki.Loki 0.5", + "division": "roborumble", + "jar": "bvh.loki.Loki_0.5.jar", + "jar_sha256": "46f15811b1cbdfa571eca677320bd0efca497cfb6ed6b672e82f8c27dfb3f0c6", + "key": "roborumble/bvh.loki.Loki_0.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4699.0, + "scores": [ + 2780.0, + 1919.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9164.0, + "scores": [ + 4309.0, + 4855.0 + ], + "selected": "bvh.loki.Loki 0.5" + }, + "completed_at": "2026-09-11T20:00:44Z", + "confirmation": null, + "delta_pct": -49.8, + "id": "baababf4d63efaf4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.loki.Loki 0.5", + "division": "roborumble", + "jar": "bvh.loki.Loki_0.5.jar", + "jar_sha256": "46f15811b1cbdfa571eca677320bd0efca497cfb6ed6b672e82f8c27dfb3f0c6", + "key": "roborumble/bvh.loki.Loki_0.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4603.0, + "scores": [ + 2676.0, + 1927.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/bvh.micro.Freya_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.micro.Freya 0.3", + "division": "roborumble", + "jar": "bvh.micro.Freya_0.3.jar", + "jar_sha256": "97868a0fa8ea022df4e19ae810f3a098da8c0d897ebd4564c1afe2b9f9002890", + "key": "roborumble/bvh.micro.Freya_0.3.jar", + "kind": "robot" + }, + "latest_observation": "cb8ffc8035b0b113", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5721.0, + "scores": [ + 2696.0, + 3025.0 + ], + "selected": "bvh.micro.Freya 0.3" + }, + "completed_at": "2026-09-08T21:06:12Z", + "delta_pct": -6.4, + "id": "2f1498ceffdac7e0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.micro.Freya 0.3", + "division": "roborumble", + "jar": "bvh.micro.Freya_0.3.jar", + "jar_sha256": "97868a0fa8ea022df4e19ae810f3a098da8c0d897ebd4564c1afe2b9f9002890", + "key": "roborumble/bvh.micro.Freya_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5354.0, + "scores": [ + 2752.0, + 2602.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5844.0, + "scores": [ + 2834.0, + 3010.0 + ], + "selected": "bvh.micro.Freya 0.3" + }, + "completed_at": "2026-09-11T20:01:09Z", + "confirmation": null, + "delta_pct": -9.3, + "id": "cb8ffc8035b0b113", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.micro.Freya 0.3", + "division": "roborumble", + "jar": "bvh.micro.Freya_0.3.jar", + "jar_sha256": "97868a0fa8ea022df4e19ae810f3a098da8c0d897ebd4564c1afe2b9f9002890", + "key": "roborumble/bvh.micro.Freya_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5302.0, + "scores": [ + 2843.0, + 2459.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.micro.Svadilfari_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.micro.Svadilfari 0.2", + "division": "roborumble", + "jar": "bvh.micro.Svadilfari_0.2.jar", + "jar_sha256": "29e9fea32030a66e7c1be3582f3e06fb461d760fb0d4457b420d30ed0cb2b12a", + "key": "roborumble/bvh.micro.Svadilfari_0.2.jar", + "kind": "robot" + }, + "latest_observation": "31e4d17c67a09cf7", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8232.0, + "scores": [ + 4101.0, + 4131.0 + ], + "selected": "bvh.micro.Svadilfari 0.2" + }, + "completed_at": "2026-09-08T21:06:31Z", + "delta_pct": 2.4, + "id": "4dadfc08d52161ce", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.micro.Svadilfari 0.2", + "division": "roborumble", + "jar": "bvh.micro.Svadilfari_0.2.jar", + "jar_sha256": "29e9fea32030a66e7c1be3582f3e06fb461d760fb0d4457b420d30ed0cb2b12a", + "key": "roborumble/bvh.micro.Svadilfari_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8430.0, + "scores": [ + 4518.0, + 3912.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8666.0, + "scores": [ + 3790.0, + 4876.0 + ], + "selected": "bvh.micro.Svadilfari 0.2" + }, + "completed_at": "2026-09-11T20:01:30Z", + "confirmation": null, + "delta_pct": -4.9, + "id": "31e4d17c67a09cf7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.micro.Svadilfari 0.2", + "division": "roborumble", + "jar": "bvh.micro.Svadilfari_0.2.jar", + "jar_sha256": "29e9fea32030a66e7c1be3582f3e06fb461d760fb0d4457b420d30ed0cb2b12a", + "key": "roborumble/bvh.micro.Svadilfari_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8244.0, + "scores": [ + 4159.0, + 4085.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.mini.Fenrir_0.39.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.mini.Fenrir 0.39", + "division": "roborumble", + "jar": "bvh.mini.Fenrir_0.39.jar", + "jar_sha256": "3d63cdf11e5846c7e295db9c27965b84e7d1944b923d09979819f188700220a1", + "key": "roborumble/bvh.mini.Fenrir_0.39.jar", + "kind": "robot" + }, + "latest_observation": "a6a855c07fd9da46", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6512.0, + "scores": [ + 3618.0, + 2894.0 + ], + "selected": "bvh.mini.Fenrir 0.39" + }, + "completed_at": "2026-09-08T21:06:50Z", + "delta_pct": -11.2, + "id": "ff57f8cea1909f17", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.mini.Fenrir 0.39", + "division": "roborumble", + "jar": "bvh.mini.Fenrir_0.39.jar", + "jar_sha256": "3d63cdf11e5846c7e295db9c27965b84e7d1944b923d09979819f188700220a1", + "key": "roborumble/bvh.mini.Fenrir_0.39.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5782.0, + "scores": [ + 3256.0, + 2526.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5720.0, + "scores": [ + 2722.0, + 2998.0 + ], + "selected": "bvh.mini.Fenrir 0.39" + }, + "completed_at": "2026-09-11T20:01:51Z", + "confirmation": null, + "delta_pct": 3.2, + "id": "a6a855c07fd9da46", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.mini.Fenrir 0.39", + "division": "roborumble", + "jar": "bvh.mini.Fenrir_0.39.jar", + "jar_sha256": "3d63cdf11e5846c7e295db9c27965b84e7d1944b923d09979819f188700220a1", + "key": "roborumble/bvh.mini.Fenrir_0.39.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5905.0, + "scores": [ + 3032.0, + 2873.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.mini.Freya_0.55.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.mini.Freya 0.55", + "division": "roborumble", + "jar": "bvh.mini.Freya_0.55.jar", + "jar_sha256": "4a3e45054c437df7ac073756d18ff8b6cf67ab4f9f686484a325afdd455c4452", + "key": "roborumble/bvh.mini.Freya_0.55.jar", + "kind": "robot" + }, + "latest_observation": "faff76b00952488f", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5601.0, + "scores": [ + 2929.0, + 2672.0 + ], + "selected": "bvh.mini.Freya 0.55" + }, + "completed_at": "2026-09-08T21:07:13Z", + "delta_pct": -21.3, + "id": "815497cd00aa57b0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.mini.Freya 0.55", + "division": "roborumble", + "jar": "bvh.mini.Freya_0.55.jar", + "jar_sha256": "4a3e45054c437df7ac073756d18ff8b6cf67ab4f9f686484a325afdd455c4452", + "key": "roborumble/bvh.mini.Freya_0.55.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4407.0, + "scores": [ + 2423.0, + 1984.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5679.0, + "scores": [ + 2944.0, + 2735.0 + ], + "selected": "bvh.mini.Freya 0.55" + }, + "completed_at": "2026-09-11T20:02:14Z", + "confirmation": null, + "delta_pct": -21.3, + "id": "faff76b00952488f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.mini.Freya 0.55", + "division": "roborumble", + "jar": "bvh.mini.Freya_0.55.jar", + "jar_sha256": "4a3e45054c437df7ac073756d18ff8b6cf67ab4f9f686484a325afdd455c4452", + "key": "roborumble/bvh.mini.Freya_0.55.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4470.0, + "scores": [ + 2706.0, + 1764.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.mini.Mjolnir_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.mini.Mjolnir 0.3", + "division": "roborumble", + "jar": "bvh.mini.Mjolnir_0.3.jar", + "jar_sha256": "00db20570e2aebaf5d4ead68f922b93bf07d4b6620524ea9655f8e24a51e8641", + "key": "roborumble/bvh.mini.Mjolnir_0.3.jar", + "kind": "robot" + }, + "latest_observation": "b8b6ef9147eb54d2", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 9311.0, + "scores": [ + 4758.0, + 4553.0 + ], + "selected": "bvh.mini.Mjolnir 0.3" + }, + "completed_at": "2026-09-08T21:07:28Z", + "delta_pct": -26.4, + "id": "3d1c3e239d06d795", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.mini.Mjolnir 0.3", + "division": "roborumble", + "jar": "bvh.mini.Mjolnir_0.3.jar", + "jar_sha256": "00db20570e2aebaf5d4ead68f922b93bf07d4b6620524ea9655f8e24a51e8641", + "key": "roborumble/bvh.mini.Mjolnir_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6851.0, + "scores": [ + 5183.0, + 1668.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10260.0, + "scores": [ + 4384.0, + 5876.0 + ], + "selected": "bvh.mini.Mjolnir 0.3" + }, + "completed_at": "2026-09-11T20:02:28Z", + "confirmation": null, + "delta_pct": 16.0, + "id": "b8b6ef9147eb54d2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.mini.Mjolnir 0.3", + "division": "roborumble", + "jar": "bvh.mini.Mjolnir_0.3.jar", + "jar_sha256": "00db20570e2aebaf5d4ead68f922b93bf07d4b6620524ea9655f8e24a51e8641", + "key": "roborumble/bvh.mini.Mjolnir_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11901.0, + "scores": [ + 6068.0, + 5833.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.mini.Wodan_0.50.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.mini.Wodan 0.50", + "division": "roborumble", + "jar": "bvh.mini.Wodan_0.50.jar", + "jar_sha256": "ee38f593b18a05e2a8864301c15e9106be792d1ab51f6f7cb6df64eb1eb8b435", + "key": "roborumble/bvh.mini.Wodan_0.50.jar", + "kind": "robot" + }, + "latest_observation": "ca182a611e34db8e", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7054.0, + "scores": [ + 2923.0, + 4131.0 + ], + "selected": "bvh.mini.Wodan 0.50" + }, + "completed_at": "2026-09-08T21:07:47Z", + "delta_pct": 7.0, + "id": "d89e8a196146f1ec", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.mini.Wodan 0.50", + "division": "roborumble", + "jar": "bvh.mini.Wodan_0.50.jar", + "jar_sha256": "ee38f593b18a05e2a8864301c15e9106be792d1ab51f6f7cb6df64eb1eb8b435", + "key": "roborumble/bvh.mini.Wodan_0.50.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7550.0, + "scores": [ + 3931.0, + 3619.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6996.0, + "scores": [ + 3070.0, + 3926.0 + ], + "selected": "bvh.mini.Wodan 0.50" + }, + "completed_at": "2026-09-11T20:02:49Z", + "confirmation": null, + "delta_pct": -4.2, + "id": "ca182a611e34db8e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.mini.Wodan 0.50", + "division": "roborumble", + "jar": "bvh.mini.Wodan_0.50.jar", + "jar_sha256": "ee38f593b18a05e2a8864301c15e9106be792d1ab51f6f7cb6df64eb1eb8b435", + "key": "roborumble/bvh.mini.Wodan_0.50.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6702.0, + "scores": [ + 3813.0, + 2889.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bvh.tyr.Tyr_1.74.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bvh.tyr.Tyr 1.74", + "division": "roborumble", + "jar": "bvh.tyr.Tyr_1.74.jar", + "jar_sha256": "9a05860b706454676778504df31631db93837f284afb17359b9ddec691bce34a", + "key": "roborumble/bvh.tyr.Tyr_1.74.jar", + "kind": "robot" + }, + "latest_observation": "5b1f84ee29ac481a", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7879.0, + "scores": [ + 3920.0, + 3959.0 + ], + "selected": "bvh.tyr.Tyr 1.74" + }, + "completed_at": "2026-09-08T21:08:08Z", + "delta_pct": -24.8, + "id": "f40bad8a5aff304f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.tyr.Tyr 1.74", + "division": "roborumble", + "jar": "bvh.tyr.Tyr_1.74.jar", + "jar_sha256": "9a05860b706454676778504df31631db93837f284afb17359b9ddec691bce34a", + "key": "roborumble/bvh.tyr.Tyr_1.74.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5923.0, + "scores": [ + 3174.0, + 2749.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7492.0, + "scores": [ + 3703.0, + 3789.0 + ], + "selected": "bvh.tyr.Tyr 1.74" + }, + "completed_at": "2026-09-11T20:03:12Z", + "confirmation": null, + "delta_pct": -20.4, + "id": "5b1f84ee29ac481a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bvh.tyr.Tyr 1.74", + "division": "roborumble", + "jar": "bvh.tyr.Tyr_1.74.jar", + "jar_sha256": "9a05860b706454676778504df31631db93837f284afb17359b9ddec691bce34a", + "key": "roborumble/bvh.tyr.Tyr_1.74.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5961.0, + "scores": [ + 3133.0, + 2828.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bwbaugh.nano.Tirunculus_0.0.0a.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bwbaugh.nano.Tirunculus 0.0.0a", + "division": "roborumble", + "jar": "bwbaugh.nano.Tirunculus_0.0.0a.jar", + "jar_sha256": "d1fcb6072a0110947df39ad0db284f0fa4f229e7ef0f0d2502553ca0b2acb7d4", + "key": "roborumble/bwbaugh.nano.Tirunculus_0.0.0a.jar", + "kind": "robot" + }, + "latest_observation": "065a07920f011446", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10796.0, + "scores": [ + 5699.0, + 5097.0 + ], + "selected": "bwbaugh.nano.Tirunculus 0.0.0a" + }, + "completed_at": "2026-09-08T21:08:20Z", + "delta_pct": 53.7, + "id": "b935555308fc01c3", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bwbaugh.nano.Tirunculus 0.0.0a", + "division": "roborumble", + "jar": "bwbaugh.nano.Tirunculus_0.0.0a.jar", + "jar_sha256": "d1fcb6072a0110947df39ad0db284f0fa4f229e7ef0f0d2502553ca0b2acb7d4", + "key": "roborumble/bwbaugh.nano.Tirunculus_0.0.0a.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 10.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 16591.0, + "scores": [ + 8399.0, + 8192.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11076.0, + "scores": [ + 5207.0, + 5869.0 + ], + "selected": "bwbaugh.nano.Tirunculus 0.0.0a" + }, + "completed_at": "2026-09-11T20:04:39Z", + "confirmation": null, + "delta_pct": 48.8, + "id": "065a07920f011446", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bwbaugh.nano.Tirunculus 0.0.0a", + "division": "roborumble", + "jar": "bwbaugh.nano.Tirunculus_0.0.0a.jar", + "jar_sha256": "d1fcb6072a0110947df39ad0db284f0fa4f229e7ef0f0d2502553ca0b2acb7d4", + "key": "roborumble/bwbaugh.nano.Tirunculus_0.0.0a.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 16482.0, + "scores": [ + 8300.0, + 8182.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/bzdp.BoxCar_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bzdp.BoxCar 2.0", + "division": "roborumble", + "jar": "bzdp.BoxCar_2.0.jar", + "jar_sha256": "22e13c11b29fb3ed958288b38d67ab6ae02bd899f16ddcf96295f621e795ecb6", + "key": "roborumble/bzdp.BoxCar_2.0.jar", + "kind": "robot" + }, + "latest_observation": "158dc02a97104f42", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7919.0, + "scores": [ + 3893.0, + 4026.0 + ], + "selected": "bzdp.BoxCar 2.0" + }, + "completed_at": "2026-09-08T21:08:37Z", + "delta_pct": -9.8, + "id": "67c108afb1e67978", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bzdp.BoxCar 2.0", + "division": "roborumble", + "jar": "bzdp.BoxCar_2.0.jar", + "jar_sha256": "22e13c11b29fb3ed958288b38d67ab6ae02bd899f16ddcf96295f621e795ecb6", + "key": "roborumble/bzdp.BoxCar_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7143.0, + "scores": [ + 4080.0, + 3063.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7578.0, + "scores": [ + 3317.0, + 4261.0 + ], + "selected": "bzdp.BoxCar 2.0" + }, + "completed_at": "2026-09-11T20:05:12Z", + "confirmation": null, + "delta_pct": -7.7, + "id": "158dc02a97104f42", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bzdp.BoxCar 2.0", + "division": "roborumble", + "jar": "bzdp.BoxCar_2.0.jar", + "jar_sha256": "22e13c11b29fb3ed958288b38d67ab6ae02bd899f16ddcf96295f621e795ecb6", + "key": "roborumble/bzdp.BoxCar_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6998.0, + "scores": [ + 3617.0, + 3381.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/bzdp.Pansy_2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "bzdp.Pansy 2.1", + "division": "roborumble", + "jar": "bzdp.Pansy_2.1.jar", + "jar_sha256": "71057e19022678ba19a873854afb4bd32a986ae77c5105c79cb549ab664ff939", + "key": "roborumble/bzdp.Pansy_2.1.jar", + "kind": "robot" + }, + "latest_observation": "e5ecc6fe604d60b8", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7852.0, + "scores": [ + 3771.0, + 4081.0 + ], + "selected": "bzdp.Pansy 2.1" + }, + "completed_at": "2026-09-08T21:08:54Z", + "delta_pct": -1.3, + "id": "a96b223336b776df", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bzdp.Pansy 2.1", + "division": "roborumble", + "jar": "bzdp.Pansy_2.1.jar", + "jar_sha256": "71057e19022678ba19a873854afb4bd32a986ae77c5105c79cb549ab664ff939", + "key": "roborumble/bzdp.Pansy_2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7749.0, + "scores": [ + 4975.0, + 2774.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8436.0, + "scores": [ + 5161.0, + 3275.0 + ], + "selected": "bzdp.Pansy 2.1" + }, + "completed_at": "2026-09-11T20:05:29Z", + "confirmation": null, + "delta_pct": -9.3, + "id": "e5ecc6fe604d60b8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "bzdp.Pansy 2.1", + "division": "roborumble", + "jar": "bzdp.Pansy_2.1.jar", + "jar_sha256": "71057e19022678ba19a873854afb4bd32a986ae77c5105c79cb549ab664ff939", + "key": "roborumble/bzdp.Pansy_2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7648.0, + "scores": [ + 3856.0, + 3792.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/caimano.Furia_Ceca_0.22.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "caimano.Furia_Ceca 0.22", + "division": "roborumble", + "jar": "caimano.Furia_Ceca_0.22.jar", + "jar_sha256": "c1ce5bbf430fe9edc12da1768284be6f3d5bc35a9f48c84819f21edd32241616", + "key": "roborumble/caimano.Furia_Ceca_0.22.jar", + "kind": "robot" + }, + "latest_observation": "4d5dd0574032c7bf", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5715.0, + "scores": [ + 2046.0, + 3669.0 + ], + "selected": "caimano.Furia_Ceca 0.22" + }, + "completed_at": "2026-09-08T21:09:08Z", + "delta_pct": -45.5, + "id": "99d4763f956857c8", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "caimano.Furia_Ceca 0.22", + "division": "roborumble", + "jar": "caimano.Furia_Ceca_0.22.jar", + "jar_sha256": "c1ce5bbf430fe9edc12da1768284be6f3d5bc35a9f48c84819f21edd32241616", + "key": "roborumble/caimano.Furia_Ceca_0.22.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3115.0, + "scores": [ + 1628.0, + 1487.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5526.0, + "scores": [ + 2390.0, + 3136.0 + ], + "selected": "caimano.Furia_Ceca 0.22" + }, + "completed_at": "2026-09-11T20:05:46Z", + "confirmation": null, + "delta_pct": -47.3, + "id": "4d5dd0574032c7bf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "caimano.Furia_Ceca 0.22", + "division": "roborumble", + "jar": "caimano.Furia_Ceca_0.22.jar", + "jar_sha256": "c1ce5bbf430fe9edc12da1768284be6f3d5bc35a9f48c84819f21edd32241616", + "key": "roborumble/caimano.Furia_Ceca_0.22.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2913.0, + "scores": [ + 1545.0, + 1368.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/casey.Flee_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "casey.Flee 1.0", + "division": "roborumble", + "jar": "casey.Flee_1.0.jar", + "jar_sha256": "5edafd751bd0f81632eecb11ea74c9bfbf3eb3b2c8e4aead9eaf7ec7cd41aecc", + "key": "roborumble/casey.Flee_1.0.jar", + "kind": "robot" + }, + "latest_observation": "a68f7fbc62aef405", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4964.0, + "scores": [ + 2442.0, + 2522.0 + ], + "selected": "casey.Flee 1.0" + }, + "completed_at": "2026-09-08T21:09:27Z", + "delta_pct": -5.1, + "id": "ad19841f89469280", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "casey.Flee 1.0", + "division": "roborumble", + "jar": "casey.Flee_1.0.jar", + "jar_sha256": "5edafd751bd0f81632eecb11ea74c9bfbf3eb3b2c8e4aead9eaf7ec7cd41aecc", + "key": "roborumble/casey.Flee_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4710.0, + "scores": [ + 2584.0, + 2126.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5314.0, + "scores": [ + 2621.0, + 2693.0 + ], + "selected": "casey.Flee 1.0" + }, + "completed_at": "2026-09-11T20:06:07Z", + "confirmation": null, + "delta_pct": -14.3, + "id": "a68f7fbc62aef405", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "casey.Flee 1.0", + "division": "roborumble", + "jar": "casey.Flee_1.0.jar", + "jar_sha256": "5edafd751bd0f81632eecb11ea74c9bfbf3eb3b2c8e4aead9eaf7ec7cd41aecc", + "key": "roborumble/casey.Flee_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4555.0, + "scores": [ + 2299.0, + 2256.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cb.Domogled_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cb.Domogled 1.2", + "division": "roborumble", + "jar": "cb.Domogled_1.2.jar", + "jar_sha256": "75c374c61a80c5606d1ecd1220d80d663497eef1618b9a80f112c41e5b81e70a", + "key": "roborumble/cb.Domogled_1.2.jar", + "kind": "robot" + }, + "latest_observation": "5447e9339db7eccd", + "observations": [ + { + "classic": { + "elapsed": 18.3, + "error_count": 1, + "errors": [ + "Unable to stop thread: cb.Domogled 1.2 (2)" + ], + "has_log": true, + "ok": true, + "score": 4626.0, + "scores": [ + 2097.0, + 2529.0 + ], + "selected": "cb.Domogled 1.2" + }, + "completed_at": "2026-09-08T21:09:50Z", + "delta_pct": null, + "id": "ab4a97816c447d60", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cb.Domogled 1.2", + "division": "roborumble", + "jar": "cb.Domogled_1.2.jar", + "jar_sha256": "75c374c61a80c5606d1ecd1220d80d663497eef1618b9a80f112c41e5b81e70a", + "key": "roborumble/cb.Domogled_1.2.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.1, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot read field \"location\" because \"this.myState\" is null", + "java.lang.NullPointerException: Cannot read field \"location\" because \"this.myState\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 19.8, + "error_count": 1, + "error_signatures": [], + "errors": [ + "Unable to stop thread: cb.Domogled 1.2 (1)" + ], + "has_log": true, + "ok": true, + "score": 4347.0, + "scores": [ + 2165.0, + 2182.0 + ], + "selected": "cb.Domogled 1.2" + }, + "completed_at": "2026-09-11T20:06:31Z", + "confirmation": null, + "delta_pct": null, + "id": "5447e9339db7eccd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cb.Domogled 1.2", + "division": "roborumble", + "jar": "cb.Domogled_1.2.jar", + "jar_sha256": "75c374c61a80c5606d1ecd1220d80d663497eef1618b9a80f112c41e5b81e70a", + "key": "roborumble/cb.Domogled_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "cb.Domogled.movement" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "cb.Domogled.movement" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot read field \"location\" because \"this.myState\" is null", + "java.lang.NullPointerException: Cannot read field \"location\" because \"this.myState\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/cb.fire.Firestarter_2.0f.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cb.fire.Firestarter 2.0f", + "division": "roborumble", + "jar": "cb.fire.Firestarter_2.0f.jar", + "jar_sha256": "de45410b59fea6b8fad9463ece161e1e1656960129f1b9bc84791137d788325f", + "key": "roborumble/cb.fire.Firestarter_2.0f.jar", + "kind": "robot" + }, + "latest_observation": "89623ea5edf609f2", + "observations": [ + { + "classic": { + "elapsed": 65.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4553.0, + "scores": [ + 2228.0, + 2325.0 + ], + "selected": "cb.fire.Firestarter 2.0f" + }, + "completed_at": "2026-09-08T21:10:59Z", + "delta_pct": null, + "id": "2002e30ad998c641", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cb.fire.Firestarter 2.0f", + "division": "roborumble", + "jar": "cb.fire.Firestarter_2.0f.jar", + "jar_sha256": "de45410b59fea6b8fad9463ece161e1e1656960129f1b9bc84791137d788325f", + "key": "roborumble/cb.fire.Firestarter_2.0f.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Rectangle2D$Double.contains(java.awt.geom.Point2D)\" because \"this.atan2\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Rectangle2D$Double.contains(java.awt.geom.Point2D)\" because \"this.atan2\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 66.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4490.0, + "scores": [ + 2291.0, + 2199.0 + ], + "selected": "cb.fire.Firestarter 2.0f" + }, + "completed_at": "2026-09-11T20:07:42Z", + "confirmation": null, + "delta_pct": null, + "id": "89623ea5edf609f2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cb.fire.Firestarter 2.0f", + "division": "roborumble", + "jar": "cb.fire.Firestarter_2.0f.jar", + "jar_sha256": "de45410b59fea6b8fad9463ece161e1e1656960129f1b9bc84791137d788325f", + "key": "roborumble/cb.fire.Firestarter_2.0f.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "C.I.I" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "C.I.I" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Rectangle2D$Double.contains(java.awt.geom.Point2D)\" because \"this.atan2\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Rectangle2D$Double.contains(java.awt.geom.Point2D)\" because \"this.atan2\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/cb.mega.RandomBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cb.mega.RandomBot 1.0", + "division": "roborumble", + "jar": "cb.mega.RandomBot_1.0.jar", + "jar_sha256": "34a1049d295fe3ae436785ef0ba1e74824f059c4b2478b9975522c1698816285", + "key": "roborumble/cb.mega.RandomBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "9f919c351f22baa4", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6116.0, + "scores": [ + 3139.0, + 2977.0 + ], + "selected": "cb.mega.RandomBot 1.0" + }, + "completed_at": "2026-09-08T21:11:07Z", + "delta_pct": null, + "id": "55bade0feb6ac865", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cb.mega.RandomBot 1.0", + "division": "roborumble", + "jar": "cb.mega.RandomBot_1.0.jar", + "jar_sha256": "34a1049d295fe3ae436785ef0ba1e74824f059c4b2478b9975522c1698816285", + "key": "roborumble/cb.mega.RandomBot_1.0.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"cb.mega.ComponentRobot.append\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"cb.mega.ComponentRobot.append\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5673.0, + "scores": [ + 2638.0, + 3035.0 + ], + "selected": "cb.mega.RandomBot 1.0" + }, + "completed_at": "2026-09-11T20:07:50Z", + "confirmation": null, + "delta_pct": null, + "id": "9f919c351f22baa4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cb.mega.RandomBot 1.0", + "division": "roborumble", + "jar": "cb.mega.RandomBot_1.0.jar", + "jar_sha256": "34a1049d295fe3ae436785ef0ba1e74824f059c4b2478b9975522c1698816285", + "key": "roborumble/cb.mega.RandomBot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "cb.mega.ComponentRobot.run" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "cb.mega.ComponentRobot.run" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"cb.mega.ComponentRobot.append\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"cb.mega.ComponentRobot.append\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/cb.nano.Insomnia_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cb.nano.Insomnia 1.0", + "division": "roborumble", + "jar": "cb.nano.Insomnia_1.0.jar", + "jar_sha256": "dfaa0b7522185985faaaad2c8c8761b56ed6b2e31f9d256de0abbcf466863d30", + "key": "roborumble/cb.nano.Insomnia_1.0.jar", + "kind": "robot" + }, + "latest_observation": "2b65230e01814b28", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2400.0, + "scores": [ + 1122.0, + 1278.0 + ], + "selected": "cb.nano.Insomnia 1.0" + }, + "completed_at": "2026-09-08T21:11:30Z", + "delta_pct": 14.0, + "id": "997241f811003c48", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cb.nano.Insomnia 1.0", + "division": "roborumble", + "jar": "cb.nano.Insomnia_1.0.jar", + "jar_sha256": "dfaa0b7522185985faaaad2c8c8761b56ed6b2e31f9d256de0abbcf466863d30", + "key": "roborumble/cb.nano.Insomnia_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2736.0, + "scores": [ + 1421.0, + 1315.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2286.0, + "scores": [ + 1213.0, + 1073.0 + ], + "selected": "cb.nano.Insomnia 1.0" + }, + "completed_at": "2026-09-11T20:08:17Z", + "confirmation": null, + "delta_pct": 41.0, + "id": "2b65230e01814b28", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cb.nano.Insomnia 1.0", + "division": "roborumble", + "jar": "cb.nano.Insomnia_1.0.jar", + "jar_sha256": "dfaa0b7522185985faaaad2c8c8761b56ed6b2e31f9d256de0abbcf466863d30", + "key": "roborumble/cb.nano.Insomnia_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3224.0, + "scores": [ + 1870.0, + 1354.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/cbot.agile.Nibbler_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cbot.agile.Nibbler 0.2", + "division": "roborumble", + "jar": "cbot.agile.Nibbler_0.2.jar", + "jar_sha256": "b1b79c3c45f03c2098bee75bd1c379e51b8e45f66418b0ac15a9e9747fef1689", + "key": "roborumble/cbot.agile.Nibbler_0.2.jar", + "kind": "robot" + }, + "latest_observation": "a743104b456df95b", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 3, + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"cbot.agile.Pray.getDistance()\" because \"pray\" is null", + "java.lang.NullPointerException: Cannot invoke \"cbot.agile.Pray.getDistance()\" because \"pray\" is null", + "java.lang.NullPointerException: Cannot invoke \"cbot.agile.Pray.getDistance()\" because \"pray\" is null" + ], + "has_log": true, + "ok": true, + "score": 5348.0, + "scores": [ + 2800.0, + 2548.0 + ], + "selected": "cbot.agile.Nibbler 0.2" + }, + "completed_at": "2026-09-08T21:11:48Z", + "delta_pct": 31.5, + "id": "50feb7c195d9d53e", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cbot.agile.Nibbler 0.2", + "division": "roborumble", + "jar": "cbot.agile.Nibbler_0.2.jar", + "jar_sha256": "b1b79c3c45f03c2098bee75bd1c379e51b8e45f66418b0ac15a9e9747fef1689", + "key": "roborumble/cbot.agile.Nibbler_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7030.0, + "scores": [ + 3730.0, + 3300.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.5, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "cbot.agile.driver.RandomPointDriver.getStopTicks" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"cbot.agile.Pray.getDistance()\" because \"pray\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException: Cannot invoke \"cbot.agile.Pray.getDistance()\" because \"pray\" is null", + "java.lang.NullPointerException: Cannot invoke \"cbot.agile.Pray.getDistance()\" because \"pray\" is null" + ], + "has_log": true, + "ok": true, + "score": 5394.0, + "scores": [ + 2893.0, + 2501.0 + ], + "selected": "cbot.agile.Nibbler 0.2" + }, + "completed_at": "2026-09-11T20:08:35Z", + "confirmation": null, + "delta_pct": 20.7, + "id": "a743104b456df95b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cbot.agile.Nibbler 0.2", + "division": "roborumble", + "jar": "cbot.agile.Nibbler_0.2.jar", + "jar_sha256": "b1b79c3c45f03c2098bee75bd1c379e51b8e45f66418b0ac15a9e9747fef1689", + "key": "roborumble/cbot.agile.Nibbler_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6509.0, + "scores": [ + 3325.0, + 3184.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/cbot.cbot.CBot_0.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cbot.cbot.CBot 0.8", + "division": "roborumble", + "jar": "cbot.cbot.CBot_0.8.jar", + "jar_sha256": "96f2840bf8bb3ecd5dcd7c8079cf0bc0d2a9a6ddfd4da5cb2e7a520b7c6a2ffc", + "key": "roborumble/cbot.cbot.CBot_0.8.jar", + "kind": "robot" + }, + "latest_observation": "72304543581f9b7b", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5878.0, + "scores": [ + 3222.0, + 2656.0 + ], + "selected": "cbot.cbot.CBot 0.8" + }, + "completed_at": "2026-09-08T21:11:57Z", + "delta_pct": null, + "id": "7337304cd84cf9c0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cbot.cbot.CBot 0.8", + "division": "roborumble", + "jar": "cbot.cbot.CBot_0.8.jar", + "jar_sha256": "96f2840bf8bb3ecd5dcd7c8079cf0bc0d2a9a6ddfd4da5cb2e7a520b7c6a2ffc", + "key": "roborumble/cbot.cbot.CBot_0.8.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 6.1, + "error_count": 2, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"cbot.cbot.Pray.getHittingRates()\" because \"this.currentPray\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6132.0, + "scores": [ + 2206.0, + 3926.0 + ], + "selected": "cbot.cbot.CBot 0.8" + }, + "completed_at": "2026-09-11T20:08:55Z", + "confirmation": null, + "delta_pct": -16.0, + "id": "72304543581f9b7b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cbot.cbot.CBot 0.8", + "division": "roborumble", + "jar": "cbot.cbot.CBot_0.8.jar", + "jar_sha256": "96f2840bf8bb3ecd5dcd7c8079cf0bc0d2a9a6ddfd4da5cb2e7a520b7c6a2ffc", + "key": "roborumble/cbot.cbot.CBot_0.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5153.0, + "scores": [ + 2688.0, + 2465.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cf.OldMan.OldManXP_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cf.OldMan.OldManXP 0.1", + "division": "roborumble", + "jar": "cf.OldMan.OldManXP_0.1.jar", + "jar_sha256": "463822efc7f7fec009495fb2395ad09b36b081119df3e18d3b5044d58a562ce5", + "key": "roborumble/cf.OldMan.OldManXP_0.1.jar", + "kind": "robot" + }, + "latest_observation": "9ee75157b4ba10a1", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10602.0, + "scores": [ + 5036.0, + 5566.0 + ], + "selected": "cf.OldMan.OldManXP 0.1" + }, + "completed_at": "2026-09-08T21:12:34Z", + "delta_pct": -10.1, + "id": "f54923f1b67ca9f0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cf.OldMan.OldManXP 0.1", + "division": "roborumble", + "jar": "cf.OldMan.OldManXP_0.1.jar", + "jar_sha256": "463822efc7f7fec009495fb2395ad09b36b081119df3e18d3b5044d58a562ce5", + "key": "roborumble/cf.OldMan.OldManXP_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 9531.0, + "scores": [ + 4804.0, + 4727.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11310.0, + "scores": [ + 5427.0, + 5883.0 + ], + "selected": "cf.OldMan.OldManXP 0.1" + }, + "completed_at": "2026-09-11T20:09:37Z", + "confirmation": null, + "delta_pct": -19.3, + "id": "9ee75157b4ba10a1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cf.OldMan.OldManXP 0.1", + "division": "roborumble", + "jar": "cf.OldMan.OldManXP_0.1.jar", + "jar_sha256": "463822efc7f7fec009495fb2395ad09b36b081119df3e18d3b5044d58a562ce5", + "key": "roborumble/cf.OldMan.OldManXP_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9128.0, + "scores": [ + 4962.0, + 4166.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cf.mini.Chiva_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cf.mini.Chiva 1.0", + "division": "roborumble", + "jar": "cf.mini.Chiva_1.0.jar", + "jar_sha256": "a0aef88f5c5fa4d6542a4e56c1576efb911d6bebb70da9676582c51bcef3c688", + "key": "roborumble/cf.mini.Chiva_1.0.jar", + "kind": "robot" + }, + "latest_observation": "81ca35e884bdda0d", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5151.0, + "scores": [ + 2301.0, + 2850.0 + ], + "selected": "cf.mini.Chiva 1.0" + }, + "completed_at": "2026-09-08T21:12:18Z", + "delta_pct": -8.7, + "id": "336aaa29d4d4cb86", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cf.mini.Chiva 1.0", + "division": "roborumble", + "jar": "cf.mini.Chiva_1.0.jar", + "jar_sha256": "a0aef88f5c5fa4d6542a4e56c1576efb911d6bebb70da9676582c51bcef3c688", + "key": "roborumble/cf.mini.Chiva_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4703.0, + "scores": [ + 2536.0, + 2167.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5205.0, + "scores": [ + 3239.0, + 1966.0 + ], + "selected": "cf.mini.Chiva 1.0" + }, + "completed_at": "2026-09-11T20:09:20Z", + "confirmation": null, + "delta_pct": -9.9, + "id": "81ca35e884bdda0d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cf.mini.Chiva 1.0", + "division": "roborumble", + "jar": "cf.mini.Chiva_1.0.jar", + "jar_sha256": "a0aef88f5c5fa4d6542a4e56c1576efb911d6bebb70da9676582c51bcef3c688", + "key": "roborumble/cf.mini.Chiva_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4688.0, + "scores": [ + 2689.0, + 1999.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cf.proto.Shiva_2.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cf.proto.Shiva 2.2", + "division": "roborumble", + "jar": "cf.proto.Shiva_2.2.jar", + "jar_sha256": "b56a27faf5dcfcd10fa25ea0b3d1dd9bedb48eea0bf5e38e8ecb89b339827f61", + "key": "roborumble/cf.proto.Shiva_2.2.jar", + "kind": "robot" + }, + "latest_observation": "982c54f11f7bf862", + "observations": [ + { + "classic": { + "elapsed": 5.5, + "error_count": 2, + "errors": [ + "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cf\\proto\\Shiva.data\\cf.proto.Shiva 2.2 (2).txt.gz (Den angivne fil blev ikke fundet)", + "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cf\\proto\\Shiva.data\\cf.proto.Shiva 2.2 (1).txt.gz (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 4670.0, + "scores": [ + 2328.0, + 2342.0 + ], + "selected": "cf.proto.Shiva 2.2" + }, + "completed_at": "2026-09-08T21:16:01Z", + "delta_pct": -5.2, + "id": "92716decc58e938d", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cf.proto.Shiva 2.2", + "division": "roborumble", + "jar": "cf.proto.Shiva_2.2.jar", + "jar_sha256": "b56a27faf5dcfcd10fa25ea0b3d1dd9bedb48eea0bf5e38e8ecb89b339827f61", + "key": "roborumble/cf.proto.Shiva_2.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 2, + "errors": [ + "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cf.proto.Shiva_2.2\\Shiva.data\\1.txt.gz (Den angivne fil blev ikke fundet)", + "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cf.proto.Shiva_2.2-2\\Shiva.data\\2.txt.gz (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 4427.0, + "scores": [ + 2362.0, + 2065.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.6, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cf\\proto\\Shiva.data\\cf.proto.Shiva 2.2 (2).txt.gz (Den angivne fil blev ikke fundet)", + "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cf\\proto\\Shiva.data\\cf.proto.Shiva 2.2 (1).txt.gz (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 4528.0, + "scores": [ + 2332.0, + 2196.0 + ], + "selected": "cf.proto.Shiva 2.2" + }, + "completed_at": "2026-09-11T20:10:07Z", + "confirmation": null, + "delta_pct": -5.5, + "id": "982c54f11f7bf862", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cf.proto.Shiva 2.2", + "division": "roborumble", + "jar": "cf.proto.Shiva_2.2.jar", + "jar_sha256": "b56a27faf5dcfcd10fa25ea0b3d1dd9bedb48eea0bf5e38e8ecb89b339827f61", + "key": "roborumble/cf.proto.Shiva_2.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cf.proto.Shiva_2.2\\Shiva.data\\2.txt.gz (Den angivne fil blev ikke fundet)", + "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cf.proto.Shiva_2.2-2\\Shiva.data\\1.txt.gz (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 4280.0, + "scores": [ + 2324.0, + 1956.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cf.star.Star2_1.23.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cf.star.Star2 1.23", + "division": "roborumble", + "jar": "cf.star.Star2_1.23.jar", + "jar_sha256": "d1d945c1450132a1a072cb08465db641b83af579d8339115641632aa6e670a4e", + "key": "roborumble/cf.star.Star2_1.23.jar", + "kind": "robot" + }, + "latest_observation": "f7ffd0788cc90587", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5134.0, + "scores": [ + 2598.0, + 2536.0 + ], + "selected": "cf.star.Star2 1.23" + }, + "completed_at": "2026-09-08T21:16:20Z", + "delta_pct": 17.8, + "id": "8c06e2125b4e11c4", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cf.star.Star2 1.23", + "division": "roborumble", + "jar": "cf.star.Star2_1.23.jar", + "jar_sha256": "d1d945c1450132a1a072cb08465db641b83af579d8339115641632aa6e670a4e", + "key": "roborumble/cf.star.Star2_1.23.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6047.0, + "scores": [ + 4090.0, + 1957.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5608.0, + "scores": [ + 2421.0, + 3187.0 + ], + "selected": "cf.star.Star2 1.23" + }, + "completed_at": "2026-09-11T20:10:29Z", + "confirmation": null, + "delta_pct": 5.8, + "id": "f7ffd0788cc90587", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cf.star.Star2 1.23", + "division": "roborumble", + "jar": "cf.star.Star2_1.23.jar", + "jar_sha256": "d1d945c1450132a1a072cb08465db641b83af579d8339115641632aa6e670a4e", + "key": "roborumble/cf.star.Star2_1.23.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5935.0, + "scores": [ + 3268.0, + 2667.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ch.rhj.rbc.RHJ1_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ch.rhj.rbc.RHJ1 1.0", + "division": "roborumble", + "jar": "ch.rhj.rbc.RHJ1_1.0.jar", + "jar_sha256": "f45cba75cecd9459729641dab9cfc9830853d855888acbf42b612f74234e566d", + "key": "roborumble/ch.rhj.rbc.RHJ1_1.0.jar", + "kind": "robot" + }, + "latest_observation": "01de6468fb9276c1", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12947.0, + "scores": [ + 6393.0, + 6554.0 + ], + "selected": "ch.rhj.rbc.RHJ1 1.0" + }, + "completed_at": "2026-09-08T21:16:56Z", + "delta_pct": 0.5, + "id": "09fc48a0219093cf", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ch.rhj.rbc.RHJ1 1.0", + "division": "roborumble", + "jar": "ch.rhj.rbc.RHJ1_1.0.jar", + "jar_sha256": "f45cba75cecd9459729641dab9cfc9830853d855888acbf42b612f74234e566d", + "key": "roborumble/ch.rhj.rbc.RHJ1_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 32.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 13008.0, + "scores": [ + 6950.0, + 6058.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12894.0, + "scores": [ + 6150.0, + 6744.0 + ], + "selected": "ch.rhj.rbc.RHJ1 1.0" + }, + "completed_at": "2026-09-11T20:11:11Z", + "confirmation": null, + "delta_pct": 0.8, + "id": "01de6468fb9276c1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ch.rhj.rbc.RHJ1 1.0", + "division": "roborumble", + "jar": "ch.rhj.rbc.RHJ1_1.0.jar", + "jar_sha256": "f45cba75cecd9459729641dab9cfc9830853d855888acbf42b612f74234e566d", + "key": "roborumble/ch.rhj.rbc.RHJ1_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12998.0, + "scores": [ + 6670.0, + 6328.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/chase.pm.Pytko_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "chase.pm.Pytko 1.0", + "division": "roborumble", + "jar": "chase.pm.Pytko_1.0.jar", + "jar_sha256": "0bf2f81bd9c5ff44bcb27f2ce214eb769f1c7d2b91ad83a3880e8a17d0f193f3", + "key": "roborumble/chase.pm.Pytko_1.0.jar", + "kind": "robot" + }, + "latest_observation": "f3341a46358cb3a8", + "observations": [ + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4950.0, + "scores": [ + 2163.0, + 2787.0 + ], + "selected": "chase.pm.Pytko 1.0" + }, + "completed_at": "2026-09-08T21:17:44Z", + "delta_pct": -5.2, + "id": "5621c60c56abe7ae", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "chase.pm.Pytko 1.0", + "division": "roborumble", + "jar": "chase.pm.Pytko_1.0.jar", + "jar_sha256": "0bf2f81bd9c5ff44bcb27f2ce214eb769f1c7d2b91ad83a3880e8a17d0f193f3", + "key": "roborumble/chase.pm.Pytko_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4692.0, + "scores": [ + 2644.0, + 2048.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5211.0, + "scores": [ + 2391.0, + 2820.0 + ], + "selected": "chase.pm.Pytko 1.0" + }, + "completed_at": "2026-09-11T20:12:03Z", + "confirmation": null, + "delta_pct": -7.8, + "id": "f3341a46358cb3a8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "chase.pm.Pytko 1.0", + "division": "roborumble", + "jar": "chase.pm.Pytko_1.0.jar", + "jar_sha256": "0bf2f81bd9c5ff44bcb27f2ce214eb769f1c7d2b91ad83a3880e8a17d0f193f3", + "key": "roborumble/chase.pm.Pytko_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4803.0, + "scores": [ + 2494.0, + 2309.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/chickenfuego.UrChicken2_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "chickenfuego.UrChicken2 1.0", + "division": "roborumble", + "jar": "chickenfuego.UrChicken2_1.0.jar", + "jar_sha256": "a56a6d6bbeae72501cb86c35621436e91b31686db0785cd3151512452bdf818f", + "key": "roborumble/chickenfuego.UrChicken2_1.0.jar", + "kind": "robot" + }, + "latest_observation": "728bbeb46f532bf2", + "observations": [ + { + "classic": { + "elapsed": 5.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5804.0, + "scores": [ + 2824.0, + 2980.0 + ], + "selected": "chickenfuego.UrChicken2 1.0" + }, + "completed_at": "2026-09-08T21:18:36Z", + "delta_pct": -8.7, + "id": "ac7ec21a2a822b4f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "chickenfuego.UrChicken2 1.0", + "division": "roborumble", + "jar": "chickenfuego.UrChicken2_1.0.jar", + "jar_sha256": "a56a6d6bbeae72501cb86c35621436e91b31686db0785cd3151512452bdf818f", + "key": "roborumble/chickenfuego.UrChicken2_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 46.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5300.0, + "scores": [ + 2887.0, + 2413.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6402.0, + "scores": [ + 3219.0, + 3183.0 + ], + "selected": "chickenfuego.UrChicken2 1.0" + }, + "completed_at": "2026-09-11T20:12:52Z", + "confirmation": null, + "delta_pct": -28.7, + "id": "728bbeb46f532bf2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "chickenfuego.UrChicken2 1.0", + "division": "roborumble", + "jar": "chickenfuego.UrChicken2_1.0.jar", + "jar_sha256": "a56a6d6bbeae72501cb86c35621436e91b31686db0785cd3151512452bdf818f", + "key": "roborumble/chickenfuego.UrChicken2_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 44.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4566.0, + "scores": [ + 2401.0, + 2165.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/cjk.Merkava_0.1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cjk.Merkava 0.1.1", + "division": "roborumble", + "jar": "cjk.Merkava_0.1.1.jar", + "jar_sha256": "5a16d1a4eaa4437b1552185a75d121a8153985febc5d3d215f94fc93dbd3f094", + "key": "roborumble/cjk.Merkava_0.1.1.jar", + "kind": "robot" + }, + "latest_observation": "56e7d8dd5c969372", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5678.0, + "scores": [ + 2936.0, + 2742.0 + ], + "selected": "cjk.Merkava 0.1.1" + }, + "completed_at": "2026-09-08T21:18:55Z", + "delta_pct": -24.1, + "id": "ca8bad284ef8d30e", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cjk.Merkava 0.1.1", + "division": "roborumble", + "jar": "cjk.Merkava_0.1.1.jar", + "jar_sha256": "5a16d1a4eaa4437b1552185a75d121a8153985febc5d3d215f94fc93dbd3f094", + "key": "roborumble/cjk.Merkava_0.1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4311.0, + "scores": [ + 2343.0, + 1968.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5403.0, + "scores": [ + 2983.0, + 2420.0 + ], + "selected": "cjk.Merkava 0.1.1" + }, + "completed_at": "2026-09-11T20:13:13Z", + "confirmation": null, + "delta_pct": -12.3, + "id": "56e7d8dd5c969372", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cjk.Merkava 0.1.1", + "division": "roborumble", + "jar": "cjk.Merkava_0.1.1.jar", + "jar_sha256": "5a16d1a4eaa4437b1552185a75d121a8153985febc5d3d215f94fc93dbd3f094", + "key": "roborumble/cjk.Merkava_0.1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4739.0, + "scores": [ + 2723.0, + 2016.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cjm.Che_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cjm.Che 1.2", + "division": "roborumble", + "jar": "cjm.Che_1.2.jar", + "jar_sha256": "490b1e9e8d36ca42f225dd9cd2bd2033c9dee27ef24d71e2396e5eec5ae4565b", + "key": "roborumble/cjm.Che_1.2.jar", + "kind": "robot" + }, + "latest_observation": "08e3ebbb8e8cafec", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5896.0, + "scores": [ + 3080.0, + 2816.0 + ], + "selected": "cjm.Che 1.2" + }, + "completed_at": "2026-09-08T21:19:16Z", + "delta_pct": -8.2, + "id": "30b3c8b16bb49f75", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cjm.Che 1.2", + "division": "roborumble", + "jar": "cjm.Che_1.2.jar", + "jar_sha256": "490b1e9e8d36ca42f225dd9cd2bd2033c9dee27ef24d71e2396e5eec5ae4565b", + "key": "roborumble/cjm.Che_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5415.0, + "scores": [ + 3077.0, + 2338.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5779.0, + "scores": [ + 2462.0, + 3317.0 + ], + "selected": "cjm.Che 1.2" + }, + "completed_at": "2026-09-11T20:13:38Z", + "confirmation": null, + "delta_pct": -6.8, + "id": "08e3ebbb8e8cafec", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cjm.Che 1.2", + "division": "roborumble", + "jar": "cjm.Che_1.2.jar", + "jar_sha256": "490b1e9e8d36ca42f225dd9cd2bd2033c9dee27ef24d71e2396e5eec5ae4565b", + "key": "roborumble/cjm.Che_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5388.0, + "scores": [ + 2756.0, + 2632.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cli.Dancer_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cli.Dancer 1.1", + "division": "roborumble", + "jar": "cli.Dancer_1.1.jar", + "jar_sha256": "6126e668dd994c5d3b47f50cad7e28313ad0b67ef1d5def7746846a35de8e07b", + "key": "roborumble/cli.Dancer_1.1.jar", + "kind": "robot" + }, + "latest_observation": "76d6527ba565e6e8", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6556.0, + "scores": [ + 3859.0, + 2697.0 + ], + "selected": "cli.Dancer 1.1" + }, + "completed_at": "2026-09-08T21:19:35Z", + "delta_pct": 9.7, + "id": "75019a166932d5c2", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cli.Dancer 1.1", + "division": "roborumble", + "jar": "cli.Dancer_1.1.jar", + "jar_sha256": "6126e668dd994c5d3b47f50cad7e28313ad0b67ef1d5def7746846a35de8e07b", + "key": "roborumble/cli.Dancer_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7189.0, + "scores": [ + 3657.0, + 3532.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6898.0, + "scores": [ + 3826.0, + 3072.0 + ], + "selected": "cli.Dancer 1.1" + }, + "completed_at": "2026-09-11T20:13:59Z", + "confirmation": null, + "delta_pct": 20.5, + "id": "76d6527ba565e6e8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cli.Dancer 1.1", + "division": "roborumble", + "jar": "cli.Dancer_1.1.jar", + "jar_sha256": "6126e668dd994c5d3b47f50cad7e28313ad0b67ef1d5def7746846a35de8e07b", + "key": "roborumble/cli.Dancer_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8309.0, + "scores": [ + 4740.0, + 3569.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cli.WasteOfAmmo_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cli.WasteOfAmmo 1.0", + "division": "roborumble", + "jar": "cli.WasteOfAmmo_1.0.jar", + "jar_sha256": "c899395217eb5b9a8c9bdcd3e8869616ec23576e787e4ce3e2c7c3263695b36f", + "key": "roborumble/cli.WasteOfAmmo_1.0.jar", + "kind": "robot" + }, + "latest_observation": "2f903f1fb948749b", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "cli.WasteOfAmmo 1.0" + }, + "completed_at": "2026-09-08T21:19:58Z", + "delta_pct": null, + "id": "ad72f39287f5b880", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cli.WasteOfAmmo 1.0", + "division": "roborumble", + "jar": "cli.WasteOfAmmo_1.0.jar", + "jar_sha256": "c899395217eb5b9a8c9bdcd3e8869616ec23576e787e4ce3e2c7c3263695b36f", + "key": "roborumble/cli.WasteOfAmmo_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 1380.0, + "scores": [ + 840.0, + 540.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "cli.WasteOfAmmo 1.0" + }, + "completed_at": "2026-09-11T20:14:25Z", + "confirmation": null, + "delta_pct": null, + "id": "2f903f1fb948749b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cli.WasteOfAmmo 1.0", + "division": "roborumble", + "jar": "cli.WasteOfAmmo_1.0.jar", + "jar_sha256": "c899395217eb5b9a8c9bdcd3e8869616ec23576e787e4ce3e2c7c3263695b36f", + "key": "roborumble/cli.WasteOfAmmo_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1400.0, + "scores": [ + 760.0, + 640.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/codemojo.nano.Woot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "codemojo.nano.Woot 1.0", + "division": "roborumble", + "jar": "codemojo.nano.Woot_1.0.jar", + "jar_sha256": "7f635dc2e4809d680d0bef2e71454a61c03051e0385ec3e11af10105b694c3d6", + "key": "roborumble/codemojo.nano.Woot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "7b75c4d17e30213b", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4048.0, + "scores": [ + 2085.0, + 1963.0 + ], + "selected": "codemojo.nano.Woot 1.0" + }, + "completed_at": "2026-09-08T21:20:15Z", + "delta_pct": -2.7, + "id": "ec2f186e76fabdbc", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "codemojo.nano.Woot 1.0", + "division": "roborumble", + "jar": "codemojo.nano.Woot_1.0.jar", + "jar_sha256": "7f635dc2e4809d680d0bef2e71454a61c03051e0385ec3e11af10105b694c3d6", + "key": "roborumble/codemojo.nano.Woot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3939.0, + "scores": [ + 2031.0, + 1908.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4487.0, + "scores": [ + 1977.0, + 2510.0 + ], + "selected": "codemojo.nano.Woot 1.0" + }, + "completed_at": "2026-09-11T20:14:44Z", + "confirmation": null, + "delta_pct": -20.2, + "id": "7b75c4d17e30213b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "codemojo.nano.Woot 1.0", + "division": "roborumble", + "jar": "codemojo.nano.Woot_1.0.jar", + "jar_sha256": "7f635dc2e4809d680d0bef2e71454a61c03051e0385ec3e11af10105b694c3d6", + "key": "roborumble/codemojo.nano.Woot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3582.0, + "scores": [ + 1868.0, + 1714.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/com.arsenic.NewTest_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "com.arsenic.NewTest 1.0", + "division": "roborumble", + "jar": "com.arsenic.NewTest_1.0.jar", + "jar_sha256": "0a5a9d382489ace685399cf9c5d709daa70f7e545ac85d54a1b0e81bf7d3a412", + "key": "roborumble/com.arsenic.NewTest_1.0.jar", + "kind": "robot" + }, + "latest_observation": "d6d74c72cf5e95ab", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 10, + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -47 out of bounds for length 2", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -47 out of bounds for length 2", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -93 out of bounds for length 2", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -53 out of bounds for length 2", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -47 out of bounds for length 2" + ], + "has_log": true, + "ok": true, + "score": 6336.0, + "scores": [ + 2876.0, + 3460.0 + ], + "selected": "com.arsenic.NewTest 1.0" + }, + "completed_at": "2026-09-08T21:20:32Z", + "delta_pct": 0.3, + "id": "bec9ffc1e65a95d1", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.arsenic.NewTest 1.0", + "division": "roborumble", + "jar": "com.arsenic.NewTest_1.0.jar", + "jar_sha256": "0a5a9d382489ace685399cf9c5d709daa70f7e545ac85d54a1b0e81bf7d3a412", + "key": "roborumble/com.arsenic.NewTest_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6352.0, + "scores": [ + 3403.0, + 2949.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 12, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "com.arsenic.NewTest.onBulletHit" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "com.arsenic.NewTest.onBulletMissed" + } + ], + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -42 out of bounds for length 2", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 43 out of bounds for length 2", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -41 out of bounds for length 2", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -76 out of bounds for length 2", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -30 out of bounds for length 2", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index -53 out of bounds for length 2" + ], + "has_log": true, + "ok": true, + "score": 6375.0, + "scores": [ + 3613.0, + 2762.0 + ], + "selected": "com.arsenic.NewTest 1.0" + }, + "completed_at": "2026-09-11T20:15:02Z", + "confirmation": null, + "delta_pct": -0.7, + "id": "d6d74c72cf5e95ab", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.arsenic.NewTest 1.0", + "division": "roborumble", + "jar": "com.arsenic.NewTest_1.0.jar", + "jar_sha256": "0a5a9d382489ace685399cf9c5d709daa70f7e545ac85d54a1b0e81bf7d3a412", + "key": "roborumble/com.arsenic.NewTest_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6328.0, + "scores": [ + 3619.0, + 2709.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "com.blogspot.malinkody.DestrobotMalin 1.0", + "division": "roborumble", + "jar": "com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "jar_sha256": "d3205656d01007c800f5fa5549d247aa7030a40380277752ecd590e091339c27", + "key": "roborumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "kind": "robot" + }, + "latest_observation": "5150f5d9febe75e6", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7820.0, + "scores": [ + 3673.0, + 4147.0 + ], + "selected": "com.blogspot.malinkody.DestrobotMalin 1.0" + }, + "completed_at": "2026-09-08T21:21:03Z", + "delta_pct": -58.8, + "id": "41f11a8de1bd0c5b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.blogspot.malinkody.DestrobotMalin 1.0", + "division": "roborumble", + "jar": "com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "jar_sha256": "d3205656d01007c800f5fa5549d247aa7030a40380277752ecd590e091339c27", + "key": "roborumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 28.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3218.0, + "scores": [ + 1747.0, + 1471.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8493.0, + "scores": [ + 3960.0, + 4533.0 + ], + "selected": "com.blogspot.malinkody.DestrobotMalin 1.0" + }, + "completed_at": "2026-09-11T20:15:50Z", + "confirmation": null, + "delta_pct": -62.7, + "id": "5150f5d9febe75e6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.blogspot.malinkody.DestrobotMalin 1.0", + "division": "roborumble", + "jar": "com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "jar_sha256": "d3205656d01007c800f5fa5549d247aa7030a40380277752ecd590e091339c27", + "key": "roborumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3172.0, + "scores": [ + 2012.0, + 1160.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/com.cohesiva.robocode.ManOwaR_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "com.cohesiva.robocode.ManOwaR 1.0", + "division": "roborumble", + "jar": "com.cohesiva.robocode.ManOwaR_1.0.jar", + "jar_sha256": "46519fab7d639e4d0a64afdd133618e92b7dcd923b8f252325098cc4a0e9031e", + "key": "roborumble/com.cohesiva.robocode.ManOwaR_1.0.jar", + "kind": "robot" + }, + "latest_observation": "12786f49002d3554", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 4, + "errors": [ + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive" + ], + "has_log": true, + "ok": true, + "score": 4856.0, + "scores": [ + 2550.0, + 2306.0 + ], + "selected": "com.cohesiva.robocode.ManOwaR 1.0" + }, + "completed_at": "2026-09-08T21:21:39Z", + "delta_pct": 0.4, + "id": "b68f0a69b507a3fe", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.cohesiva.robocode.ManOwaR 1.0", + "division": "roborumble", + "jar": "com.cohesiva.robocode.ManOwaR_1.0.jar", + "jar_sha256": "46519fab7d639e4d0a64afdd133618e92b7dcd923b8f252325098cc4a0e9031e", + "key": "roborumble/com.cohesiva.robocode.ManOwaR_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 32.0, + "error_count": 1, + "errors": [ + "java.lang.IllegalArgumentException: bound must be positive" + ], + "has_log": true, + "ok": true, + "score": 4873.0, + "scores": [ + 2446.0, + 2427.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.2, + "error_count": 20, + "error_signatures": [ + { + "exception": "java.lang.IllegalArgumentException", + "origin": "com.cohesiva.robocode.AntiGravMovement.onHitByBullet" + } + ], + "errors": [ + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", + "java.lang.IllegalArgumentException: bound must be positive" + ], + "has_log": true, + "ok": true, + "score": 4749.0, + "scores": [ + 1967.0, + 2782.0 + ], + "selected": "com.cohesiva.robocode.ManOwaR 1.0" + }, + "completed_at": "2026-09-11T20:16:25Z", + "confirmation": null, + "delta_pct": -2.6, + "id": "12786f49002d3554", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.cohesiva.robocode.ManOwaR 1.0", + "division": "roborumble", + "jar": "com.cohesiva.robocode.ManOwaR_1.0.jar", + "jar_sha256": "46519fab7d639e4d0a64afdd133618e92b7dcd923b8f252325098cc4a0e9031e", + "key": "roborumble/com.cohesiva.robocode.ManOwaR_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.IllegalArgumentException", + "origin": "com.cohesiva.robocode.AntiGravMovement.onHitByBullet" + } + ], + "errors": [ + "java.lang.IllegalArgumentException: bound must be positive", + "java.lang.IllegalArgumentException: bound must be positive" + ], + "has_log": true, + "ok": true, + "score": 4627.0, + "scores": [ + 2441.0, + 2186.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/com.sociesc.T1000_1.0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "com.sociesc.T1000 1.0.0", + "division": "roborumble", + "jar": "com.sociesc.T1000_1.0.0.jar", + "jar_sha256": "4398cb800fc016f19b0a9841c795e5bdf33ab65beaff628759abf81ce711732f", + "key": "roborumble/com.sociesc.T1000_1.0.0.jar", + "kind": "robot" + }, + "latest_observation": "0f2d5c4b9089dfeb", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "com.sociesc.T1000 1.0.0" + }, + "completed_at": "2026-09-08T21:22:15Z", + "delta_pct": null, + "id": "c50ef80274e4a320", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.sociesc.T1000 1.0.0", + "division": "roborumble", + "jar": "com.sociesc.T1000_1.0.0.jar", + "jar_sha256": "4398cb800fc016f19b0a9841c795e5bdf33ab65beaff628759abf81ce711732f", + "key": "roborumble/com.sociesc.T1000_1.0.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "elapsed": 32.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 362.0, + "scores": [ + 181.0, + 181.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3.0, + "scores": [ + 2.0, + 1.0 + ], + "selected": "com.sociesc.T1000 1.0.0" + }, + "completed_at": "2026-09-11T20:16:59Z", + "confirmation": null, + "delta_pct": 13933.3, + "id": "0f2d5c4b9089dfeb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.sociesc.T1000 1.0.0", + "division": "roborumble", + "jar": "com.sociesc.T1000_1.0.0.jar", + "jar_sha256": "4398cb800fc016f19b0a9841c795e5bdf33ab65beaff628759abf81ce711732f", + "key": "roborumble/com.sociesc.T1000_1.0.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 421.0, + "scores": [ + 241.0, + 180.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/com.spp.robocode.MostlyHarmless_010.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "com.spp.robocode.MostlyHarmless 010", + "division": "roborumble", + "jar": "com.spp.robocode.MostlyHarmless_010.jar", + "jar_sha256": "79e3073e986fc6cdf59da91bb4f2b4c271770c7b31600fd2eafebb20bfca2710", + "key": "roborumble/com.spp.robocode.MostlyHarmless_010.jar", + "kind": "robot" + }, + "latest_observation": "bf9624b1e5be7364", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7087.0, + "scores": [ + 3817.0, + 3270.0 + ], + "selected": "com.spp.robocode.MostlyHarmless 010" + }, + "completed_at": "2026-09-08T21:22:39Z", + "delta_pct": 0.5, + "id": "7f12b894b7bb568c", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.spp.robocode.MostlyHarmless 010", + "division": "roborumble", + "jar": "com.spp.robocode.MostlyHarmless_010.jar", + "jar_sha256": "79e3073e986fc6cdf59da91bb4f2b4c271770c7b31600fd2eafebb20bfca2710", + "key": "roborumble/com.spp.robocode.MostlyHarmless_010.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7123.0, + "scores": [ + 3634.0, + 3489.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6791.0, + "scores": [ + 3557.0, + 3234.0 + ], + "selected": "com.spp.robocode.MostlyHarmless 010" + }, + "completed_at": "2026-09-11T20:17:25Z", + "confirmation": null, + "delta_pct": 3.8, + "id": "bf9624b1e5be7364", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.spp.robocode.MostlyHarmless 010", + "division": "roborumble", + "jar": "com.spp.robocode.MostlyHarmless_010.jar", + "jar_sha256": "79e3073e986fc6cdf59da91bb4f2b4c271770c7b31600fd2eafebb20bfca2710", + "key": "roborumble/com.spp.robocode.MostlyHarmless_010.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7048.0, + "scores": [ + 4188.0, + 2860.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/com.syncleus.robocode.Dreadnaught_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "com.syncleus.robocode.Dreadnaught 0.1", + "division": "roborumble", + "jar": "com.syncleus.robocode.Dreadnaught_0.1.jar", + "jar_sha256": "4a2a9926375fca4cf32ea72bdc8ab43930223f2090bae428474eafb9a6dd823c", + "key": "roborumble/com.syncleus.robocode.Dreadnaught_0.1.jar", + "kind": "robot" + }, + "latest_observation": "74e041fd9d303f18", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12138.0, + "scores": [ + 5649.0, + 6489.0 + ], + "selected": "com.syncleus.robocode.Dreadnaught 0.1" + }, + "completed_at": "2026-09-08T21:22:56Z", + "delta_pct": 1.2, + "id": "f963f02cb575c278", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.syncleus.robocode.Dreadnaught 0.1", + "division": "roborumble", + "jar": "com.syncleus.robocode.Dreadnaught_0.1.jar", + "jar_sha256": "4a2a9926375fca4cf32ea72bdc8ab43930223f2090bae428474eafb9a6dd823c", + "key": "roborumble/com.syncleus.robocode.Dreadnaught_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12285.0, + "scores": [ + 6150.0, + 6135.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12117.0, + "scores": [ + 6241.0, + 5876.0 + ], + "selected": "com.syncleus.robocode.Dreadnaught 0.1" + }, + "completed_at": "2026-09-11T20:17:42Z", + "confirmation": null, + "delta_pct": -4.3, + "id": "74e041fd9d303f18", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.syncleus.robocode.Dreadnaught 0.1", + "division": "roborumble", + "jar": "com.syncleus.robocode.Dreadnaught_0.1.jar", + "jar_sha256": "4a2a9926375fca4cf32ea72bdc8ab43930223f2090bae428474eafb9a6dd823c", + "key": "roborumble/com.syncleus.robocode.Dreadnaught_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11594.0, + "scores": [ + 5853.0, + 5741.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/com.timothyveletta.FuzzyBot_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "com.timothyveletta.FuzzyBot 1.1", + "division": "roborumble", + "jar": "com.timothyveletta.FuzzyBot_1.1.jar", + "jar_sha256": "4d2003ddcb53060505ae0c6c32b74ed389da21f047faba64f6fe03bb9488fa37", + "key": "roborumble/com.timothyveletta.FuzzyBot_1.1.jar", + "kind": "robot" + }, + "latest_observation": "2725e155384329ea", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8421.0, + "scores": [ + 4238.0, + 4183.0 + ], + "selected": "com.timothyveletta.FuzzyBot 1.1" + }, + "completed_at": "2026-09-08T21:23:13Z", + "delta_pct": -3.5, + "id": "f3979e1d91165e7b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.timothyveletta.FuzzyBot 1.1", + "division": "roborumble", + "jar": "com.timothyveletta.FuzzyBot_1.1.jar", + "jar_sha256": "4d2003ddcb53060505ae0c6c32b74ed389da21f047faba64f6fe03bb9488fa37", + "key": "roborumble/com.timothyveletta.FuzzyBot_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8126.0, + "scores": [ + 4244.0, + 3882.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8320.0, + "scores": [ + 4669.0, + 3651.0 + ], + "selected": "com.timothyveletta.FuzzyBot 1.1" + }, + "completed_at": "2026-09-11T20:18:00Z", + "confirmation": null, + "delta_pct": 0.0, + "id": "2725e155384329ea", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "com.timothyveletta.FuzzyBot 1.1", + "division": "roborumble", + "jar": "com.timothyveletta.FuzzyBot_1.1.jar", + "jar_sha256": "4d2003ddcb53060505ae0c6c32b74ed389da21f047faba64f6fe03bb9488fa37", + "key": "roborumble/com.timothyveletta.FuzzyBot_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8322.0, + "scores": [ + 5142.0, + 3180.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/conscience.Bulldozer_1.0a.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "conscience.Bulldozer 1.0a", + "division": "roborumble", + "jar": "conscience.Bulldozer_1.0a.jar", + "jar_sha256": "f822506ece11632ca21436cfede847408f696140c474ae3b35e25187fbe27875", + "key": "roborumble/conscience.Bulldozer_1.0a.jar", + "kind": "robot" + }, + "latest_observation": "d7ba964e4e43901c", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10965.0, + "scores": [ + 5873.0, + 5092.0 + ], + "selected": "conscience.Bulldozer 1.0a" + }, + "completed_at": "2026-09-08T21:23:25Z", + "delta_pct": 51.2, + "id": "34ee10313f50e735", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "conscience.Bulldozer 1.0a", + "division": "roborumble", + "jar": "conscience.Bulldozer_1.0a.jar", + "jar_sha256": "f822506ece11632ca21436cfede847408f696140c474ae3b35e25187fbe27875", + "key": "roborumble/conscience.Bulldozer_1.0a.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 10.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 16581.0, + "scores": [ + 8305.0, + 8276.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10899.0, + "scores": [ + 5182.0, + 5717.0 + ], + "selected": "conscience.Bulldozer 1.0a" + }, + "completed_at": "2026-09-11T20:18:13Z", + "confirmation": null, + "delta_pct": 51.4, + "id": "d7ba964e4e43901c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "conscience.Bulldozer 1.0a", + "division": "roborumble", + "jar": "conscience.Bulldozer_1.0a.jar", + "jar_sha256": "f822506ece11632ca21436cfede847408f696140c474ae3b35e25187fbe27875", + "key": "roborumble/conscience.Bulldozer_1.0a.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 16498.0, + "scores": [ + 8295.0, + 8203.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/conscience.Electron_1.3g.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "conscience.Electron 1.3g", + "division": "roborumble", + "jar": "conscience.Electron_1.3g.jar", + "jar_sha256": "a8d12ab9530cd0f748593ac3d04cd2cf0b563713905457257c3395b7ab7aaf9b", + "key": "roborumble/conscience.Electron_1.3g.jar", + "kind": "robot" + }, + "latest_observation": "19908c53a430749d", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8619.0, + "scores": [ + 4673.0, + 3946.0 + ], + "selected": "conscience.Electron 1.3g" + }, + "completed_at": "2026-09-08T21:23:43Z", + "delta_pct": 6.9, + "id": "60e25212f69814cd", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "conscience.Electron 1.3g", + "division": "roborumble", + "jar": "conscience.Electron_1.3g.jar", + "jar_sha256": "a8d12ab9530cd0f748593ac3d04cd2cf0b563713905457257c3395b7ab7aaf9b", + "key": "roborumble/conscience.Electron_1.3g.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 9213.0, + "scores": [ + 4903.0, + 4310.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9201.0, + "scores": [ + 4493.0, + 4708.0 + ], + "selected": "conscience.Electron 1.3g" + }, + "completed_at": "2026-09-11T20:18:30Z", + "confirmation": null, + "delta_pct": 0.8, + "id": "19908c53a430749d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "conscience.Electron 1.3g", + "division": "roborumble", + "jar": "conscience.Electron_1.3g.jar", + "jar_sha256": "a8d12ab9530cd0f748593ac3d04cd2cf0b563713905457257c3395b7ab7aaf9b", + "key": "roborumble/conscience.Electron_1.3g.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9277.0, + "scores": [ + 4791.0, + 4486.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/conscience.Idem_1.0a.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "conscience.Idem 1.0a", + "division": "roborumble", + "jar": "conscience.Idem_1.0a.jar", + "jar_sha256": "1635ea6692d7c89d41d0e089fced55ac334f24f429380fb686590ca58cecfb2d", + "key": "roborumble/conscience.Idem_1.0a.jar", + "kind": "robot" + }, + "latest_observation": "eb8ec45277d96dfd", + "observations": [ + { + "classic": { + "elapsed": 8.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 9441.0, + "scores": [ + 4317.0, + 5124.0 + ], + "selected": "conscience.Idem 1.0a" + }, + "completed_at": "2026-09-08T21:26:24Z", + "delta_pct": -19.8, + "id": "2c5f75820a136af0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "conscience.Idem 1.0a", + "division": "roborumble", + "jar": "conscience.Idem_1.0a.jar", + "jar_sha256": "1635ea6692d7c89d41d0e089fced55ac334f24f429380fb686590ca58cecfb2d", + "key": "roborumble/conscience.Idem_1.0a.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 152.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7569.0, + "scores": [ + 4064.0, + 3505.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9375.0, + "scores": [ + 4639.0, + 4736.0 + ], + "selected": "conscience.Idem 1.0a" + }, + "completed_at": "2026-09-11T20:22:40Z", + "confirmation": null, + "delta_pct": -35.1, + "id": "eb8ec45277d96dfd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "conscience.Idem 1.0a", + "division": "roborumble", + "jar": "conscience.Idem_1.0a.jar", + "jar_sha256": "1635ea6692d7c89d41d0e089fced55ac334f24f429380fb686590ca58cecfb2d", + "key": "roborumble/conscience.Idem_1.0a.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 243.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6082.0, + "scores": [ + 3305.0, + 2777.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/conscience.Suicidal_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "conscience.Suicidal 1.1", + "division": "roborumble", + "jar": "conscience.Suicidal_1.1.jar", + "jar_sha256": "4650b8e8b5705e0fafb87fb4ffdcda77597f168c7c1c9272abae80691ad4f3d6", + "key": "roborumble/conscience.Suicidal_1.1.jar", + "kind": "robot" + }, + "latest_observation": "a392eb662de14448", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "conscience.Suicidal 1.1" + }, + "completed_at": "2026-09-08T21:26:39Z", + "delta_pct": null, + "id": "126c32b41d68f5f3", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "conscience.Suicidal 1.1", + "division": "roborumble", + "jar": "conscience.Suicidal_1.1.jar", + "jar_sha256": "4650b8e8b5705e0fafb87fb4ffdcda77597f168c7c1c9272abae80691ad4f3d6", + "key": "roborumble/conscience.Suicidal_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2100.0, + "scores": [ + 1260.0, + 840.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "conscience.Suicidal 1.1" + }, + "completed_at": "2026-09-11T20:22:57Z", + "confirmation": null, + "delta_pct": null, + "id": "a392eb662de14448", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "conscience.Suicidal 1.1", + "division": "roborumble", + "jar": "conscience.Suicidal_1.1.jar", + "jar_sha256": "4650b8e8b5705e0fafb87fb4ffdcda77597f168c7c1c9272abae80691ad4f3d6", + "key": "roborumble/conscience.Suicidal_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2080.0, + "scores": [ + 1280.0, + 800.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/cre.Karolos_0.32.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cre.Karolos 0.32", + "division": "roborumble", + "jar": "cre.Karolos_0.32.jar", + "jar_sha256": "9d35fbbe7c3c3a2d325d49028ea3c4be40906f0f5e919a49dd46f66ca734e7ca", + "key": "roborumble/cre.Karolos_0.32.jar", + "kind": "robot" + }, + "latest_observation": "7bb15adf1502a23c", + "observations": [ + { + "classic": { + "elapsed": 9.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6626.0, + "scores": [ + 3289.0, + 3337.0 + ], + "selected": "cre.Karolos 0.32" + }, + "completed_at": "2026-09-08T21:26:53Z", + "delta_pct": null, + "id": "0c5b559772cf4ee1", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cre.Karolos 0.32", + "division": "roborumble", + "jar": "cre.Karolos_0.32.jar", + "jar_sha256": "9d35fbbe7c3c3a2d325d49028ea3c4be40906f0f5e919a49dd46f66ca734e7ca", + "key": "roborumble/cre.Karolos_0.32.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 370, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 9.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6430.0, + "scores": [ + 3515.0, + 2915.0 + ], + "selected": "cre.Karolos 0.32" + }, + "completed_at": "2026-09-11T20:23:11Z", + "confirmation": null, + "delta_pct": null, + "id": "7bb15adf1502a23c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cre.Karolos 0.32", + "division": "roborumble", + "jar": "cre.Karolos_0.32.jar", + "jar_sha256": "9d35fbbe7c3c3a2d325d49028ea3c4be40906f0f5e919a49dd46f66ca734e7ca", + "key": "roborumble/cre.Karolos_0.32.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "cre.b.d.b" + ] + ], + "elapsed": 4.2, + "error_count": 204, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "cre.b.d.b" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/cs.Nene_1.0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cs.Nene 1.0.5", + "division": "roborumble", + "jar": "cs.Nene_1.0.5.jar", + "jar_sha256": "9615be8f8f2bdf4f42a38f74b4b81d0944e86f06311582915a78af06d529e856", + "key": "roborumble/cs.Nene_1.0.5.jar", + "kind": "robot" + }, + "latest_observation": "0beaabd2346d9730", + "observations": [ + { + "classic": { + "elapsed": 11.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4672.0, + "scores": [ + 2424.0, + 2248.0 + ], + "selected": "cs.Nene 1.0.5" + }, + "completed_at": "2026-09-08T21:27:36Z", + "delta_pct": -100.0, + "id": "77f6703bbf53891a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cs.Nene 1.0.5", + "division": "roborumble", + "jar": "cs.Nene_1.0.5.jar", + "jar_sha256": "9615be8f8f2bdf4f42a38f74b4b81d0944e86f06311582915a78af06d529e856", + "key": "roborumble/cs.Nene_1.0.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 32.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 10.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4614.0, + "scores": [ + 2791.0, + 1823.0 + ], + "selected": "cs.Nene 1.0.5" + }, + "completed_at": "2026-09-11T20:23:56Z", + "confirmation": null, + "delta_pct": -100.0, + "id": "0beaabd2346d9730", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cs.Nene 1.0.5", + "division": "roborumble", + "jar": "cs.Nene_1.0.5.jar", + "jar_sha256": "9615be8f8f2bdf4f42a38f74b4b81d0944e86f06311582915a78af06d529e856", + "key": "roborumble/cs.Nene_1.0.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/cs.PumpkinPie_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cs.PumpkinPie 1.0", + "division": "roborumble", + "jar": "cs.PumpkinPie_1.0.jar", + "jar_sha256": "d395a080e3bfff0c30871bb5f5b255b824f5da4a72f4b0f77bab84cd8a9278fa", + "key": "roborumble/cs.PumpkinPie_1.0.jar", + "kind": "robot" + }, + "latest_observation": "c725fb8efdc81773", + "observations": [ + { + "classic": { + "elapsed": 10.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4960.0, + "scores": [ + 2852.0, + 2108.0 + ], + "selected": "cs.PumpkinPie 1.0" + }, + "completed_at": "2026-09-08T21:28:17Z", + "delta_pct": -3.4, + "id": "90e4313a94769aff", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cs.PumpkinPie 1.0", + "division": "roborumble", + "jar": "cs.PumpkinPie_1.0.jar", + "jar_sha256": "d395a080e3bfff0c30871bb5f5b255b824f5da4a72f4b0f77bab84cd8a9278fa", + "key": "roborumble/cs.PumpkinPie_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 30.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4790.0, + "scores": [ + 2664.0, + 2126.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 11.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5008.0, + "scores": [ + 2763.0, + 2245.0 + ], + "selected": "cs.PumpkinPie 1.0" + }, + "completed_at": "2026-09-11T20:24:54Z", + "confirmation": null, + "delta_pct": -7.6, + "id": "c725fb8efdc81773", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cs.PumpkinPie 1.0", + "division": "roborumble", + "jar": "cs.PumpkinPie_1.0.jar", + "jar_sha256": "d395a080e3bfff0c30871bb5f5b255b824f5da4a72f4b0f77bab84cd8a9278fa", + "key": "roborumble/cs.PumpkinPie_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 46.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4626.0, + "scores": [ + 2525.0, + 2101.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cs.Wren_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cs.Wren 1.0", + "division": "roborumble", + "jar": "cs.Wren_1.0.jar", + "jar_sha256": "89f30ea0d295bbc4516e9dad72426663fdf68707b2c733555e408c35679770ea", + "key": "roborumble/cs.Wren_1.0.jar", + "kind": "robot" + }, + "latest_observation": "038056ec38361bd3", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7915.0, + "scores": [ + 4387.0, + 3528.0 + ], + "selected": "cs.Wren 1.0" + }, + "completed_at": "2026-09-08T21:29:04Z", + "delta_pct": -4.4, + "id": "c9973e9dd44d5919", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cs.Wren 1.0", + "division": "roborumble", + "jar": "cs.Wren_1.0.jar", + "jar_sha256": "89f30ea0d295bbc4516e9dad72426663fdf68707b2c733555e408c35679770ea", + "key": "roborumble/cs.Wren_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7564.0, + "scores": [ + 4552.0, + 3012.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8205.0, + "scores": [ + 4192.0, + 4013.0 + ], + "selected": "cs.Wren 1.0" + }, + "completed_at": "2026-09-11T20:25:47Z", + "confirmation": null, + "delta_pct": -6.1, + "id": "038056ec38361bd3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cs.Wren 1.0", + "division": "roborumble", + "jar": "cs.Wren_1.0.jar", + "jar_sha256": "89f30ea0d295bbc4516e9dad72426663fdf68707b2c733555e408c35679770ea", + "key": "roborumble/cs.Wren_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7703.0, + "scores": [ + 4002.0, + 3701.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cs.s2.Seraphim_2.3.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cs.s2.Seraphim 2.3.1", + "division": "roborumble", + "jar": "cs.s2.Seraphim_2.3.1.jar", + "jar_sha256": "d5bc11f229b5e2727bae6f8065251ed72bb0cc51ce900684183832c9e45a9845", + "key": "roborumble/cs.s2.Seraphim_2.3.1.jar", + "kind": "robot" + }, + "latest_observation": "ea63d4fa2eac6c25", + "observations": [ + { + "classic": { + "elapsed": 4.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4910.0, + "scores": [ + 2613.0, + 2297.0 + ], + "selected": "cs.s2.Seraphim 2.3.1" + }, + "completed_at": "2026-09-08T21:28:42Z", + "delta_pct": -0.1, + "id": "de2ae85b37c1610b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cs.s2.Seraphim 2.3.1", + "division": "roborumble", + "jar": "cs.s2.Seraphim_2.3.1.jar", + "jar_sha256": "d5bc11f229b5e2727bae6f8065251ed72bb0cc51ce900684183832c9e45a9845", + "key": "roborumble/cs.s2.Seraphim_2.3.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4904.0, + "scores": [ + 2519.0, + 2385.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5033.0, + "scores": [ + 2473.0, + 2560.0 + ], + "selected": "cs.s2.Seraphim 2.3.1" + }, + "completed_at": "2026-09-11T20:25:23Z", + "confirmation": null, + "delta_pct": -4.9, + "id": "ea63d4fa2eac6c25", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cs.s2.Seraphim 2.3.1", + "division": "roborumble", + "jar": "cs.s2.Seraphim_2.3.1.jar", + "jar_sha256": "d5bc11f229b5e2727bae6f8065251ed72bb0cc51ce900684183832c9e45a9845", + "key": "roborumble/cs.s2.Seraphim_2.3.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4788.0, + "scores": [ + 2642.0, + 2146.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/csm.NthGeneration_0.04.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "csm.NthGeneration 0.04", + "division": "roborumble", + "jar": "csm.NthGeneration_0.04.jar", + "jar_sha256": "e7b92a77f2fe7f2c8c1cd2d4a90529f8c66551770a6f2d176b628217593226a4", + "key": "roborumble/csm.NthGeneration_0.04.jar", + "kind": "robot" + }, + "latest_observation": "f513f892fcf3c5dc", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4659.0, + "scores": [ + 2071.0, + 2588.0 + ], + "selected": "csm.NthGeneration 0.04" + }, + "completed_at": "2026-09-08T21:29:45Z", + "delta_pct": -5.0, + "id": "e8bab6b8456b7c4a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "csm.NthGeneration 0.04", + "division": "roborumble", + "jar": "csm.NthGeneration_0.04.jar", + "jar_sha256": "e7b92a77f2fe7f2c8c1cd2d4a90529f8c66551770a6f2d176b628217593226a4", + "key": "roborumble/csm.NthGeneration_0.04.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 38.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4426.0, + "scores": [ + 2381.0, + 2045.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4626.0, + "scores": [ + 2552.0, + 2074.0 + ], + "selected": "csm.NthGeneration 0.04" + }, + "completed_at": "2026-09-11T20:26:36Z", + "confirmation": null, + "delta_pct": -20.7, + "id": "f513f892fcf3c5dc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "csm.NthGeneration 0.04", + "division": "roborumble", + "jar": "csm.NthGeneration_0.04.jar", + "jar_sha256": "e7b92a77f2fe7f2c8c1cd2d4a90529f8c66551770a6f2d176b628217593226a4", + "key": "roborumble/csm.NthGeneration_0.04.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 46.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3668.0, + "scores": [ + 2079.0, + 1589.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/csp.Eagle_3.30.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "csp.Eagle 3.30", + "division": "roborumble", + "jar": "csp.Eagle_3.30.jar", + "jar_sha256": "8a09a1ad3e1e4eb01f84d98868d26db8c0e58b4900ca41ddc93ddf13a56fbcce", + "key": "roborumble/csp.Eagle_3.30.jar", + "kind": "robot" + }, + "latest_observation": "f1344f1c2958947d", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7114.0, + "scores": [ + 3203.0, + 3911.0 + ], + "selected": "csp.Eagle 3.30" + }, + "completed_at": "2026-09-08T21:30:04Z", + "delta_pct": -37.0, + "id": "e0122d77dc924a71", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "csp.Eagle 3.30", + "division": "roborumble", + "jar": "csp.Eagle_3.30.jar", + "jar_sha256": "8a09a1ad3e1e4eb01f84d98868d26db8c0e58b4900ca41ddc93ddf13a56fbcce", + "key": "roborumble/csp.Eagle_3.30.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4484.0, + "scores": [ + 2376.0, + 2108.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7151.0, + "scores": [ + 3535.0, + 3616.0 + ], + "selected": "csp.Eagle 3.30" + }, + "completed_at": "2026-09-11T20:26:57Z", + "confirmation": null, + "delta_pct": -25.4, + "id": "f1344f1c2958947d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "csp.Eagle 3.30", + "division": "roborumble", + "jar": "csp.Eagle_3.30.jar", + "jar_sha256": "8a09a1ad3e1e4eb01f84d98868d26db8c0e58b4900ca41ddc93ddf13a56fbcce", + "key": "roborumble/csp.Eagle_3.30.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5335.0, + "scores": [ + 2962.0, + 2373.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/css.Delitioner_0.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "css.Delitioner 0.11", + "division": "roborumble", + "jar": "css.Delitioner_0.11.jar", + "jar_sha256": "6c718a72f59cec4464649d650469adfcccaf0de0744d7fd3e3ef7a2c5ce28c0b", + "key": "roborumble/css.Delitioner_0.11.jar", + "kind": "robot" + }, + "latest_observation": "5011f2da71d38328", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6253.0, + "scores": [ + 2997.0, + 3256.0 + ], + "selected": "css.Delitioner 0.11" + }, + "completed_at": "2026-09-08T21:30:27Z", + "delta_pct": -5.4, + "id": "9bf3a4bffbd5125f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "css.Delitioner 0.11", + "division": "roborumble", + "jar": "css.Delitioner_0.11.jar", + "jar_sha256": "6c718a72f59cec4464649d650469adfcccaf0de0744d7fd3e3ef7a2c5ce28c0b", + "key": "roborumble/css.Delitioner_0.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5916.0, + "scores": [ + 2995.0, + 2921.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5945.0, + "scores": [ + 2878.0, + 3067.0 + ], + "selected": "css.Delitioner 0.11" + }, + "completed_at": "2026-09-11T20:27:25Z", + "confirmation": null, + "delta_pct": -0.1, + "id": "5011f2da71d38328", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "css.Delitioner 0.11", + "division": "roborumble", + "jar": "css.Delitioner_0.11.jar", + "jar_sha256": "6c718a72f59cec4464649d650469adfcccaf0de0744d7fd3e3ef7a2c5ce28c0b", + "key": "roborumble/css.Delitioner_0.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5937.0, + "scores": [ + 3404.0, + 2533.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cuoq.Kakera_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cuoq.Kakera 1.0", + "division": "roborumble", + "jar": "cuoq.Kakera_1.0.jar", + "jar_sha256": "8e7d78ebb335e16e126036e8f66bc9a751c3059f0a310ebd5bf9b930a517b60b", + "key": "roborumble/cuoq.Kakera_1.0.jar", + "kind": "robot" + }, + "latest_observation": "24bb72dfc648f37c", + "observations": [ + { + "classic": { + "elapsed": 5.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6875.0, + "scores": [ + 3376.0, + 3499.0 + ], + "selected": "cuoq.Kakera 1.0" + }, + "completed_at": "2026-09-08T21:30:59Z", + "delta_pct": -10.6, + "id": "99a4b47c6b169333", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cuoq.Kakera 1.0", + "division": "roborumble", + "jar": "cuoq.Kakera_1.0.jar", + "jar_sha256": "8e7d78ebb335e16e126036e8f66bc9a751c3059f0a310ebd5bf9b930a517b60b", + "key": "roborumble/cuoq.Kakera_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 26.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6144.0, + "scores": [ + 3173.0, + 2971.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6078.0, + "scores": [ + 2933.0, + 3145.0 + ], + "selected": "cuoq.Kakera 1.0" + }, + "completed_at": "2026-09-11T20:28:01Z", + "confirmation": null, + "delta_pct": 0.2, + "id": "24bb72dfc648f37c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cuoq.Kakera 1.0", + "division": "roborumble", + "jar": "cuoq.Kakera_1.0.jar", + "jar_sha256": "8e7d78ebb335e16e126036e8f66bc9a751c3059f0a310ebd5bf9b930a517b60b", + "key": "roborumble/cuoq.Kakera_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6091.0, + "scores": [ + 3063.0, + 3028.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cw.megas.Blade_0.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cw.megas.Blade 0.8", + "division": "roborumble", + "jar": "cw.megas.Blade_0.8.jar", + "jar_sha256": "4a50333c16fd0bdc02aca8c152e7017ede5c8e763ceaba42319867a5b256f830", + "key": "roborumble/cw.megas.Blade_0.8.jar", + "kind": "robot" + }, + "latest_observation": "4aaeb14f0d7fe7cd", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5684.0, + "scores": [ + 2349.0, + 3335.0 + ], + "selected": "cw.megas.Blade 0.8" + }, + "completed_at": "2026-09-08T21:31:07Z", + "delta_pct": null, + "id": "8fd749571b62d83f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.Blade 0.8", + "division": "roborumble", + "jar": "cw.megas.Blade_0.8.jar", + "jar_sha256": "4a50333c16fd0bdc02aca8c152e7017ede5c8e763ceaba42319867a5b256f830", + "key": "roborumble/cw.megas.Blade_0.8.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 30, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33", + "java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34", + "java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35", + "java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36", + "java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37", + "java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38", + "java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39", + "java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40", + "java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41", + "java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42", + "java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43", + "java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44", + "java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45", + "java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46", + "java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47", + "java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33", + "java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34", + "java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35", + "java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36", + "java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37", + "java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38", + "java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39", + "java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40", + "java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41", + "java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42", + "java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43", + "java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44", + "java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45", + "java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.5, + "error_count": 46, + "error_signatures": [ + { + "exception": "java.lang.StringIndexOutOfBoundsException", + "origin": "cw.megas.Blade.gun" + } + ], + "errors": [ + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 33", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 34", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 35", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 36", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 37", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 38", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 39", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 40", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 41", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 42", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 43", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 33", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 34", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 35", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 36", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 37", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: index 38, length 38", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: index 39, length 39", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: index 40, length 40", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: index 41, length 41", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: index 42, length 42", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: index 43, length 43", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: index 44, length 44" + ], + "has_log": true, + "ok": true, + "score": 5385.0, + "scores": [ + 2504.0, + 2881.0 + ], + "selected": "cw.megas.Blade 0.8" + }, + "completed_at": "2026-09-11T20:28:25Z", + "confirmation": null, + "delta_pct": 4.9, + "id": "4aaeb14f0d7fe7cd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.Blade 0.8", + "division": "roborumble", + "jar": "cw.megas.Blade_0.8.jar", + "jar_sha256": "4a50333c16fd0bdc02aca8c152e7017ede5c8e763ceaba42319867a5b256f830", + "key": "roborumble/cw.megas.Blade_0.8.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5647.0, + "scores": [ + 3066.0, + 2581.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/cw.megas.GhostShell_GT.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cw.megas.GhostShell GT", + "division": "roborumble", + "jar": "cw.megas.GhostShell_GT.jar", + "jar_sha256": "f75b19028ba3d181ae70d87a380370cf53e535b49e87f9060069a8591bc5888a", + "key": "roborumble/cw.megas.GhostShell_GT.jar", + "kind": "robot" + }, + "latest_observation": "cebc69d8bb954e71", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 584, + "errors": [ + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null" + ], + "has_log": true, + "ok": true, + "score": 10656.0, + "scores": [ + 5978.0, + 4678.0 + ], + "selected": "cw.megas.GhostShell GT" + }, + "completed_at": "2026-09-08T21:31:26Z", + "delta_pct": -24.4, + "id": "624c2e5957e9c806", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.GhostShell GT", + "division": "roborumble", + "jar": "cw.megas.GhostShell_GT.jar", + "jar_sha256": "f75b19028ba3d181ae70d87a380370cf53e535b49e87f9060069a8591bc5888a", + "key": "roborumble/cw.megas.GhostShell_GT.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.2, + "error_count": 1302, + "errors": [ + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null" + ], + "has_log": true, + "ok": true, + "score": 8061.0, + "scores": [ + 4548.0, + 3513.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.3, + "error_count": 560, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "cw.megas.GhostShell.chooseLocation" + } + ], + "errors": [ + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null" + ], + "has_log": true, + "ok": true, + "score": 8795.0, + "scores": [ + 4229.0, + 4566.0 + ], + "selected": "cw.megas.GhostShell GT" + }, + "completed_at": "2026-09-11T20:28:35Z", + "confirmation": null, + "delta_pct": null, + "id": "cebc69d8bb954e71", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.GhostShell GT", + "division": "roborumble", + "jar": "cw.megas.GhostShell_GT.jar", + "jar_sha256": "f75b19028ba3d181ae70d87a380370cf53e535b49e87f9060069a8591bc5888a", + "key": "roborumble/cw.megas.GhostShell_GT.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "cw.megas.GhostShell.doMovement" + ] + ], + "elapsed": 6.2, + "error_count": 582, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "cw.megas.GhostShell.chooseLocation" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "cw.megas.GhostShell.doMovement" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/cw.megas.Gridd_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cw.megas.Gridd 0.4", + "division": "roborumble", + "jar": "cw.megas.Gridd_0.4.jar", + "jar_sha256": "bfafc04f4fe6011bfa749f6895c02e6518cc2acb878f133200cd4a2778653edf", + "key": "roborumble/cw.megas.Gridd_0.4.jar", + "kind": "robot" + }, + "latest_observation": "6f34f6ef130995c8", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7366.0, + "scores": [ + 4135.0, + 3231.0 + ], + "selected": "cw.megas.Gridd 0.4" + }, + "completed_at": "2026-09-08T21:31:46Z", + "delta_pct": 4.7, + "id": "b0e92913f32f5e4a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.Gridd 0.4", + "division": "roborumble", + "jar": "cw.megas.Gridd_0.4.jar", + "jar_sha256": "bfafc04f4fe6011bfa749f6895c02e6518cc2acb878f133200cd4a2778653edf", + "key": "roborumble/cw.megas.Gridd_0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7712.0, + "scores": [ + 4048.0, + 3664.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7506.0, + "scores": [ + 3575.0, + 3931.0 + ], + "selected": "cw.megas.Gridd 0.4" + }, + "completed_at": "2026-09-11T20:28:57Z", + "confirmation": null, + "delta_pct": -8.2, + "id": "6f34f6ef130995c8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.Gridd 0.4", + "division": "roborumble", + "jar": "cw.megas.Gridd_0.4.jar", + "jar_sha256": "bfafc04f4fe6011bfa749f6895c02e6518cc2acb878f133200cd4a2778653edf", + "key": "roborumble/cw.megas.Gridd_0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6888.0, + "scores": [ + 3512.0, + 3376.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cw.megas.Polar_3.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cw.megas.Polar 3.2", + "division": "roborumble", + "jar": "cw.megas.Polar_3.2.jar", + "jar_sha256": "5a65f71be6ed605815763385ebd3ed9db00f248a4e7f65ecc75a566fd317665e", + "key": "roborumble/cw.megas.Polar_3.2.jar", + "kind": "robot" + }, + "latest_observation": "35a21885ebf299e0", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7521.0, + "scores": [ + 3441.0, + 4080.0 + ], + "selected": "cw.megas.Polar 3.2" + }, + "completed_at": "2026-09-08T21:32:18Z", + "delta_pct": 6.3, + "id": "275e5d14496de98c", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.Polar 3.2", + "division": "roborumble", + "jar": "cw.megas.Polar_3.2.jar", + "jar_sha256": "5a65f71be6ed605815763385ebd3ed9db00f248a4e7f65ecc75a566fd317665e", + "key": "roborumble/cw.megas.Polar_3.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 28.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7996.0, + "scores": [ + 4154.0, + 3842.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7941.0, + "scores": [ + 3949.0, + 3992.0 + ], + "selected": "cw.megas.Polar 3.2" + }, + "completed_at": "2026-09-11T20:29:10Z", + "confirmation": null, + "delta_pct": null, + "id": "35a21885ebf299e0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.Polar 3.2", + "division": "roborumble", + "jar": "cw.megas.Polar_3.2.jar", + "jar_sha256": "5a65f71be6ed605815763385ebd3ed9db00f248a4e7f65ecc75a566fd317665e", + "key": "roborumble/cw.megas.Polar_3.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.StringIndexOutOfBoundsException", + "cw.megas.Polar.gun" + ] + ], + "elapsed": 8.2, + "error_count": 59, + "error_signatures": [ + { + "exception": "java.lang.StringIndexOutOfBoundsException", + "origin": "cw.megas.Polar.gun" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 33", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 34", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 35", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 36", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 37", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 38", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 39", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 40", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 41", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 42", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 43", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 44", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 45", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 46", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 47", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 48", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 49", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 50", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 51", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 52", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 53", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 54", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 55", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 56", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 57", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 58", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 59", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 60", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 61", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 33", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 34", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 35", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 36", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 37", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 38", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 39", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 40", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 41", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 42", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 43", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 44", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 45", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 46", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 47", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 48", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 49", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 50", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 51", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 52", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 53", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 54", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 55", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 56", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 57", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 58", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 59", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 60", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 61" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/cw.megas.Silhouette_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cw.megas.Silhouette 1.1", + "division": "roborumble", + "jar": "cw.megas.Silhouette_1.1.jar", + "jar_sha256": "e6971a7232c957673e1db12aeb969835a5f33928ed6ed30d6f0a33144002b2c6", + "key": "roborumble/cw.megas.Silhouette_1.1.jar", + "kind": "robot" + }, + "latest_observation": "25c5e3c9db55e253", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6360.0, + "scores": [ + 3297.0, + 3063.0 + ], + "selected": "cw.megas.Silhouette 1.1" + }, + "completed_at": "2026-09-08T21:32:38Z", + "delta_pct": -3.9, + "id": "c619f7cbb9bcea81", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.Silhouette 1.1", + "division": "roborumble", + "jar": "cw.megas.Silhouette_1.1.jar", + "jar_sha256": "e6971a7232c957673e1db12aeb969835a5f33928ed6ed30d6f0a33144002b2c6", + "key": "roborumble/cw.megas.Silhouette_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6113.0, + "scores": [ + 3383.0, + 2730.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6714.0, + "scores": [ + 3147.0, + 3567.0 + ], + "selected": "cw.megas.Silhouette 1.1" + }, + "completed_at": "2026-09-11T20:29:34Z", + "confirmation": null, + "delta_pct": -12.6, + "id": "25c5e3c9db55e253", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cw.megas.Silhouette 1.1", + "division": "roborumble", + "jar": "cw.megas.Silhouette_1.1.jar", + "jar_sha256": "e6971a7232c957673e1db12aeb969835a5f33928ed6ed30d6f0a33144002b2c6", + "key": "roborumble/cw.megas.Silhouette_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5866.0, + "scores": [ + 3058.0, + 2808.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cx.BlestPain_1.41.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.BlestPain 1.41", + "division": "roborumble", + "jar": "cx.BlestPain_1.41.jar", + "jar_sha256": "6f6b974d5aa3cb4db450ab43a2c0425d55d654cb9b577171fd99c9fe094b08ba", + "key": "roborumble/cx.BlestPain_1.41.jar", + "kind": "robot" + }, + "latest_observation": "f0e3210c128d5c6c", + "observations": [ + { + "classic": { + "elapsed": 4.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4876.0, + "scores": [ + 2640.0, + 2236.0 + ], + "selected": "cx.BlestPain 1.41" + }, + "completed_at": "2026-09-08T21:33:02Z", + "delta_pct": -5.8, + "id": "33f8afb939371ae3", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.BlestPain 1.41", + "division": "roborumble", + "jar": "cx.BlestPain_1.41.jar", + "jar_sha256": "6f6b974d5aa3cb4db450ab43a2c0425d55d654cb9b577171fd99c9fe094b08ba", + "key": "roborumble/cx.BlestPain_1.41.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4595.0, + "scores": [ + 2456.0, + 2139.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4784.0, + "scores": [ + 2599.0, + 2185.0 + ], + "selected": "cx.BlestPain 1.41" + }, + "completed_at": "2026-09-11T20:29:58Z", + "confirmation": null, + "delta_pct": -9.6, + "id": "f0e3210c128d5c6c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.BlestPain 1.41", + "division": "roborumble", + "jar": "cx.BlestPain_1.41.jar", + "jar_sha256": "6f6b974d5aa3cb4db450ab43a2c0425d55d654cb9b577171fd99c9fe094b08ba", + "key": "roborumble/cx.BlestPain_1.41.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4326.0, + "scores": [ + 2259.0, + 2067.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cx.CigaretBH_1.03.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.CigaretBH 1.03", + "division": "roborumble", + "jar": "cx.CigaretBH_1.03.jar", + "jar_sha256": "8c107a759b229f8570dcce96ccedd8404545e7d3c6441a206c64d54a4209d678", + "key": "roborumble/cx.CigaretBH_1.03.jar", + "kind": "robot" + }, + "latest_observation": "b3f0624de06e9e36", + "observations": [ + { + "classic": { + "elapsed": 13.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4902.0, + "scores": [ + 2419.0, + 2483.0 + ], + "selected": "cx.CigaretBH 1.03" + }, + "completed_at": "2026-09-08T21:33:44Z", + "delta_pct": -7.3, + "id": "1677b2a1b4827612", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.CigaretBH 1.03", + "division": "roborumble", + "jar": "cx.CigaretBH_1.03.jar", + "jar_sha256": "8c107a759b229f8570dcce96ccedd8404545e7d3c6441a206c64d54a4209d678", + "key": "roborumble/cx.CigaretBH_1.03.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 28.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4542.0, + "scores": [ + 2483.0, + 2059.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 15.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5029.0, + "scores": [ + 2533.0, + 2496.0 + ], + "selected": "cx.CigaretBH 1.03" + }, + "completed_at": "2026-09-11T20:31:17Z", + "confirmation": null, + "delta_pct": -3.2, + "id": "b3f0624de06e9e36", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.CigaretBH 1.03", + "division": "roborumble", + "jar": "cx.CigaretBH_1.03.jar", + "jar_sha256": "8c107a759b229f8570dcce96ccedd8404545e7d3c6441a206c64d54a4209d678", + "key": "roborumble/cx.CigaretBH_1.03.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 46.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4867.0, + "scores": [ + 2635.0, + 2232.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cx.Lacrimas_1.36.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.Lacrimas 1.36", + "division": "roborumble", + "jar": "cx.Lacrimas_1.36.jar", + "jar_sha256": "3f188597207790c81255c5b78a09002cc87527166c22b75915d63f1f25111dae", + "key": "roborumble/cx.Lacrimas_1.36.jar", + "kind": "robot" + }, + "latest_observation": "539ae590fae08967", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4503.0, + "scores": [ + 2030.0, + 2473.0 + ], + "selected": "cx.Lacrimas 1.36" + }, + "completed_at": "2026-09-08T21:34:10Z", + "delta_pct": 3.8, + "id": "20139227a27029e4", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.Lacrimas 1.36", + "division": "roborumble", + "jar": "cx.Lacrimas_1.36.jar", + "jar_sha256": "3f188597207790c81255c5b78a09002cc87527166c22b75915d63f1f25111dae", + "key": "roborumble/cx.Lacrimas_1.36.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4674.0, + "scores": [ + 2642.0, + 2032.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4431.0, + "scores": [ + 2307.0, + 2124.0 + ], + "selected": "cx.Lacrimas 1.36" + }, + "completed_at": "2026-09-11T20:31:48Z", + "confirmation": null, + "delta_pct": -4.4, + "id": "539ae590fae08967", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.Lacrimas 1.36", + "division": "roborumble", + "jar": "cx.Lacrimas_1.36.jar", + "jar_sha256": "3f188597207790c81255c5b78a09002cc87527166c22b75915d63f1f25111dae", + "key": "roborumble/cx.Lacrimas_1.36.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4236.0, + "scores": [ + 2286.0, + 1950.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cx.Princess_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.Princess 1.0", + "division": "roborumble", + "jar": "cx.Princess_1.0.jar", + "jar_sha256": "8a5137dcb2d3075bf8b4aa5ec609d499a981f1ed6650641a10e3c95cfe2e7cec", + "key": "roborumble/cx.Princess_1.0.jar", + "kind": "robot" + }, + "latest_observation": "5d92f19933b9dea0", + "observations": [ + { + "classic": { + "elapsed": 9.0, + "error_count": 2, + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cx\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cx\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5862.0, + "scores": [ + 3116.0, + 2746.0 + ], + "selected": "cx.Princess 1.0" + }, + "completed_at": "2026-09-08T21:37:13Z", + "delta_pct": -9.6, + "id": "ee8fec5f1ac10af9", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.Princess 1.0", + "division": "roborumble", + "jar": "cx.Princess_1.0.jar", + "jar_sha256": "8a5137dcb2d3075bf8b4aa5ec609d499a981f1ed6650641a10e3c95cfe2e7cec", + "key": "roborumble/cx.Princess_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 2, + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cx.Princess_1.0\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cx.Princess_1.0-2\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5301.0, + "scores": [ + 2866.0, + 2435.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 7.9, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cx\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cx\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5644.0, + "scores": [ + 3978.0, + 1666.0 + ], + "selected": "cx.Princess 1.0" + }, + "completed_at": "2026-09-11T20:35:42Z", + "confirmation": null, + "delta_pct": -6.2, + "id": "5d92f19933b9dea0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.Princess 1.0", + "division": "roborumble", + "jar": "cx.Princess_1.0.jar", + "jar_sha256": "8a5137dcb2d3075bf8b4aa5ec609d499a981f1ed6650641a10e3c95cfe2e7cec", + "key": "roborumble/cx.Princess_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cx.Princess_1.0\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cx.Princess_1.0-2\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5292.0, + "scores": [ + 2996.0, + 2296.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cx.micro.Blur_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.micro.Blur 0.2", + "division": "roborumble", + "jar": "cx.micro.Blur_0.2.jar", + "jar_sha256": "a1d62b084d88196ff938d3f189e0f7a84f89e7f034bd21f83a8afb0bc20ba979", + "key": "roborumble/cx.micro.Blur_0.2.jar", + "kind": "robot" + }, + "latest_observation": "e0eb72591fc796b8", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7918.0, + "scores": [ + 4451.0, + 3467.0 + ], + "selected": "cx.micro.Blur 0.2" + }, + "completed_at": "2026-09-08T21:34:17Z", + "delta_pct": null, + "id": "cf57283fe7c065c6", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.micro.Blur 0.2", + "division": "roborumble", + "jar": "cx.micro.Blur_0.2.jar", + "jar_sha256": "a1d62b084d88196ff938d3f189e0f7a84f89e7f034bd21f83a8afb0bc20ba979", + "key": "roborumble/cx.micro.Blur_0.2.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 2, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"cx.micro.Blur$Wave.rateHit()\" because \"cx.micro.Blur.closestWave\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7997.0, + "scores": [ + 4337.0, + 3660.0 + ], + "selected": "cx.micro.Blur 0.2" + }, + "completed_at": "2026-09-11T20:32:06Z", + "confirmation": null, + "delta_pct": -75.6, + "id": "e0eb72591fc796b8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.micro.Blur 0.2", + "division": "roborumble", + "jar": "cx.micro.Blur_0.2.jar", + "jar_sha256": "a1d62b084d88196ff938d3f189e0f7a84f89e7f034bd21f83a8afb0bc20ba979", + "key": "roborumble/cx.micro.Blur_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1952.0, + "scores": [ + 1039.0, + 913.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/cx.micro.Smoke_0.96.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.micro.Smoke 0.96", + "division": "roborumble", + "jar": "cx.micro.Smoke_0.96.jar", + "jar_sha256": "b18be3e111d1cfd9ed54c431d010e60368d9bffcbb06e38ac2c9bbf6c8243814", + "key": "roborumble/cx.micro.Smoke_0.96.jar", + "kind": "robot" + }, + "latest_observation": "22c757bf2c791a1c", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5888.0, + "scores": [ + 2873.0, + 3015.0 + ], + "selected": "cx.micro.Smoke 0.96" + }, + "completed_at": "2026-09-08T21:34:41Z", + "delta_pct": -24.1, + "id": "d0ce3ae37d563131", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.micro.Smoke 0.96", + "division": "roborumble", + "jar": "cx.micro.Smoke_0.96.jar", + "jar_sha256": "b18be3e111d1cfd9ed54c431d010e60368d9bffcbb06e38ac2c9bbf6c8243814", + "key": "roborumble/cx.micro.Smoke_0.96.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4468.0, + "scores": [ + 2295.0, + 2173.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5979.0, + "scores": [ + 2888.0, + 3091.0 + ], + "selected": "cx.micro.Smoke 0.96" + }, + "completed_at": "2026-09-11T20:32:34Z", + "confirmation": null, + "delta_pct": -19.8, + "id": "22c757bf2c791a1c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.micro.Smoke 0.96", + "division": "roborumble", + "jar": "cx.micro.Smoke_0.96.jar", + "jar_sha256": "b18be3e111d1cfd9ed54c431d010e60368d9bffcbb06e38ac2c9bbf6c8243814", + "key": "roborumble/cx.micro.Smoke_0.96.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4796.0, + "scores": [ + 2558.0, + 2238.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cx.micro.Spark_0.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.micro.Spark 0.6", + "division": "roborumble", + "jar": "cx.micro.Spark_0.6.jar", + "jar_sha256": "dfcbbb2bb08ae6028e68178c3d9f80c0b1d0058ced7ab90bab2cade92f615d18", + "key": "roborumble/cx.micro.Spark_0.6.jar", + "kind": "robot" + }, + "latest_observation": "33b8c433861acbd1", + "observations": [ + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5050.0, + "scores": [ + 2918.0, + 2132.0 + ], + "selected": "cx.micro.Spark 0.6" + }, + "completed_at": "2026-09-08T21:35:01Z", + "delta_pct": 159.5, + "id": "4a48d9ed154a3163", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.micro.Spark 0.6", + "division": "roborumble", + "jar": "cx.micro.Spark_0.6.jar", + "jar_sha256": "dfcbbb2bb08ae6028e68178c3d9f80c0b1d0058ced7ab90bab2cade92f615d18", + "key": "roborumble/cx.micro.Spark_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 13104.0, + "scores": [ + 6600.0, + 6504.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4877.0, + "scores": [ + 2894.0, + 1983.0 + ], + "selected": "cx.micro.Spark 0.6" + }, + "completed_at": "2026-09-11T20:32:57Z", + "confirmation": null, + "delta_pct": 153.7, + "id": "33b8c433861acbd1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.micro.Spark 0.6", + "division": "roborumble", + "jar": "cx.micro.Spark_0.6.jar", + "jar_sha256": "dfcbbb2bb08ae6028e68178c3d9f80c0b1d0058ced7ab90bab2cade92f615d18", + "key": "roborumble/cx.micro.Spark_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12373.0, + "scores": [ + 6198.0, + 6175.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/cx.mini.BlackSwans_0.60.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.mini.BlackSwans 0.60", + "division": "roborumble", + "jar": "cx.mini.BlackSwans_0.60.jar", + "jar_sha256": "6b80464c7c11ce945f726455d0d9d91190460d7a8f8687115651daff9784159b", + "key": "roborumble/cx.mini.BlackSwans_0.60.jar", + "kind": "robot" + }, + "latest_observation": "8ff4ff433f3d1ef6", + "observations": [ + { + "classic": { + "elapsed": 8.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5617.0, + "scores": [ + 3157.0, + 2460.0 + ], + "selected": "cx.mini.BlackSwans 0.60" + }, + "completed_at": "2026-09-08T21:35:32Z", + "delta_pct": -5.1, + "id": "6b425d3c251fa7bc", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.mini.BlackSwans 0.60", + "division": "roborumble", + "jar": "cx.mini.BlackSwans_0.60.jar", + "jar_sha256": "6b80464c7c11ce945f726455d0d9d91190460d7a8f8687115651daff9784159b", + "key": "roborumble/cx.mini.BlackSwans_0.60.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5331.0, + "scores": [ + 2719.0, + 2612.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 9.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5840.0, + "scores": [ + 3068.0, + 2772.0 + ], + "selected": "cx.mini.BlackSwans 0.60" + }, + "completed_at": "2026-09-11T20:33:43Z", + "confirmation": null, + "delta_pct": -6.3, + "id": "8ff4ff433f3d1ef6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.mini.BlackSwans 0.60", + "division": "roborumble", + "jar": "cx.mini.BlackSwans_0.60.jar", + "jar_sha256": "6b80464c7c11ce945f726455d0d9d91190460d7a8f8687115651daff9784159b", + "key": "roborumble/cx.mini.BlackSwans_0.60.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5470.0, + "scores": [ + 3005.0, + 2465.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cx.mini.Cigaret_1.31.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.mini.Cigaret 1.31", + "division": "roborumble", + "jar": "cx.mini.Cigaret_1.31.jar", + "jar_sha256": "273c4194d1b9f0687173158276802ff3456ec8343de62e80d2674e0960715612", + "key": "roborumble/cx.mini.Cigaret_1.31.jar", + "kind": "robot" + }, + "latest_observation": "dc070048cc9ba197", + "observations": [ + { + "classic": { + "elapsed": 10.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5220.0, + "scores": [ + 2470.0, + 2750.0 + ], + "selected": "cx.mini.Cigaret 1.31" + }, + "completed_at": "2026-09-08T21:36:06Z", + "delta_pct": -4.7, + "id": "8547c53305c88bf5", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.mini.Cigaret 1.31", + "division": "roborumble", + "jar": "cx.mini.Cigaret_1.31.jar", + "jar_sha256": "273c4194d1b9f0687173158276802ff3456ec8343de62e80d2674e0960715612", + "key": "roborumble/cx.mini.Cigaret_1.31.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 24.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4974.0, + "scores": [ + 2909.0, + 2065.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 11.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5246.0, + "scores": [ + 1945.0, + 3301.0 + ], + "selected": "cx.mini.Cigaret 1.31" + }, + "completed_at": "2026-09-11T20:34:29Z", + "confirmation": null, + "delta_pct": -8.0, + "id": "dc070048cc9ba197", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.mini.Cigaret 1.31", + "division": "roborumble", + "jar": "cx.mini.Cigaret_1.31.jar", + "jar_sha256": "273c4194d1b9f0687173158276802ff3456ec8343de62e80d2674e0960715612", + "key": "roborumble/cx.mini.Cigaret_1.31.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4824.0, + "scores": [ + 2440.0, + 2384.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/cx.mini.Nimrod_0.55.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.mini.Nimrod 0.55", + "division": "roborumble", + "jar": "cx.mini.Nimrod_0.55.jar", + "jar_sha256": "9ccc75f18f1ea296fefe441150fd552e546989e1e42af4abdc578f297564a321", + "key": "roborumble/cx.mini.Nimrod_0.55.jar", + "kind": "robot" + }, + "latest_observation": "79c0ff02f62c13d6", + "observations": [ + { + "classic": { + "elapsed": 6.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4854.0, + "scores": [ + 2357.0, + 2497.0 + ], + "selected": "cx.mini.Nimrod 0.55" + }, + "completed_at": "2026-09-08T21:36:29Z", + "delta_pct": 130.2, + "id": "13e1779cf8e10822", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.mini.Nimrod 0.55", + "division": "roborumble", + "jar": "cx.mini.Nimrod_0.55.jar", + "jar_sha256": "9ccc75f18f1ea296fefe441150fd552e546989e1e42af4abdc578f297564a321", + "key": "roborumble/cx.mini.Nimrod_0.55.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 11172.0, + "scores": [ + 5809.0, + 5363.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4878.0, + "scores": [ + 2496.0, + 2382.0 + ], + "selected": "cx.mini.Nimrod 0.55" + }, + "completed_at": "2026-09-11T20:34:49Z", + "confirmation": null, + "delta_pct": 151.1, + "id": "79c0ff02f62c13d6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.mini.Nimrod 0.55", + "division": "roborumble", + "jar": "cx.mini.Nimrod_0.55.jar", + "jar_sha256": "9ccc75f18f1ea296fefe441150fd552e546989e1e42af4abdc578f297564a321", + "key": "roborumble/cx.mini.Nimrod_0.55.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12250.0, + "scores": [ + 6438.0, + 5812.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/cx.nano.Smog_2.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cx.nano.Smog 2.6", + "division": "roborumble", + "jar": "cx.nano.Smog_2.6.jar", + "jar_sha256": "1bdea7a9d116c385e6d7dcd12014dc80270f619cf2b20046c5d85640aeda4bbf", + "key": "roborumble/cx.nano.Smog_2.6.jar", + "kind": "robot" + }, + "latest_observation": "bc706ecbeb69a224", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4138.0, + "scores": [ + 1961.0, + 2177.0 + ], + "selected": "cx.nano.Smog 2.6" + }, + "completed_at": "2026-09-08T21:36:43Z", + "delta_pct": -27.5, + "id": "c37a0d6ebee94fdf", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.nano.Smog 2.6", + "division": "roborumble", + "jar": "cx.nano.Smog_2.6.jar", + "jar_sha256": "1bdea7a9d116c385e6d7dcd12014dc80270f619cf2b20046c5d85640aeda4bbf", + "key": "roborumble/cx.nano.Smog_2.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2998.0, + "scores": [ + 1829.0, + 1169.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3384.0, + "scores": [ + 1660.0, + 1724.0 + ], + "selected": "cx.nano.Smog 2.6" + }, + "completed_at": "2026-09-11T20:35:05Z", + "confirmation": null, + "delta_pct": -26.7, + "id": "bc706ecbeb69a224", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cx.nano.Smog 2.6", + "division": "roborumble", + "jar": "cx.nano.Smog_2.6.jar", + "jar_sha256": "1bdea7a9d116c385e6d7dcd12014dc80270f619cf2b20046c5d85640aeda4bbf", + "key": "roborumble/cx.nano.Smog_2.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2481.0, + "scores": [ + 1469.0, + 1012.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/cyragia.Bot_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "cyragia.Bot 1.1", + "division": "roborumble", + "jar": "cyragia.Bot_1.1.jar", + "jar_sha256": "a361becd83345726307c816da2247744cc4e94ddc2ce03b21ebee6d2957f93dc", + "key": "roborumble/cyragia.Bot_1.1.jar", + "kind": "robot" + }, + "latest_observation": "21d0dade19312424", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 9172.0, + "scores": [ + 4633.0, + 4539.0 + ], + "selected": "cyragia.Bot 1.1" + }, + "completed_at": "2026-09-08T21:37:29Z", + "delta_pct": -4.4, + "id": "962c336578cde35f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cyragia.Bot 1.1", + "division": "roborumble", + "jar": "cyragia.Bot_1.1.jar", + "jar_sha256": "a361becd83345726307c816da2247744cc4e94ddc2ce03b21ebee6d2957f93dc", + "key": "roborumble/cyragia.Bot_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8768.0, + "scores": [ + 4547.0, + 4221.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9308.0, + "scores": [ + 4612.0, + 4696.0 + ], + "selected": "cyragia.Bot 1.1" + }, + "completed_at": "2026-09-11T20:36:01Z", + "confirmation": null, + "delta_pct": -5.7, + "id": "21d0dade19312424", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "cyragia.Bot 1.1", + "division": "roborumble", + "jar": "cyragia.Bot_1.1.jar", + "jar_sha256": "a361becd83345726307c816da2247744cc4e94ddc2ce03b21ebee6d2957f93dc", + "key": "roborumble/cyragia.Bot_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8776.0, + "scores": [ + 4560.0, + 4216.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/da.NewBGank_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "da.NewBGank 1.4", + "division": "roborumble", + "jar": "da.NewBGank_1.4.jar", + "jar_sha256": "e47b2ea746b5bd9680b8dd884b82b822857acbd31071bbec0d7b1647c461b194", + "key": "roborumble/da.NewBGank_1.4.jar", + "kind": "robot" + }, + "latest_observation": "8b25ee1671f08bbe", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6054.0, + "scores": [ + 2818.0, + 3236.0 + ], + "selected": "da.NewBGank 1.4" + }, + "completed_at": "2026-09-08T21:37:53Z", + "delta_pct": -33.9, + "id": "a25291b7dea73bfb", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "da.NewBGank 1.4", + "division": "roborumble", + "jar": "da.NewBGank_1.4.jar", + "jar_sha256": "e47b2ea746b5bd9680b8dd884b82b822857acbd31071bbec0d7b1647c461b194", + "key": "roborumble/da.NewBGank_1.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4001.0, + "scores": [ + 2324.0, + 1677.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5984.0, + "scores": [ + 3023.0, + 2961.0 + ], + "selected": "da.NewBGank 1.4" + }, + "completed_at": "2026-09-11T20:36:28Z", + "confirmation": null, + "delta_pct": -30.7, + "id": "8b25ee1671f08bbe", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "da.NewBGank 1.4", + "division": "roborumble", + "jar": "da.NewBGank_1.4.jar", + "jar_sha256": "e47b2ea746b5bd9680b8dd884b82b822857acbd31071bbec0d7b1647c461b194", + "key": "roborumble/da.NewBGank_1.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4148.0, + "scores": [ + 2092.0, + 2056.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/daemons.DizzyA_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "daemons.DizzyA 1.0", + "division": "roborumble", + "jar": "daemons.DizzyA_1.0.jar", + "jar_sha256": "aeba11ca1cd50603c4b74166f04dea30238c77faead6f6830874571bea4091ad", + "key": "roborumble/daemons.DizzyA_1.0.jar", + "kind": "robot" + }, + "latest_observation": "fce67ed0d1b04c77", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12263.0, + "scores": [ + 6121.0, + 6142.0 + ], + "selected": "daemons.DizzyA 1.0" + }, + "completed_at": "2026-09-08T21:38:28Z", + "delta_pct": -75.5, + "id": "4fb778b08e7b30a5", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "daemons.DizzyA 1.0", + "division": "roborumble", + "jar": "daemons.DizzyA_1.0.jar", + "jar_sha256": "aeba11ca1cd50603c4b74166f04dea30238c77faead6f6830874571bea4091ad", + "key": "roborumble/daemons.DizzyA_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 32.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3000.0, + "scores": [ + 1522.0, + 1478.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13103.0, + "scores": [ + 6186.0, + 6917.0 + ], + "selected": "daemons.DizzyA 1.0" + }, + "completed_at": "2026-09-11T20:37:08Z", + "confirmation": null, + "delta_pct": -64.2, + "id": "fce67ed0d1b04c77", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "daemons.DizzyA 1.0", + "division": "roborumble", + "jar": "daemons.DizzyA_1.0.jar", + "jar_sha256": "aeba11ca1cd50603c4b74166f04dea30238c77faead6f6830874571bea4091ad", + "key": "roborumble/daemons.DizzyA_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4694.0, + "scores": [ + 2618.0, + 2076.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dam.MogBot_2.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dam.MogBot 2.9", + "division": "roborumble", + "jar": "dam.MogBot_2.9.jar", + "jar_sha256": "7afc716ca13e8918c6f19d5d04fb4119a1f8ce825cc44f873e48329233edc646", + "key": "roborumble/dam.MogBot_2.9.jar", + "kind": "robot" + }, + "latest_observation": "6003e69f1e0dcce6", + "observations": [ + { + "classic": { + "elapsed": 22.9, + "error_count": 24, + "errors": [ + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.StreamCorruptedException: invalid type code: BF", + "java.io.StreamCorruptedException: invalid type code: 4C", + "java.io.StreamCorruptedException: invalid type code: 6E", + "java.io.UTFDataFormatException", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.StreamCorruptedException: invalid type code: BF", + "java.io.StreamCorruptedException: invalid type code: 80", + "java.io.StreamCorruptedException: invalid handle value: 007E0270", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.InvalidClassException: dam.util.GridPoint; enum descriptor has non-zero serialVersionUID: 4446615568564813939", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.StreamCorruptedException: invalid type code: BF", + "java.io.StreamCorruptedException: invalid type code: 4C", + "java.io.StreamCorruptedException: invalid type code: 6E", + "java.io.UTFDataFormatException", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.StreamCorruptedException: invalid type code: BF", + "java.io.StreamCorruptedException: invalid type code: 80", + "java.io.StreamCorruptedException: invalid handle value: 007E0270", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.InvalidClassException: dam.util.GridPoint; enum descriptor has non-zero serialVersionUID: 4446615568564813939" + ], + "has_log": true, + "ok": true, + "score": 6025.0, + "scores": [ + 3381.0, + 2644.0 + ], + "selected": "dam.MogBot 2.9" + }, + "completed_at": "2026-09-08T21:39:18Z", + "delta_pct": null, + "id": "d949ac75405a14c5", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dam.MogBot 2.9", + "division": "roborumble", + "jar": "dam.MogBot_2.9.jar", + "jar_sha256": "7afc716ca13e8918c6f19d5d04fb4119a1f8ce825cc44f873e48329233edc646", + "key": "roborumble/dam.MogBot_2.9.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 6.2, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.EOFException: Unexpected end of ZLIB input stream", + "java.io.EOFException: Unexpected end of ZLIB input stream" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 20.0, + "error_count": 42, + "error_signatures": [ + { + "exception": "java.io.InvalidClassException", + "origin": "unknown" + }, + { + "exception": "java.io.StreamCorruptedException", + "origin": "unknown" + }, + { + "exception": "java.io.UTFDataFormatException", + "origin": "unknown" + }, + { + "exception": "java.util.zip.ZipException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.UTFDataFormatException", + "java.io.StreamCorruptedException: invalid type code: 7F", + "java.io.InvalidClassException: dam.util.BotPoint; serializable and externalizable flags conflict", + "java.io.InvalidClassException: dam.targetting.PatternTargetting; serializable and externalizable flags conflict", + "java.io.StreamCorruptedException: invalid type code: DF", + "java.io.InvalidClassException: dam.targetting.CircularTargettingS.ting; enum descriptor has non-zero serialVersionUID: 3333624089200127073", + "java.io.StreamCorruptedException: invalid type code: D4", + "java.io.StreamCorruptedException: invalid type code: A9", + "java.io.StreamCorruptedException: invalid type code: 92", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.util.zip.ZipException: invalid distance too far back", + "java.util.zip.ZipException: invalid distance too far back", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.util.zip.ZipException: invalid entry size (expected 14610 but got 14888 bytes)", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.UTFDataFormatException", + "java.util.zip.ZipException: invalid distance too far back", + "java.io.UTFDataFormatException", + "java.io.StreamCorruptedException: invalid type code: BF", + "java.io.UTFDataFormatException", + "java.io.UTFDataFormatException", + "java.io.StreamCorruptedException: invalid type code: 7F", + "java.io.InvalidClassException: dam.util.BotPoint; serializable and externalizable flags conflict", + "java.io.InvalidClassException: dam.targetting.PatternTargetting; serializable and externalizable flags conflict", + "java.io.StreamCorruptedException: invalid type code: DF", + "java.io.InvalidClassException: dam.targetting.CircularTargettingS.ting; enum descriptor has non-zero serialVersionUID: 3333624089200127073", + "java.io.StreamCorruptedException: invalid type code: D4", + "java.io.StreamCorruptedException: invalid type code: A9", + "java.io.StreamCorruptedException: invalid type code: 92", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.util.zip.ZipException: invalid distance too far back", + "java.util.zip.ZipException: invalid distance too far back", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.util.zip.ZipException: invalid entry size (expected 14610 but got 14888 bytes)", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.StreamCorruptedException: invalid type code: 00", + "java.io.UTFDataFormatException", + "java.util.zip.ZipException: invalid distance too far back", + "java.io.UTFDataFormatException", + "java.io.StreamCorruptedException: invalid type code: BF", + "java.io.UTFDataFormatException" + ], + "has_log": true, + "ok": true, + "score": 5996.0, + "scores": [ + 2833.0, + 3163.0 + ], + "selected": "dam.MogBot 2.9" + }, + "completed_at": "2026-09-11T20:37:36Z", + "confirmation": null, + "delta_pct": null, + "id": "6003e69f1e0dcce6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dam.MogBot 2.9", + "division": "roborumble", + "jar": "dam.MogBot_2.9.jar", + "jar_sha256": "7afc716ca13e8918c6f19d5d04fb4119a1f8ce825cc44f873e48329233edc646", + "key": "roborumble/dam.MogBot_2.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.EOFException", + "unknown" + ] + ], + "elapsed": 8.2, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.io.EOFException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.EOFException: Unexpected end of ZLIB input stream", + "java.io.EOFException: Unexpected end of ZLIB input stream", + "java.io.EOFException: Unexpected end of ZLIB input stream", + "java.io.EOFException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/dans.Cinnamon_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dans.Cinnamon 1.2", + "division": "roborumble", + "jar": "dans.Cinnamon_1.2.jar", + "jar_sha256": "cb352fa2412994d4160c5161124036464a48cc73b1725178a7ee048609c8b7da", + "key": "roborumble/dans.Cinnamon_1.2.jar", + "kind": "robot" + }, + "latest_observation": "3ddba38f0713acc3", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8750.0, + "scores": [ + 4450.0, + 4300.0 + ], + "selected": "dans.Cinnamon 1.2" + }, + "completed_at": "2026-09-08T21:39:31Z", + "delta_pct": -51.1, + "id": "4396cf2704a52d50", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dans.Cinnamon 1.2", + "division": "roborumble", + "jar": "dans.Cinnamon_1.2.jar", + "jar_sha256": "cb352fa2412994d4160c5161124036464a48cc73b1725178a7ee048609c8b7da", + "key": "roborumble/dans.Cinnamon_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 10.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4281.0, + "scores": [ + 2197.0, + 2084.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8627.0, + "scores": [ + 4235.0, + 4392.0 + ], + "selected": "dans.Cinnamon 1.2" + }, + "completed_at": "2026-09-11T20:37:51Z", + "confirmation": null, + "delta_pct": -52.9, + "id": "3ddba38f0713acc3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dans.Cinnamon 1.2", + "division": "roborumble", + "jar": "dans.Cinnamon_1.2.jar", + "jar_sha256": "cb352fa2412994d4160c5161124036464a48cc73b1725178a7ee048609c8b7da", + "key": "roborumble/dans.Cinnamon_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4067.0, + "scores": [ + 2416.0, + 1651.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/darkcanuck.Gaff_1.50.jar": { + "diagnosis_events": [ + { + "cause": "packaged-data-resources", + "id": "diagnosis-1", + "owner": "bridge", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "darkcanuck.Gaff 1.50", + "division": "roborumble", + "jar": "darkcanuck.Gaff_1.50.jar", + "jar_sha256": "64aeb84310e8951dfd7d3cd0bac948d5276e5da63f1fee4cb33419beca244ba8", + "key": "roborumble/darkcanuck.Gaff_1.50.jar", + "kind": "robot" + }, + "latest_observation": "ecc0cfdcfe4481ee", + "observations": [ + { + "classic": { + "elapsed": 11.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7402.0, + "scores": [ + 4126.0, + 3276.0 + ], + "selected": "darkcanuck.Gaff 1.50" + }, + "completed_at": "2026-09-08T21:39:48Z", + "delta_pct": null, + "id": "970cb17042cd15f3", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "darkcanuck.Gaff 1.50", + "division": "roborumble", + "jar": "darkcanuck.Gaff_1.50.jar", + "jar_sha256": "64aeb84310e8951dfd7d3cd0bac948d5276e5da63f1fee4cb33419beca244ba8", + "key": "roborumble/darkcanuck.Gaff_1.50.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Gaff_1.50\\Gaff.data\\Gaff.properties (Den angivne fil blev ikke fundet)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Gaff_1.50-2\\Gaff.data\\Gaff.properties (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 12.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6792.0, + "scores": [ + 3496.0, + 3296.0 + ], + "selected": "darkcanuck.Gaff 1.50" + }, + "completed_at": "2026-09-11T20:38:08Z", + "confirmation": null, + "delta_pct": null, + "id": "ce292f19f1f58ae4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "darkcanuck.Gaff 1.50", + "division": "roborumble", + "jar": "darkcanuck.Gaff_1.50.jar", + "jar_sha256": "64aeb84310e8951dfd7d3cd0bac948d5276e5da63f1fee4cb33419beca244ba8", + "key": "roborumble/darkcanuck.Gaff_1.50.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.FileNotFoundException", + "unknown" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Gaff_1.50\\Gaff.data\\Gaff.properties (Den angivne fil blev ikke fundet)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Gaff_1.50-2\\Gaff.data\\Gaff.properties (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 11.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6842.0, + "scores": [ + 3518.0, + 3324.0 + ], + "selected": "darkcanuck.Gaff 1.50" + }, + "completed_at": "2026-09-22T14:29:22Z", + "confirmation": null, + "delta_pct": -6.7, + "id": "ecc0cfdcfe4481ee", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "44fd5bc10abfb832ffa69914ec852b968e159399", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "packaged-data-resources", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "28d4a79" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "darkcanuck.Gaff 1.50", + "division": "roborumble", + "jar": "darkcanuck.Gaff_1.50.jar", + "jar_sha256": "64aeb84310e8951dfd7d3cd0bac948d5276e5da63f1fee4cb33419beca244ba8", + "key": "roborumble/darkcanuck.Gaff_1.50.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6385.0, + "scores": [ + 3436.0, + 2949.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/darkcanuck.Holden_1.13a.jar": { + "diagnosis_events": [ + { + "cause": "packaged-data-resources", + "id": "diagnosis-1", + "owner": "bridge", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "darkcanuck.Holden 1.13a", + "division": "roborumble", + "jar": "darkcanuck.Holden_1.13a.jar", + "jar_sha256": "45996fda61b8ca3d0b807d791c79d2bd4dbff3043083bc99041d43ec01c40625", + "key": "roborumble/darkcanuck.Holden_1.13a.jar", + "kind": "robot" + }, + "latest_observation": "4f682a9bd6d654ee", + "observations": [ + { + "classic": { + "elapsed": 17.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5920.0, + "scores": [ + 3086.0, + 2834.0 + ], + "selected": "darkcanuck.Holden 1.13a" + }, + "completed_at": "2026-09-08T21:40:10Z", + "delta_pct": null, + "id": "3e764de13ff9996b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "darkcanuck.Holden 1.13a", + "division": "roborumble", + "jar": "darkcanuck.Holden_1.13a.jar", + "jar_sha256": "45996fda61b8ca3d0b807d791c79d2bd4dbff3043083bc99041d43ec01c40625", + "key": "roborumble/darkcanuck.Holden_1.13a.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Holden_1.13a\\Holden.data\\Holden.properties (Den angivne fil blev ikke fundet)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Holden_1.13a-2\\Holden.data\\Holden.properties (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 19.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5663.0, + "scores": [ + 2646.0, + 3017.0 + ], + "selected": "darkcanuck.Holden 1.13a" + }, + "completed_at": "2026-09-11T20:38:33Z", + "confirmation": null, + "delta_pct": null, + "id": "2c000dadc48e9029", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "darkcanuck.Holden 1.13a", + "division": "roborumble", + "jar": "darkcanuck.Holden_1.13a.jar", + "jar_sha256": "45996fda61b8ca3d0b807d791c79d2bd4dbff3043083bc99041d43ec01c40625", + "key": "roborumble/darkcanuck.Holden_1.13a.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.FileNotFoundException", + "unknown" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Holden_1.13a\\Holden.data\\Holden.properties (Den angivne fil blev ikke fundet)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Holden_1.13a-2\\Holden.data\\Holden.properties (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 15.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6044.0, + "scores": [ + 2661.0, + 3383.0 + ], + "selected": "darkcanuck.Holden 1.13a" + }, + "completed_at": "2026-09-22T14:30:19Z", + "confirmation": null, + "delta_pct": -6.5, + "id": "4f682a9bd6d654ee", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "44fd5bc10abfb832ffa69914ec852b968e159399", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "packaged-data-resources", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "28d4a79" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "darkcanuck.Holden 1.13a", + "division": "roborumble", + "jar": "darkcanuck.Holden_1.13a.jar", + "jar_sha256": "45996fda61b8ca3d0b807d791c79d2bd4dbff3043083bc99041d43ec01c40625", + "key": "roborumble/darkcanuck.Holden_1.13a.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5654.0, + "scores": [ + 2871.0, + 2783.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/darkcanuck.Pris_0.92.jar": { + "diagnosis_events": [ + { + "cause": "packaged-data-resources", + "id": "diagnosis-1", + "owner": "bridge", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "darkcanuck.Pris 0.92", + "division": "roborumble", + "jar": "darkcanuck.Pris_0.92.jar", + "jar_sha256": "d545a4a58eff55fc4c24ea47ed12143c7208104ff223940017632c2b8742fdb9", + "key": "roborumble/darkcanuck.Pris_0.92.jar", + "kind": "robot" + }, + "latest_observation": "090ad59ca3e144b7", + "observations": [ + { + "classic": { + "elapsed": 14.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5105.0, + "scores": [ + 2805.0, + 2300.0 + ], + "selected": "darkcanuck.Pris 0.92" + }, + "completed_at": "2026-09-08T21:40:29Z", + "delta_pct": null, + "id": "a1c846f8e60831ac", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "darkcanuck.Pris 0.92", + "division": "roborumble", + "jar": "darkcanuck.Pris_0.92.jar", + "jar_sha256": "d545a4a58eff55fc4c24ea47ed12143c7208104ff223940017632c2b8742fdb9", + "key": "roborumble/darkcanuck.Pris_0.92.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Pris_0.92\\Pris.data\\Pris.properties (Den angivne fil blev ikke fundet)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Pris_0.92-2\\Pris.data\\Pris.properties (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 14.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5179.0, + "scores": [ + 2841.0, + 2338.0 + ], + "selected": "darkcanuck.Pris 0.92" + }, + "completed_at": "2026-09-11T20:38:52Z", + "confirmation": null, + "delta_pct": null, + "id": "84f686571606eda3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "darkcanuck.Pris 0.92", + "division": "roborumble", + "jar": "darkcanuck.Pris_0.92.jar", + "jar_sha256": "d545a4a58eff55fc4c24ea47ed12143c7208104ff223940017632c2b8742fdb9", + "key": "roborumble/darkcanuck.Pris_0.92.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.FileNotFoundException", + "unknown" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Pris_0.92\\Pris.data\\Pris.properties (Den angivne fil blev ikke fundet)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Pris_0.92-2\\Pris.data\\Pris.properties (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 12.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5270.0, + "scores": [ + 2324.0, + 2946.0 + ], + "selected": "darkcanuck.Pris 0.92" + }, + "completed_at": "2026-09-22T14:31:01Z", + "confirmation": null, + "delta_pct": 5.1, + "id": "090ad59ca3e144b7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "44fd5bc10abfb832ffa69914ec852b968e159399", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "packaged-data-resources", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "28d4a79" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "darkcanuck.Pris 0.92", + "division": "roborumble", + "jar": "darkcanuck.Pris_0.92.jar", + "jar_sha256": "d545a4a58eff55fc4c24ea47ed12143c7208104ff223940017632c2b8742fdb9", + "key": "roborumble/darkcanuck.Pris_0.92.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5540.0, + "scores": [ + 3310.0, + 2230.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/davidalves.Firebird_0.25.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "davidalves.Firebird 0.25", + "division": "roborumble", + "jar": "davidalves.Firebird_0.25.jar", + "jar_sha256": "ecf5e584ad4d70023baacc9bd4b2ce6c65520675c91f542e21951e20be1243c9", + "key": "roborumble/davidalves.Firebird_0.25.jar", + "kind": "robot" + }, + "latest_observation": "fbca028f7a468788", + "observations": [ + { + "classic": { + "elapsed": 11.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5111.0, + "scores": [ + 2614.0, + 2497.0 + ], + "selected": "davidalves.Firebird 0.25" + }, + "completed_at": "2026-09-08T21:41:01Z", + "delta_pct": 16.1, + "id": "fae39438b7bb4d8a", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.Firebird 0.25", + "division": "roborumble", + "jar": "davidalves.Firebird_0.25.jar", + "jar_sha256": "ecf5e584ad4d70023baacc9bd4b2ce6c65520675c91f542e21951e20be1243c9", + "key": "roborumble/davidalves.Firebird_0.25.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5933.0, + "scores": [ + 3115.0, + 2818.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 11.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4906.0, + "scores": [ + 2520.0, + 2386.0 + ], + "selected": "davidalves.Firebird 0.25" + }, + "completed_at": "2026-09-11T20:39:30Z", + "confirmation": null, + "delta_pct": 28.0, + "id": "fbca028f7a468788", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.Firebird 0.25", + "division": "roborumble", + "jar": "davidalves.Firebird_0.25.jar", + "jar_sha256": "ecf5e584ad4d70023baacc9bd4b2ce6c65520675c91f542e21951e20be1243c9", + "key": "roborumble/davidalves.Firebird_0.25.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6278.0, + "scores": [ + 3412.0, + 2866.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/davidalves.PhoenixOS_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "davidalves.PhoenixOS 1.1", + "division": "roborumble", + "jar": "davidalves.PhoenixOS_1.1.jar", + "jar_sha256": "fb4b5b7b628d818780a81818b30de9ae2cf10f54e66f6fbe6111dbb62b38a4c8", + "key": "roborumble/davidalves.PhoenixOS_1.1.jar", + "kind": "robot" + }, + "latest_observation": "d37fc2d466f2354b", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4825.0, + "scores": [ + 2716.0, + 2109.0 + ], + "selected": "davidalves.PhoenixOS 1.1" + }, + "completed_at": "2026-09-08T21:43:17Z", + "delta_pct": null, + "id": "8f13036b4836dcbf", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.PhoenixOS 1.1", + "division": "roborumble", + "jar": "davidalves.PhoenixOS_1.1.jar", + "jar_sha256": "fb4b5b7b628d818780a81818b30de9ae2cf10f54e66f6fbe6111dbb62b38a4c8", + "key": "roborumble/davidalves.PhoenixOS_1.1.jar", + "kind": "robot" + }, + "status": "FAIL (TR)", + "tank_royale": { + "elapsed": 4.2, + "error_count": 3, + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"davidalves.net.gun.GuessFactorGun.miss()\" because \"gun\" is null", + "java.lang.NullPointerException: Cannot invoke \"davidalves.net.gun.GuessFactorGun.miss()\" because \"gun\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4255.0, + "scores": [ + 1706.0, + 2549.0 + ], + "selected": "davidalves.PhoenixOS 1.1" + }, + "completed_at": "2026-09-11T20:45:18Z", + "confirmation": null, + "delta_pct": null, + "id": "d37fc2d466f2354b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.PhoenixOS 1.1", + "division": "roborumble", + "jar": "davidalves.PhoenixOS_1.1.jar", + "jar_sha256": "fb4b5b7b628d818780a81818b30de9ae2cf10f54e66f6fbe6111dbb62b38a4c8", + "key": "roborumble/davidalves.PhoenixOS_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "davidalves.net.gun.GuessFactorGunManager.hit" + ], + [ + "java.lang.NullPointerException", + "davidalves.net.gun.GuessFactorGunManager.updateBulletTracker" + ] + ], + "elapsed": 4.1, + "error_count": 6, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "davidalves.net.gun.GuessFactorGunManager.hit" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "davidalves.net.gun.GuessFactorGunManager.updateBulletTracker" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"davidalves.net.gun.GuessFactorGun.hit()\" because \"gun\" is null", + "java.lang.NullPointerException: Cannot invoke \"davidalves.net.gun.GuessFactorGun.hit()\" because \"gun\" is null", + "java.lang.NullPointerException: Cannot invoke \"davidalves.net.gun.GuessFactorGun.miss()\" because \"gun\" is null", + "java.lang.NullPointerException: Cannot invoke \"davidalves.net.gun.GuessFactorGun.hit()\" because \"gun\" is null", + "java.lang.NullPointerException: Cannot invoke \"davidalves.net.gun.GuessFactorGun.miss()\" because \"gun\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/davidalves.Phoenix_1.02.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "davidalves.Phoenix 1.02", + "division": "roborumble", + "jar": "davidalves.Phoenix_1.02.jar", + "jar_sha256": "89b46a3c5cd14c05e6ec5f59ab189852178cd2d774313ac2e0a2b3971ec0fb37", + "key": "roborumble/davidalves.Phoenix_1.02.jar", + "kind": "robot" + }, + "latest_observation": "d15696e56af7ec73", + "observations": [ + { + "classic": { + "elapsed": 6.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4975.0, + "scores": [ + 2556.0, + 2419.0 + ], + "selected": "davidalves.Phoenix 1.02" + }, + "completed_at": "2026-09-08T21:43:08Z", + "delta_pct": 11.5, + "id": "8abd22893c0c806b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.Phoenix 1.02", + "division": "roborumble", + "jar": "davidalves.Phoenix_1.02.jar", + "jar_sha256": "89b46a3c5cd14c05e6ec5f59ab189852178cd2d774313ac2e0a2b3971ec0fb37", + "key": "roborumble/davidalves.Phoenix_1.02.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5546.0, + "scores": [ + 3453.0, + 2093.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 7.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5372.0, + "scores": [ + 2761.0, + 2611.0 + ], + "selected": "davidalves.Phoenix 1.02" + }, + "completed_at": "2026-09-11T20:41:46Z", + "confirmation": null, + "delta_pct": 18.0, + "id": "d15696e56af7ec73", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.Phoenix 1.02", + "division": "roborumble", + "jar": "davidalves.Phoenix_1.02.jar", + "jar_sha256": "89b46a3c5cd14c05e6ec5f59ab189852178cd2d774313ac2e0a2b3971ec0fb37", + "key": "roborumble/davidalves.Phoenix_1.02.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6340.0, + "scores": [ + 3278.0, + 3062.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/davidalves.net.DuelistMicroMkII_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "davidalves.net.DuelistMicroMkII 1.1", + "division": "roborumble", + "jar": "davidalves.net.DuelistMicroMkII_1.1.jar", + "jar_sha256": "0d3e784acde7d8156090280241668a002f890ee6d5d7fe6dadc971787f67b15e", + "key": "roborumble/davidalves.net.DuelistMicroMkII_1.1.jar", + "kind": "robot" + }, + "latest_observation": "40198e0e594d02d6", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5188.0, + "scores": [ + 2539.0, + 2649.0 + ], + "selected": "davidalves.net.DuelistMicroMkII 1.1" + }, + "completed_at": "2026-09-08T21:41:58Z", + "delta_pct": 138.5, + "id": "34cf1f962dcb1bcd", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.DuelistMicroMkII 1.1", + "division": "roborumble", + "jar": "davidalves.net.DuelistMicroMkII_1.1.jar", + "jar_sha256": "0d3e784acde7d8156090280241668a002f890ee6d5d7fe6dadc971787f67b15e", + "key": "roborumble/davidalves.net.DuelistMicroMkII_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 12373.0, + "scores": [ + 6464.0, + 5909.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5326.0, + "scores": [ + 2492.0, + 2834.0 + ], + "selected": "davidalves.net.DuelistMicroMkII 1.1" + }, + "completed_at": "2026-09-11T20:40:28Z", + "confirmation": null, + "delta_pct": 117.4, + "id": "40198e0e594d02d6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.DuelistMicroMkII 1.1", + "division": "roborumble", + "jar": "davidalves.net.DuelistMicroMkII_1.1.jar", + "jar_sha256": "0d3e784acde7d8156090280241668a002f890ee6d5d7fe6dadc971787f67b15e", + "key": "roborumble/davidalves.net.DuelistMicroMkII_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11580.0, + "scores": [ + 5967.0, + 5613.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/davidalves.net.DuelistMicro_1.22.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "davidalves.net.DuelistMicro 1.22", + "division": "roborumble", + "jar": "davidalves.net.DuelistMicro_1.22.jar", + "jar_sha256": "e51b32ab504ef17c0bcd47bb7953ccdd07f7e050b0fa1a3478e63281eaa0fe2a", + "key": "roborumble/davidalves.net.DuelistMicro_1.22.jar", + "kind": "robot" + }, + "latest_observation": "c28e90450fc99ae5", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5170.0, + "scores": [ + 2389.0, + 2781.0 + ], + "selected": "davidalves.net.DuelistMicro 1.22" + }, + "completed_at": "2026-09-08T21:41:40Z", + "delta_pct": 69.6, + "id": "4d34a6e0b2152b18", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.DuelistMicro 1.22", + "division": "roborumble", + "jar": "davidalves.net.DuelistMicro_1.22.jar", + "jar_sha256": "e51b32ab504ef17c0bcd47bb7953ccdd07f7e050b0fa1a3478e63281eaa0fe2a", + "key": "roborumble/davidalves.net.DuelistMicro_1.22.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8770.0, + "scores": [ + 4535.0, + 4235.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5648.0, + "scores": [ + 2941.0, + 2707.0 + ], + "selected": "davidalves.net.DuelistMicro 1.22" + }, + "completed_at": "2026-09-11T20:40:11Z", + "confirmation": null, + "delta_pct": 53.5, + "id": "c28e90450fc99ae5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.DuelistMicro 1.22", + "division": "roborumble", + "jar": "davidalves.net.DuelistMicro_1.22.jar", + "jar_sha256": "e51b32ab504ef17c0bcd47bb7953ccdd07f7e050b0fa1a3478e63281eaa0fe2a", + "key": "roborumble/davidalves.net.DuelistMicro_1.22.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8667.0, + "scores": [ + 4503.0, + 4164.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/davidalves.net.DuelistMini_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "davidalves.net.DuelistMini 1.1", + "division": "roborumble", + "jar": "davidalves.net.DuelistMini_1.1.jar", + "jar_sha256": "9b2ccfee8ff26f622417b82fbe3634e7ff0b3c6693e5fcdd0f534f9a071d86b5", + "key": "roborumble/davidalves.net.DuelistMini_1.1.jar", + "kind": "robot" + }, + "latest_observation": "cb584316a7ba79e0", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4765.0, + "scores": [ + 2860.0, + 1905.0 + ], + "selected": "davidalves.net.DuelistMini 1.1" + }, + "completed_at": "2026-09-08T21:42:20Z", + "delta_pct": -10.0, + "id": "6fb819cdb10fc868", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.DuelistMini 1.1", + "division": "roborumble", + "jar": "davidalves.net.DuelistMini_1.1.jar", + "jar_sha256": "9b2ccfee8ff26f622417b82fbe3634e7ff0b3c6693e5fcdd0f534f9a071d86b5", + "key": "roborumble/davidalves.net.DuelistMini_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4290.0, + "scores": [ + 2273.0, + 2017.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4665.0, + "scores": [ + 1898.0, + 2767.0 + ], + "selected": "davidalves.net.DuelistMini 1.1" + }, + "completed_at": "2026-09-11T20:40:53Z", + "confirmation": null, + "delta_pct": -8.4, + "id": "cb584316a7ba79e0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.DuelistMini 1.1", + "division": "roborumble", + "jar": "davidalves.net.DuelistMini_1.1.jar", + "jar_sha256": "9b2ccfee8ff26f622417b82fbe3634e7ff0b3c6693e5fcdd0f534f9a071d86b5", + "key": "roborumble/davidalves.net.DuelistMini_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4272.0, + "scores": [ + 2141.0, + 2131.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/davidalves.net.DuelistNano_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "davidalves.net.DuelistNano 1.0", + "division": "roborumble", + "jar": "davidalves.net.DuelistNano_1.0.jar", + "jar_sha256": "024b50bf85f17fa136ca87ba615701dd46473d8ef299c49794001271a9aa848e", + "key": "roborumble/davidalves.net.DuelistNano_1.0.jar", + "kind": "robot" + }, + "latest_observation": "d29eb247c581f450", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4314.0, + "scores": [ + 2288.0, + 2026.0 + ], + "selected": "davidalves.net.DuelistNano 1.0" + }, + "completed_at": "2026-09-08T21:42:41Z", + "delta_pct": 4.2, + "id": "eeb33d1a7dbabc53", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.DuelistNano 1.0", + "division": "roborumble", + "jar": "davidalves.net.DuelistNano_1.0.jar", + "jar_sha256": "024b50bf85f17fa136ca87ba615701dd46473d8ef299c49794001271a9aa848e", + "key": "roborumble/davidalves.net.DuelistNano_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 18.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4495.0, + "scores": [ + 2293.0, + 2202.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4578.0, + "scores": [ + 2060.0, + 2518.0 + ], + "selected": "davidalves.net.DuelistNano 1.0" + }, + "completed_at": "2026-09-11T20:41:16Z", + "confirmation": null, + "delta_pct": 1.1, + "id": "d29eb247c581f450", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.DuelistNano 1.0", + "division": "roborumble", + "jar": "davidalves.net.DuelistNano_1.0.jar", + "jar_sha256": "024b50bf85f17fa136ca87ba615701dd46473d8ef299c49794001271a9aa848e", + "key": "roborumble/davidalves.net.DuelistNano_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4627.0, + "scores": [ + 2408.0, + 2219.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/davidalves.net.Duelist_0.1.6src.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "davidalves.net.Duelist 0.1.6src", + "division": "roborumble", + "jar": "davidalves.net.Duelist_0.1.6src.jar", + "jar_sha256": "85c0efdc1a1c9e91b1d35ab906e794c255165f961ce6ad5271a564686ae623ae", + "key": "roborumble/davidalves.net.Duelist_0.1.6src.jar", + "kind": "robot" + }, + "latest_observation": "a1dd12d2d41bd3da", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4870.0, + "scores": [ + 2256.0, + 2614.0 + ], + "selected": "davidalves.net.Duelist 0.1.6src" + }, + "completed_at": "2026-09-08T21:41:25Z", + "delta_pct": 0.1, + "id": "da9c6f4187b20af6", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.Duelist 0.1.6src", + "division": "roborumble", + "jar": "davidalves.net.Duelist_0.1.6src.jar", + "jar_sha256": "85c0efdc1a1c9e91b1d35ab906e794c255165f961ce6ad5271a564686ae623ae", + "key": "roborumble/davidalves.net.Duelist_0.1.6src.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4877.0, + "scores": [ + 2904.0, + 1973.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4743.0, + "scores": [ + 2513.0, + 2230.0 + ], + "selected": "davidalves.net.Duelist 0.1.6src" + }, + "completed_at": "2026-09-11T20:39:53Z", + "confirmation": null, + "delta_pct": -0.5, + "id": "a1dd12d2d41bd3da", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davidalves.net.Duelist 0.1.6src", + "division": "roborumble", + "jar": "davidalves.net.Duelist_0.1.6src.jar", + "jar_sha256": "85c0efdc1a1c9e91b1d35ab906e794c255165f961ce6ad5271a564686ae623ae", + "key": "roborumble/davidalves.net.Duelist_0.1.6src.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4720.0, + "scores": [ + 2448.0, + 2272.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/davv.DOne_b002.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "davv.DOne b002", + "division": "roborumble", + "jar": "davv.DOne_b002.jar", + "jar_sha256": "c4247ac7dade8278e7bdcb028af8c14d4850654318798c694a558df07d8b6a2e", + "key": "roborumble/davv.DOne_b002.jar", + "kind": "robot" + }, + "latest_observation": "f60c95154076199f", + "observations": [ + { + "classic": { + "elapsed": 4.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5189.0, + "scores": [ + 2593.0, + 2596.0 + ], + "selected": "davv.DOne b002" + }, + "completed_at": "2026-09-08T21:43:51Z", + "delta_pct": -53.3, + "id": "8948876072cf5515", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davv.DOne b002", + "division": "roborumble", + "jar": "davv.DOne_b002.jar", + "jar_sha256": "c4247ac7dade8278e7bdcb028af8c14d4850654318798c694a558df07d8b6a2e", + "key": "roborumble/davv.DOne_b002.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 30.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2422.0, + "scores": [ + 1387.0, + 1035.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5593.0, + "scores": [ + 2065.0, + 3528.0 + ], + "selected": "davv.DOne b002" + }, + "completed_at": "2026-09-11T20:45:56Z", + "confirmation": null, + "delta_pct": -39.9, + "id": "f60c95154076199f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "davv.DOne b002", + "division": "roborumble", + "jar": "davv.DOne_b002.jar", + "jar_sha256": "c4247ac7dade8278e7bdcb028af8c14d4850654318798c694a558df07d8b6a2e", + "key": "roborumble/davv.DOne_b002.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3359.0, + "scores": [ + 1868.0, + 1491.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dcs.Eater_of_Worlds_1.1.3-A.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dcs.Eater_of_Worlds 1.1.3-A", + "division": "roborumble", + "jar": "dcs.Eater_of_Worlds_1.1.3-A.jar", + "jar_sha256": "b674714bdd8a9a3f2a422c44789ce0328e3c97db328d486b5a08e57c622bd1b8", + "key": "roborumble/dcs.Eater_of_Worlds_1.1.3-A.jar", + "kind": "robot" + }, + "latest_observation": "6d03e404aa0e75d9", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7446.0, + "scores": [ + 3219.0, + 4227.0 + ], + "selected": "dcs.Eater_of_Worlds 1.1.3-A" + }, + "completed_at": "2026-09-08T21:44:08Z", + "delta_pct": 19.2, + "id": "acfc2f677316f7a1", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dcs.Eater_of_Worlds 1.1.3-A", + "division": "roborumble", + "jar": "dcs.Eater_of_Worlds_1.1.3-A.jar", + "jar_sha256": "b674714bdd8a9a3f2a422c44789ce0328e3c97db328d486b5a08e57c622bd1b8", + "key": "roborumble/dcs.Eater_of_Worlds_1.1.3-A.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8877.0, + "scores": [ + 5234.0, + 3643.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7612.0, + "scores": [ + 3871.0, + 3741.0 + ], + "selected": "dcs.Eater_of_Worlds 1.1.3-A" + }, + "completed_at": "2026-09-11T20:46:17Z", + "confirmation": null, + "delta_pct": 18.0, + "id": "6d03e404aa0e75d9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dcs.Eater_of_Worlds 1.1.3-A", + "division": "roborumble", + "jar": "dcs.Eater_of_Worlds_1.1.3-A.jar", + "jar_sha256": "b674714bdd8a9a3f2a422c44789ce0328e3c97db328d486b5a08e57c622bd1b8", + "key": "roborumble/dcs.Eater_of_Worlds_1.1.3-A.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8979.0, + "scores": [ + 4808.0, + 4171.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dcs.Eater_of_Worlds_Mini_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dcs.Eater_of_Worlds_Mini 1.0", + "division": "roborumble", + "jar": "dcs.Eater_of_Worlds_Mini_1.0.jar", + "jar_sha256": "424d954d97913eb026baa23b0a387bec3723e090b8c2619f83be76905a006b3d", + "key": "roborumble/dcs.Eater_of_Worlds_Mini_1.0.jar", + "kind": "robot" + }, + "latest_observation": "2fe91471c7f09d1a", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8122.0, + "scores": [ + 4301.0, + 3821.0 + ], + "selected": "dcs.Eater_of_Worlds_Mini 1.0" + }, + "completed_at": "2026-09-08T21:44:26Z", + "delta_pct": -3.7, + "id": "aa8ea784d11f187f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dcs.Eater_of_Worlds_Mini 1.0", + "division": "roborumble", + "jar": "dcs.Eater_of_Worlds_Mini_1.0.jar", + "jar_sha256": "424d954d97913eb026baa23b0a387bec3723e090b8c2619f83be76905a006b3d", + "key": "roborumble/dcs.Eater_of_Worlds_Mini_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7824.0, + "scores": [ + 4118.0, + 3706.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7929.0, + "scores": [ + 3938.0, + 3991.0 + ], + "selected": "dcs.Eater_of_Worlds_Mini 1.0" + }, + "completed_at": "2026-09-11T20:46:37Z", + "confirmation": null, + "delta_pct": 0.7, + "id": "2fe91471c7f09d1a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dcs.Eater_of_Worlds_Mini 1.0", + "division": "roborumble", + "jar": "dcs.Eater_of_Worlds_Mini_1.0.jar", + "jar_sha256": "424d954d97913eb026baa23b0a387bec3723e090b8c2619f83be76905a006b3d", + "key": "roborumble/dcs.Eater_of_Worlds_Mini_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7983.0, + "scores": [ + 4639.0, + 3344.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dcs.PM.Eater_of_Worlds_PM_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dcs.PM.Eater_of_Worlds_PM 1.2", + "division": "roborumble", + "jar": "dcs.PM.Eater_of_Worlds_PM_1.2.jar", + "jar_sha256": "103d8b2e0e831171d8bc2ad4d2272f17765dfc9ecc7075ee4cdbba2a1a7b3e85", + "key": "roborumble/dcs.PM.Eater_of_Worlds_PM_1.2.jar", + "kind": "robot" + }, + "latest_observation": "f1ba2437b9b57a63", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5358.0, + "scores": [ + 2593.0, + 2765.0 + ], + "selected": "dcs.PM.Eater_of_Worlds_PM 1.2" + }, + "completed_at": "2026-09-08T21:44:42Z", + "delta_pct": 155.4, + "id": "ff977f89ff8c2e6b", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dcs.PM.Eater_of_Worlds_PM 1.2", + "division": "roborumble", + "jar": "dcs.PM.Eater_of_Worlds_PM_1.2.jar", + "jar_sha256": "103d8b2e0e831171d8bc2ad4d2272f17765dfc9ecc7075ee4cdbba2a1a7b3e85", + "key": "roborumble/dcs.PM.Eater_of_Worlds_PM_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 12.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 13685.0, + "scores": [ + 7034.0, + 6651.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5102.0, + "scores": [ + 2568.0, + 2534.0 + ], + "selected": "dcs.PM.Eater_of_Worlds_PM 1.2" + }, + "completed_at": "2026-09-11T20:46:57Z", + "confirmation": null, + "delta_pct": 149.5, + "id": "f1ba2437b9b57a63", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dcs.PM.Eater_of_Worlds_PM 1.2", + "division": "roborumble", + "jar": "dcs.PM.Eater_of_Worlds_PM_1.2.jar", + "jar_sha256": "103d8b2e0e831171d8bc2ad4d2272f17765dfc9ecc7075ee4cdbba2a1a7b3e85", + "key": "roborumble/dcs.PM.Eater_of_Worlds_PM_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12730.0, + "scores": [ + 6477.0, + 6253.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/de.erdega.robocode.Polyphemos_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "de.erdega.robocode.Polyphemos 0.4", + "division": "roborumble", + "jar": "de.erdega.robocode.Polyphemos_0.4.jar", + "jar_sha256": "64765b6e60690f6889f1ef44ef0e8a566871eee38b280784e68900dff5d0e7be", + "key": "roborumble/de.erdega.robocode.Polyphemos_0.4.jar", + "kind": "robot" + }, + "latest_observation": "4b2a42fea45ce2a9", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5160.0, + "scores": [ + 2440.0, + 2720.0 + ], + "selected": "de.erdega.robocode.Polyphemos 0.4" + }, + "completed_at": "2026-09-08T21:45:07Z", + "delta_pct": -35.0, + "id": "2b4de671d6c6e4bf", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "de.erdega.robocode.Polyphemos 0.4", + "division": "roborumble", + "jar": "de.erdega.robocode.Polyphemos_0.4.jar", + "jar_sha256": "64765b6e60690f6889f1ef44ef0e8a566871eee38b280784e68900dff5d0e7be", + "key": "roborumble/de.erdega.robocode.Polyphemos_0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3354.0, + "scores": [ + 1829.0, + 1525.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5472.0, + "scores": [ + 3029.0, + 2443.0 + ], + "selected": "de.erdega.robocode.Polyphemos 0.4" + }, + "completed_at": "2026-09-11T20:47:24Z", + "confirmation": null, + "delta_pct": -39.0, + "id": "4b2a42fea45ce2a9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "de.erdega.robocode.Polyphemos 0.4", + "division": "roborumble", + "jar": "de.erdega.robocode.Polyphemos_0.4.jar", + "jar_sha256": "64765b6e60690f6889f1ef44ef0e8a566871eee38b280784e68900dff5d0e7be", + "key": "roborumble/de.erdega.robocode.Polyphemos_0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3338.0, + "scores": [ + 1978.0, + 1360.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/de.simpleworks.robocode.bots.swiBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "de.simpleworks.robocode.bots.swiBot 1.0", + "division": "roborumble", + "jar": "de.simpleworks.robocode.bots.swiBot_1.0.jar", + "jar_sha256": "0f8ba834279b54d3494be8aeb57f35d557e8d05bb4075a832a76206b1fa89eef", + "key": "roborumble/de.simpleworks.robocode.bots.swiBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "c1c1dba51c345138", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 9417.0, + "scores": [ + 4829.0, + 4588.0 + ], + "selected": "de.simpleworks.robocode.bots.swiBot 1.0" + }, + "completed_at": "2026-09-08T21:45:32Z", + "delta_pct": -13.2, + "id": "8a7446289797b1b0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "de.simpleworks.robocode.bots.swiBot 1.0", + "division": "roborumble", + "jar": "de.simpleworks.robocode.bots.swiBot_1.0.jar", + "jar_sha256": "0f8ba834279b54d3494be8aeb57f35d557e8d05bb4075a832a76206b1fa89eef", + "key": "roborumble/de.simpleworks.robocode.bots.swiBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 22.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 8172.0, + "scores": [ + 4378.0, + 3794.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9398.0, + "scores": [ + 4338.0, + 5060.0 + ], + "selected": "de.simpleworks.robocode.bots.swiBot 1.0" + }, + "completed_at": "2026-09-11T20:47:47Z", + "confirmation": null, + "delta_pct": -7.7, + "id": "c1c1dba51c345138", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "de.simpleworks.robocode.bots.swiBot 1.0", + "division": "roborumble", + "jar": "de.simpleworks.robocode.bots.swiBot_1.0.jar", + "jar_sha256": "0f8ba834279b54d3494be8aeb57f35d557e8d05bb4075a832a76206b1fa89eef", + "key": "roborumble/de.simpleworks.robocode.bots.swiBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8675.0, + "scores": [ + 4432.0, + 4243.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/deith.Czolgzilla_0.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "deith.Czolgzilla 0.11", + "division": "roborumble", + "jar": "deith.Czolgzilla_0.11.jar", + "jar_sha256": "62fcf900acce6f57575b9f550455c49c70238555233b37a6687f979f9af91779", + "key": "roborumble/deith.Czolgzilla_0.11.jar", + "kind": "robot" + }, + "latest_observation": "6a14a50736d181ca", + "observations": [ + { + "classic": { + "elapsed": 43.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5143.0, + "scores": [ + 3161.0, + 1982.0 + ], + "selected": "deith.Czolgzilla 0.11" + }, + "completed_at": "2026-09-08T21:46:55Z", + "delta_pct": -5.6, + "id": "08cef06b36787464", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "deith.Czolgzilla 0.11", + "division": "roborumble", + "jar": "deith.Czolgzilla_0.11.jar", + "jar_sha256": "62fcf900acce6f57575b9f550455c49c70238555233b37a6687f979f9af91779", + "key": "roborumble/deith.Czolgzilla_0.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 40.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 4853.0, + "scores": [ + 2548.0, + 2305.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 60.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5251.0, + "scores": [ + 2608.0, + 2643.0 + ], + "selected": "deith.Czolgzilla 0.11" + }, + "completed_at": "2026-09-11T20:50:12Z", + "confirmation": null, + "delta_pct": -7.5, + "id": "6a14a50736d181ca", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "deith.Czolgzilla 0.11", + "division": "roborumble", + "jar": "deith.Czolgzilla_0.11.jar", + "jar_sha256": "62fcf900acce6f57575b9f550455c49c70238555233b37a6687f979f9af91779", + "key": "roborumble/deith.Czolgzilla_0.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 84.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4856.0, + "scores": [ + 2477.0, + 2379.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/demetrix.ForceMajeure_0.75.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "demetrix.ForceMajeure 0.75", + "division": "roborumble", + "jar": "demetrix.ForceMajeure_0.75.jar", + "jar_sha256": "015c4cf71816f9b7ec45ca58c680054eada7157ea54b8eb29c33ec4a82be5011", + "key": "roborumble/demetrix.ForceMajeure_0.75.jar", + "kind": "robot" + }, + "latest_observation": "c99da6d0b2acb9c2", + "observations": [ + { + "classic": { + "elapsed": 8.9, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5942.0, + "scores": [ + 3395.0, + 2547.0 + ], + "selected": "demetrix.ForceMajeure 0.75" + }, + "completed_at": "2026-09-08T21:47:28Z", + "delta_pct": -0.5, + "id": "bbf69d95d8f28b8f", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "demetrix.ForceMajeure 0.75", + "division": "roborumble", + "jar": "demetrix.ForceMajeure_0.75.jar", + "jar_sha256": "015c4cf71816f9b7ec45ca58c680054eada7157ea54b8eb29c33ec4a82be5011", + "key": "roborumble/demetrix.ForceMajeure_0.75.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 24.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5913.0, + "scores": [ + 3066.0, + 2847.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 8.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6329.0, + "scores": [ + 3913.0, + 2416.0 + ], + "selected": "demetrix.ForceMajeure 0.75" + }, + "completed_at": "2026-09-11T20:50:49Z", + "confirmation": null, + "delta_pct": -9.6, + "id": "c99da6d0b2acb9c2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "demetrix.ForceMajeure 0.75", + "division": "roborumble", + "jar": "demetrix.ForceMajeure_0.75.jar", + "jar_sha256": "015c4cf71816f9b7ec45ca58c680054eada7157ea54b8eb29c33ec4a82be5011", + "key": "roborumble/demetrix.ForceMajeure_0.75.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5722.0, + "scores": [ + 3709.0, + 2013.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/demetrix.nano.Neutrino_0.27.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "demetrix.nano.Neutrino 0.27", + "division": "roborumble", + "jar": "demetrix.nano.Neutrino_0.27.jar", + "jar_sha256": "3ba40e81b6908456aad702dd6e8481f33d07898ac773a1307a20563157942a23", + "key": "roborumble/demetrix.nano.Neutrino_0.27.jar", + "kind": "robot" + }, + "latest_observation": "c6d106d809914110", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 7673.0, + "scores": [ + 4020.0, + 3653.0 + ], + "selected": "demetrix.nano.Neutrino 0.27" + }, + "completed_at": "2026-09-08T21:47:45Z", + "delta_pct": -17.5, + "id": "c87a4b8d228674d0", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "demetrix.nano.Neutrino 0.27", + "division": "roborumble", + "jar": "demetrix.nano.Neutrino_0.27.jar", + "jar_sha256": "3ba40e81b6908456aad702dd6e8481f33d07898ac773a1307a20563157942a23", + "key": "roborumble/demetrix.nano.Neutrino_0.27.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 14.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6329.0, + "scores": [ + 3688.0, + 2641.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7560.0, + "scores": [ + 3835.0, + 3725.0 + ], + "selected": "demetrix.nano.Neutrino 0.27" + }, + "completed_at": "2026-09-11T20:51:12Z", + "confirmation": null, + "delta_pct": -28.2, + "id": "c6d106d809914110", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "demetrix.nano.Neutrino 0.27", + "division": "roborumble", + "jar": "demetrix.nano.Neutrino_0.27.jar", + "jar_sha256": "3ba40e81b6908456aad702dd6e8481f33d07898ac773a1307a20563157942a23", + "key": "roborumble/demetrix.nano.Neutrino_0.27.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5431.0, + "scores": [ + 3022.0, + 2409.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/demetrix.nano.SledgeHammer_0.22.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "demetrix.nano.SledgeHammer 0.22", + "division": "roborumble", + "jar": "demetrix.nano.SledgeHammer_0.22.jar", + "jar_sha256": "8ca91c5c9cbe37fbd67f136a38ac4be45c2f8b9eb470367957c3fe20e0edd3cd", + "key": "roborumble/demetrix.nano.SledgeHammer_0.22.jar", + "kind": "robot" + }, + "latest_observation": "2dd6c1ce765e2145", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 10442.0, + "scores": [ + 4827.0, + 5615.0 + ], + "selected": "demetrix.nano.SledgeHammer 0.22" + }, + "completed_at": "2026-09-08T21:47:57Z", + "delta_pct": 58.1, + "id": "804cc154798fef47", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "demetrix.nano.SledgeHammer 0.22", + "division": "roborumble", + "jar": "demetrix.nano.SledgeHammer_0.22.jar", + "jar_sha256": "8ca91c5c9cbe37fbd67f136a38ac4be45c2f8b9eb470367957c3fe20e0edd3cd", + "key": "roborumble/demetrix.nano.SledgeHammer_0.22.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 10.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 16508.0, + "scores": [ + 8362.0, + 8146.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10293.0, + "scores": [ + 5564.0, + 4729.0 + ], + "selected": "demetrix.nano.SledgeHammer 0.22" + }, + "completed_at": "2026-09-11T20:51:24Z", + "confirmation": null, + "delta_pct": 62.3, + "id": "2dd6c1ce765e2145", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "demetrix.nano.SledgeHammer 0.22", + "division": "roborumble", + "jar": "demetrix.nano.SledgeHammer_0.22.jar", + "jar_sha256": "8ca91c5c9cbe37fbd67f136a38ac4be45c2f8b9eb470367957c3fe20e0edd3cd", + "key": "roborumble/demetrix.nano.SledgeHammer_0.22.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 16705.0, + "scores": [ + 8549.0, + 8156.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/deo.CloudBot_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "deo.CloudBot 1.3", + "division": "roborumble", + "jar": "deo.CloudBot_1.3.jar", + "jar_sha256": "d62f0561529c81e5da65ad44c4c6db8b31dceca043ec2d9fcc4646aa15ed28f3", + "key": "roborumble/deo.CloudBot_1.3.jar", + "kind": "robot" + }, + "latest_observation": "602f15d5ee46510e", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5643.0, + "scores": [ + 2950.0, + 2693.0 + ], + "selected": "deo.CloudBot 1.3" + }, + "completed_at": "2026-09-08T21:48:20Z", + "delta_pct": -48.6, + "id": "78bba33b96e662cd", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "deo.CloudBot 1.3", + "division": "roborumble", + "jar": "deo.CloudBot_1.3.jar", + "jar_sha256": "d62f0561529c81e5da65ad44c4c6db8b31dceca043ec2d9fcc4646aa15ed28f3", + "key": "roborumble/deo.CloudBot_1.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 2899.0, + "scores": [ + 1506.0, + 1393.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5540.0, + "scores": [ + 1931.0, + 3609.0 + ], + "selected": "deo.CloudBot 1.3" + }, + "completed_at": "2026-09-11T20:51:51Z", + "confirmation": null, + "delta_pct": -29.9, + "id": "602f15d5ee46510e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "deo.CloudBot 1.3", + "division": "roborumble", + "jar": "deo.CloudBot_1.3.jar", + "jar_sha256": "d62f0561529c81e5da65ad44c4c6db8b31dceca043ec2d9fcc4646aa15ed28f3", + "key": "roborumble/deo.CloudBot_1.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3885.0, + "scores": [ + 1982.0, + 1903.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/deo.FlowerBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "deo.FlowerBot 1.0", + "division": "roborumble", + "jar": "deo.FlowerBot_1.0.jar", + "jar_sha256": "b5546fad91b493970149f74a827f7080df7ada99a958deaeebbfcfc0c211a5e5", + "key": "roborumble/deo.FlowerBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "906c3cf350cdb490", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6175.0, + "scores": [ + 3231.0, + 2944.0 + ], + "selected": "deo.FlowerBot 1.0" + }, + "completed_at": "2026-09-08T21:48:40Z", + "delta_pct": -11.2, + "id": "fc65e7d5693090d9", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "deo.FlowerBot 1.0", + "division": "roborumble", + "jar": "deo.FlowerBot_1.0.jar", + "jar_sha256": "b5546fad91b493970149f74a827f7080df7ada99a958deaeebbfcfc0c211a5e5", + "key": "roborumble/deo.FlowerBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "elapsed": 16.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 5481.0, + "scores": [ + 3215.0, + 2266.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5661.0, + "scores": [ + 2677.0, + 2984.0 + ], + "selected": "deo.FlowerBot 1.0" + }, + "completed_at": "2026-09-11T20:52:15Z", + "confirmation": null, + "delta_pct": -6.4, + "id": "906c3cf350cdb490", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "deo.FlowerBot 1.0", + "division": "roborumble", + "jar": "deo.FlowerBot_1.0.jar", + "jar_sha256": "b5546fad91b493970149f74a827f7080df7ada99a958deaeebbfcfc0c211a5e5", + "key": "roborumble/deo.FlowerBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5301.0, + "scores": [ + 3142.0, + 2159.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/deo.virtual.RainbowBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "deo.virtual.RainbowBot 1.0", + "division": "roborumble", + "jar": "deo.virtual.RainbowBot_1.0.jar", + "jar_sha256": "3854b1a74b34f26b4fccfc997b5faadb4db60177cd48857d8bdba79e63f5bba4", + "key": "roborumble/deo.virtual.RainbowBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "ec739c27975085dd", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 6603.0, + "scores": [ + 2903.0, + 3700.0 + ], + "selected": "deo.virtual.RainbowBot 1.0" + }, + "completed_at": "2026-09-08T21:49:04Z", + "delta_pct": -51.9, + "id": "38ab74151e9be2ed", + "manifest": { + "artifacts": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "official_parameters": true, + "supplied": { + "artifactSha256": { + "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", + "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", + "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", + "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + }, + "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "collectionDir": "C:\\Code\\LiteRumble robots", + "command": "python compat_test.py --limit 50", + "created": "2026-09-08T21:13:17.3265216Z", + "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", + "pythonVersion": "Python 3.14.2", + "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", + "robocodeHome": "C:\\robocode", + "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", + "tankRoyaleVersion": "1.2.0" + }, + "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "threshold": 25.0 + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "deo.virtual.RainbowBot 1.0", + "division": "roborumble", + "jar": "deo.virtual.RainbowBot_1.0.jar", + "jar_sha256": "3854b1a74b34f26b4fccfc997b5faadb4db60177cd48857d8bdba79e63f5bba4", + "key": "roborumble/deo.virtual.RainbowBot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "elapsed": 20.0, + "error_count": 0, + "errors": [], + "has_log": false, + "ok": true, + "score": 3175.0, + "scores": [ + 1712.0, + 1463.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6277.0, + "scores": [ + 3273.0, + 3004.0 + ], + "selected": "deo.virtual.RainbowBot 1.0" + }, + "completed_at": "2026-09-11T20:52:43Z", + "confirmation": null, + "delta_pct": -42.9, + "id": "ec739c27975085dd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "deo.virtual.RainbowBot 1.0", + "division": "roborumble", + "jar": "deo.virtual.RainbowBot_1.0.jar", + "jar_sha256": "3854b1a74b34f26b4fccfc997b5faadb4db60177cd48857d8bdba79e63f5bba4", + "key": "roborumble/deo.virtual.RainbowBot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3582.0, + "scores": [ + 1806.0, + 1776.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dft.Calliope_5.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dft.Calliope 5.6", + "division": "roborumble", + "jar": "dft.Calliope_5.6.jar", + "jar_sha256": "dee2ec44341ba6c2574bf995c317b4f806d3189f19ab040f8565b487dab5248a", + "key": "roborumble/dft.Calliope_5.6.jar", + "kind": "robot" + }, + "latest_observation": "1922e70abf214431", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8381.0, + "scores": [ + 4269.0, + 4112.0 + ], + "selected": "dft.Calliope 5.6" + }, + "completed_at": "2026-09-11T20:53:20Z", + "confirmation": null, + "delta_pct": -37.7, + "id": "1922e70abf214431", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dft.Calliope 5.6", + "division": "roborumble", + "jar": "dft.Calliope_5.6.jar", + "jar_sha256": "dee2ec44341ba6c2574bf995c317b4f806d3189f19ab040f8565b487dab5248a", + "key": "roborumble/dft.Calliope_5.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5218.0, + "scores": [ + 2628.0, + 2590.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dft.Cyanide_1.90.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dft.Cyanide 1.90", + "division": "roborumble", + "jar": "dft.Cyanide_1.90.jar", + "jar_sha256": "3767765dc0d72340a142a954314c52ce724db95a623df32747a10bcac2e9a6ca", + "key": "roborumble/dft.Cyanide_1.90.jar", + "kind": "robot" + }, + "latest_observation": "b56d225eda383ab9", + "observations": [ + { + "classic": { + "elapsed": 4.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4640.0, + "scores": [ + 1737.0, + 2903.0 + ], + "selected": "dft.Cyanide 1.90" + }, + "completed_at": "2026-09-11T20:53:51Z", + "confirmation": null, + "delta_pct": -7.7, + "id": "b56d225eda383ab9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dft.Cyanide 1.90", + "division": "roborumble", + "jar": "dft.Cyanide_1.90.jar", + "jar_sha256": "3767765dc0d72340a142a954314c52ce724db95a623df32747a10bcac2e9a6ca", + "key": "roborumble/dft.Cyanide_1.90.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4281.0, + "scores": [ + 2260.0, + 2021.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dft.Cyprus_3.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dft.Cyprus 3.0", + "division": "roborumble", + "jar": "dft.Cyprus_3.0.jar", + "jar_sha256": "d8da533866abc23c9114819b16330bfd7a25115fbfa65f847d1ab795bb5b576d", + "key": "roborumble/dft.Cyprus_3.0.jar", + "kind": "robot" + }, + "latest_observation": "910fdb7758e78f46", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4761.0, + "scores": [ + 2351.0, + 2410.0 + ], + "selected": "dft.Cyprus 3.0" + }, + "completed_at": "2026-09-11T20:54:17Z", + "confirmation": null, + "delta_pct": 1.3, + "id": "910fdb7758e78f46", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dft.Cyprus 3.0", + "division": "roborumble", + "jar": "dft.Cyprus_3.0.jar", + "jar_sha256": "d8da533866abc23c9114819b16330bfd7a25115fbfa65f847d1ab795bb5b576d", + "key": "roborumble/dft.Cyprus_3.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4823.0, + "scores": [ + 2682.0, + 2141.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dft.Freddie_1.32.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dft.Freddie 1.32", + "division": "roborumble", + "jar": "dft.Freddie_1.32.jar", + "jar_sha256": "76565239b343d40c03dd6c4e886fc78749335da2796662d280006545176057ae", + "key": "roborumble/dft.Freddie_1.32.jar", + "kind": "robot" + }, + "latest_observation": "341a18222d734d39", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6867.0, + "scores": [ + 3397.0, + 3470.0 + ], + "selected": "dft.Freddie 1.32" + }, + "completed_at": "2026-09-11T20:54:32Z", + "confirmation": null, + "delta_pct": -51.2, + "id": "341a18222d734d39", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dft.Freddie 1.32", + "division": "roborumble", + "jar": "dft.Freddie_1.32.jar", + "jar_sha256": "76565239b343d40c03dd6c4e886fc78749335da2796662d280006545176057ae", + "key": "roborumble/dft.Freddie_1.32.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3354.0, + "scores": [ + 1748.0, + 1606.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dft.Guppy_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dft.Guppy 1.0", + "division": "roborumble", + "jar": "dft.Guppy_1.0.jar", + "jar_sha256": "0ec4d3b29caea04949e3e1cbeaa3df33db613ec4633b7e7d34a0ba2829f401c5", + "key": "roborumble/dft.Guppy_1.0.jar", + "kind": "robot" + }, + "latest_observation": "e769ffce4e573dad", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10319.0, + "scores": [ + 4891.0, + 5428.0 + ], + "selected": "dft.Guppy 1.0" + }, + "completed_at": "2026-09-11T20:54:46Z", + "confirmation": null, + "delta_pct": -0.0, + "id": "e769ffce4e573dad", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dft.Guppy 1.0", + "division": "roborumble", + "jar": "dft.Guppy_1.0.jar", + "jar_sha256": "0ec4d3b29caea04949e3e1cbeaa3df33db613ec4633b7e7d34a0ba2829f401c5", + "key": "roborumble/dft.Guppy_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10317.0, + "scores": [ + 5447.0, + 4870.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dft.Immortal_1.40.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dft.Immortal 1.40", + "division": "roborumble", + "jar": "dft.Immortal_1.40.jar", + "jar_sha256": "386c34159e85b5a786b4430c4e1f2c29a5ecd896e4d05b634d032d1c6db7229b", + "key": "roborumble/dft.Immortal_1.40.jar", + "kind": "robot" + }, + "latest_observation": "1d36afbb67c11346", + "observations": [ + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4363.0, + "scores": [ + 2195.0, + 2168.0 + ], + "selected": "dft.Immortal 1.40" + }, + "completed_at": "2026-09-11T20:55:15Z", + "confirmation": null, + "delta_pct": -7.2, + "id": "1d36afbb67c11346", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dft.Immortal 1.40", + "division": "roborumble", + "jar": "dft.Immortal_1.40.jar", + "jar_sha256": "386c34159e85b5a786b4430c4e1f2c29a5ecd896e4d05b634d032d1c6db7229b", + "key": "roborumble/dft.Immortal_1.40.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4047.0, + "scores": [ + 2203.0, + 1844.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dft.Krazy_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dft.Krazy 1.5", + "division": "roborumble", + "jar": "dft.Krazy_1.5.jar", + "jar_sha256": "0daebd3dfdc2b82bc332c3ea31b9286b2da388667ce4caaacb4e237d4a1f8634", + "key": "roborumble/dft.Krazy_1.5.jar", + "kind": "robot" + }, + "latest_observation": "164440b187073126", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6105.0, + "scores": [ + 2278.0, + 3827.0 + ], + "selected": "dft.Krazy 1.5" + }, + "completed_at": "2026-09-11T20:55:52Z", + "confirmation": null, + "delta_pct": -100.0, + "id": "164440b187073126", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dft.Krazy 1.5", + "division": "roborumble", + "jar": "dft.Krazy_1.5.jar", + "jar_sha256": "0daebd3dfdc2b82bc332c3ea31b9286b2da388667ce4caaacb4e237d4a1f8634", + "key": "roborumble/dft.Krazy_1.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dft.Virgin_1.25.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dft.Virgin 1.25", + "division": "roborumble", + "jar": "dft.Virgin_1.25.jar", + "jar_sha256": "e180d3759f42cfc8d3bdcf5a8f5f6ef6c12d94f03d6710ad3008b56bb5e3cd6f", + "key": "roborumble/dft.Virgin_1.25.jar", + "kind": "robot" + }, + "latest_observation": "36ab62179c948ed5", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5767.0, + "scores": [ + 2952.0, + 2815.0 + ], + "selected": "dft.Virgin 1.25" + }, + "completed_at": "2026-09-11T20:56:13Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "36ab62179c948ed5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dft.Virgin 1.25", + "division": "roborumble", + "jar": "dft.Virgin_1.25.jar", + "jar_sha256": "e180d3759f42cfc8d3bdcf5a8f5f6ef6c12d94f03d6710ad3008b56bb5e3cd6f", + "key": "roborumble/dft.Virgin_1.25.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5658.0, + "scores": [ + 2852.0, + 2806.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dggp.haiku.gpBot_0_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dggp.haiku.gpBot_0 1.1", + "division": "roborumble", + "jar": "dggp.haiku.gpBot_0_1.1.jar", + "jar_sha256": "a19725573c6849e5f85f63fecf569745978d77dbefc73280f000c141a695e619", + "key": "roborumble/dggp.haiku.gpBot_0_1.1.jar", + "kind": "robot" + }, + "latest_observation": "8c9d984fdf0efc98", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5156.0, + "scores": [ + 2360.0, + 2796.0 + ], + "selected": "dggp.haiku.gpBot_0 1.1" + }, + "completed_at": "2026-09-11T20:56:46Z", + "confirmation": null, + "delta_pct": -55.8, + "id": "8c9d984fdf0efc98", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dggp.haiku.gpBot_0 1.1", + "division": "roborumble", + "jar": "dggp.haiku.gpBot_0_1.1.jar", + "jar_sha256": "a19725573c6849e5f85f63fecf569745978d77dbefc73280f000c141a695e619", + "key": "roborumble/dggp.haiku.gpBot_0_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2281.0, + "scores": [ + 1352.0, + 929.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/disan.Chair_2.2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "disan.Chair 2.2.0", + "division": "roborumble", + "jar": "disan.Chair_2.2.0.jar", + "jar_sha256": "3d3507b7019f9488e497698aba94d3484bca364624b8faaa00b3c1cb26298dbd", + "key": "roborumble/disan.Chair_2.2.0.jar", + "kind": "robot" + }, + "latest_observation": "208f62fdfb38e29f", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4130.0, + "scores": [ + 2204.0, + 1926.0 + ], + "selected": "disan.Chair 2.2.0" + }, + "completed_at": "2026-09-11T20:57:15Z", + "confirmation": null, + "delta_pct": -16.3, + "id": "208f62fdfb38e29f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "disan.Chair 2.2.0", + "division": "roborumble", + "jar": "disan.Chair_2.2.0.jar", + "jar_sha256": "3d3507b7019f9488e497698aba94d3484bca364624b8faaa00b3c1cb26298dbd", + "key": "roborumble/disan.Chair_2.2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3458.0, + "scores": [ + 1981.0, + 1477.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/disan.Ghost_.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "disan.Ghost .01", + "division": "roborumble", + "jar": "disan.Ghost_.01.jar", + "jar_sha256": "c938b4daa1ae168c46c485498224846309bc1287bd8e54b9c46954c413ee8987", + "key": "roborumble/disan.Ghost_.01.jar", + "kind": "robot" + }, + "latest_observation": "939017536d62cb1b", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2100.0, + "scores": [ + 1500.0, + 600.0 + ], + "selected": "disan.Ghost .01" + }, + "completed_at": "2026-09-11T20:57:42Z", + "confirmation": null, + "delta_pct": 0.0, + "id": "939017536d62cb1b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "78c338d", + "official_parameters": true, + "tank_royale_commit": "ae71363a579d7e45eb5e019948ed8fd3877b7c01", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "disan.Ghost .01", + "division": "roborumble", + "jar": "disan.Ghost_.01.jar", + "jar_sha256": "c938b4daa1ae168c46c485498224846309bc1287bd8e54b9c46954c413ee8987", + "key": "roborumble/disan.Ghost_.01.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2100.0, + "scores": [ + 1500.0, + 600.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dittman.BlindSquirl_Retired.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dittman.BlindSquirl Retired", + "division": "roborumble", + "jar": "dittman.BlindSquirl_Retired.jar", + "jar_sha256": "137363a80d70457dbb26f256a45f1e52814c2818e21bf7834800607eb193ab92", + "key": "roborumble/dittman.BlindSquirl_Retired.jar", + "kind": "robot" + }, + "latest_observation": "bd4fb0e12b986401", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5456.0, + "scores": [ + 2412.0, + 3044.0 + ], + "selected": "dittman.BlindSquirl Retired" + }, + "completed_at": "2026-09-11T21:03:15Z", + "confirmation": null, + "delta_pct": -65.0, + "id": "bd4fb0e12b986401", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dittman.BlindSquirl Retired", + "division": "roborumble", + "jar": "dittman.BlindSquirl_Retired.jar", + "jar_sha256": "137363a80d70457dbb26f256a45f1e52814c2818e21bf7834800607eb193ab92", + "key": "roborumble/dittman.BlindSquirl_Retired.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1908.0, + "scores": [ + 1106.0, + 802.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/divineomega.DivineBot_1.9.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "divineomega.DivineBot 1.9.5", + "division": "roborumble", + "jar": "divineomega.DivineBot_1.9.5.jar", + "jar_sha256": "8d127b2400ccfddf39d0666729cc749b95084f1550c76d604f8b1089ca688b8a", + "key": "roborumble/divineomega.DivineBot_1.9.5.jar", + "kind": "robot" + }, + "latest_observation": "4fd33ccfdaf0dab3", + "observations": [ + { + "classic": { + "elapsed": 4.8, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.EOFException", + "origin": "divineomega.FileManager.load" + } + ], + "errors": [ + "java.io.EOFException", + "java.io.EOFException" + ], + "has_log": true, + "ok": true, + "score": 7632.0, + "scores": [ + 3524.0, + 4108.0 + ], + "selected": "divineomega.DivineBot 1.9.5" + }, + "completed_at": "2026-09-11T21:03:57Z", + "confirmation": null, + "delta_pct": 0.3, + "id": "4fd33ccfdaf0dab3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "divineomega.DivineBot 1.9.5", + "division": "roborumble", + "jar": "divineomega.DivineBot_1.9.5.jar", + "jar_sha256": "8d127b2400ccfddf39d0666729cc749b95084f1550c76d604f8b1089ca688b8a", + "key": "roborumble/divineomega.DivineBot_1.9.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7654.0, + "scores": [ + 4473.0, + 3181.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/divineomega.PatrollerBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "divineomega.PatrollerBot 1.0", + "division": "roborumble", + "jar": "divineomega.PatrollerBot_1.0.jar", + "jar_sha256": "f5514cb171122f1e35af42721ebe200f235300815f566297a1c65acaaf3ee0ab", + "key": "roborumble/divineomega.PatrollerBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "f0329aed308430d6", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9546.0, + "scores": [ + 5230.0, + 4316.0 + ], + "selected": "divineomega.PatrollerBot 1.0" + }, + "completed_at": "2026-09-11T21:04:13Z", + "confirmation": null, + "delta_pct": -0.5, + "id": "f0329aed308430d6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "divineomega.PatrollerBot 1.0", + "division": "roborumble", + "jar": "divineomega.PatrollerBot_1.0.jar", + "jar_sha256": "f5514cb171122f1e35af42721ebe200f235300815f566297a1c65acaaf3ee0ab", + "key": "roborumble/divineomega.PatrollerBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9499.0, + "scores": [ + 4856.0, + 4643.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/divineomega.TrialBot_0.003.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "divineomega.TrialBot 0.003", + "division": "roborumble", + "jar": "divineomega.TrialBot_0.003.jar", + "jar_sha256": "8d6a761c5e66883ca6a7ffa77dfb6eb5406a5f43f7889c9a21e34d0afc0724d6", + "key": "roborumble/divineomega.TrialBot_0.003.jar", + "kind": "robot" + }, + "latest_observation": "9e9013ee655ba929", + "observations": [ + { + "classic": { + "elapsed": 7.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6252.0, + "scores": [ + 2993.0, + 3259.0 + ], + "selected": "divineomega.TrialBot 0.003" + }, + "completed_at": "2026-09-11T21:05:13Z", + "confirmation": null, + "delta_pct": -0.4, + "id": "9e9013ee655ba929", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "divineomega.TrialBot 0.003", + "division": "roborumble", + "jar": "divineomega.TrialBot_0.003.jar", + "jar_sha256": "8d6a761c5e66883ca6a7ffa77dfb6eb5406a5f43f7889c9a21e34d0afc0724d6", + "key": "roborumble/divineomega.TrialBot_0.003.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 52.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6230.0, + "scores": [ + 3338.0, + 2892.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/djc.Aardvark_0.3.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "djc.Aardvark 0.3.6", + "division": "roborumble", + "jar": "djc.Aardvark_0.3.6.jar", + "jar_sha256": "855ef4ea1425dcdfadbb9678d6b7707394dfd7fd1d401f13a732ac93014fecb7", + "key": "roborumble/djc.Aardvark_0.3.6.jar", + "kind": "robot" + }, + "latest_observation": "0f5e762f770658d6", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5483.0, + "scores": [ + 2839.0, + 2644.0 + ], + "selected": "djc.Aardvark 0.3.6" + }, + "completed_at": "2026-09-11T21:05:35Z", + "confirmation": null, + "delta_pct": -11.1, + "id": "0f5e762f770658d6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "djc.Aardvark 0.3.6", + "division": "roborumble", + "jar": "djc.Aardvark_0.3.6.jar", + "jar_sha256": "855ef4ea1425dcdfadbb9678d6b7707394dfd7fd1d401f13a732ac93014fecb7", + "key": "roborumble/djc.Aardvark_0.3.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4874.0, + "scores": [ + 2688.0, + 2186.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/djdjdj.NanoSkunk10_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "djdjdj.NanoSkunk10 1.0", + "division": "roborumble", + "jar": "djdjdj.NanoSkunk10_1.0.jar", + "jar_sha256": "fc647073a6fdfbbdc04f2f964ccb7bd7210180d1d11b1b6ecba314d480e3f944", + "key": "roborumble/djdjdj.NanoSkunk10_1.0.jar", + "kind": "robot" + }, + "latest_observation": "584c9f0476f1fbd5", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7024.0, + "scores": [ + 3147.0, + 3877.0 + ], + "selected": "djdjdj.NanoSkunk10 1.0" + }, + "completed_at": "2026-09-11T21:05:57Z", + "confirmation": null, + "delta_pct": -25.9, + "id": "584c9f0476f1fbd5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "djdjdj.NanoSkunk10 1.0", + "division": "roborumble", + "jar": "djdjdj.NanoSkunk10_1.0.jar", + "jar_sha256": "fc647073a6fdfbbdc04f2f964ccb7bd7210180d1d11b1b6ecba314d480e3f944", + "key": "roborumble/djdjdj.NanoSkunk10_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5204.0, + "scores": [ + 2852.0, + 2352.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dk.stable.Gorgatron_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dk.stable.Gorgatron 1.1", + "division": "roborumble", + "jar": "dk.stable.Gorgatron_1.1.jar", + "jar_sha256": "fec1bb821d7be8224cfe2aead4a17cffe0efcdeb0d63ea61e74cf17d702f1f6d", + "key": "roborumble/dk.stable.Gorgatron_1.1.jar", + "kind": "robot" + }, + "latest_observation": "26892e7aeaed0062", + "observations": [ + { + "classic": { + "elapsed": 4.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7008.0, + "scores": [ + 3112.0, + 3896.0 + ], + "selected": "dk.stable.Gorgatron 1.1" + }, + "completed_at": "2026-09-11T21:06:22Z", + "confirmation": null, + "delta_pct": -15.0, + "id": "26892e7aeaed0062", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dk.stable.Gorgatron 1.1", + "division": "roborumble", + "jar": "dk.stable.Gorgatron_1.1.jar", + "jar_sha256": "fec1bb821d7be8224cfe2aead4a17cffe0efcdeb0d63ea61e74cf17d702f1f6d", + "key": "roborumble/dk.stable.Gorgatron_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5959.0, + "scores": [ + 3055.0, + 2904.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dks.MicroDanMK2_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dks.MicroDanMK2 1.0", + "division": "roborumble", + "jar": "dks.MicroDanMK2_1.0.jar", + "jar_sha256": "57a65452d52dced01b36eb9ca0b429b32ab39ea98f0ad3af1e3fa74a97b6a1a5", + "key": "roborumble/dks.MicroDanMK2_1.0.jar", + "kind": "robot" + }, + "latest_observation": "d9aa07342e2c385f", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6454.0, + "scores": [ + 3341.0, + 3113.0 + ], + "selected": "dks.MicroDanMK2 1.0" + }, + "completed_at": "2026-09-11T21:06:41Z", + "confirmation": null, + "delta_pct": -4.8, + "id": "d9aa07342e2c385f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dks.MicroDanMK2 1.0", + "division": "roborumble", + "jar": "dks.MicroDanMK2_1.0.jar", + "jar_sha256": "57a65452d52dced01b36eb9ca0b429b32ab39ea98f0ad3af1e3fa74a97b6a1a5", + "key": "roborumble/dks.MicroDanMK2_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6144.0, + "scores": [ + 3676.0, + 2468.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dmh.robocode.robot.BlackDeath_9.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dmh.robocode.robot.BlackDeath 9.2", + "division": "roborumble", + "jar": "dmh.robocode.robot.BlackDeath_9.2.jar", + "jar_sha256": "5fc9438915d0beb53da001f7d452062375cbde35532567be7be968f459b4d4a1", + "key": "roborumble/dmh.robocode.robot.BlackDeath_9.2.jar", + "kind": "robot" + }, + "latest_observation": "5a66d8e6f151150b", + "observations": [ + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4969.0, + "scores": [ + 2577.0, + 2392.0 + ], + "selected": "dmh.robocode.robot.BlackDeath 9.2" + }, + "completed_at": "2026-09-11T21:08:26Z", + "confirmation": null, + "delta_pct": null, + "id": "5a66d8e6f151150b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dmh.robocode.robot.BlackDeath 9.2", + "division": "roborumble", + "jar": "dmh.robocode.robot.BlackDeath_9.2.jar", + "jar_sha256": "5fc9438915d0beb53da001f7d452062375cbde35532567be7be968f459b4d4a1", + "key": "roborumble/dmh.robocode.robot.BlackDeath_9.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.FileNotFoundException", + "dmh.robocode.robot.CommandBasedRobot.loadEnemyStatsFromDataFile" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "dmh.robocode.robot.CommandBasedRobot.loadEnemyStatsFromDataFile" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\dmh.robocode.robot.BlackDeath_9.2\\BlackDeath.data\\2.txt (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\dmh.robocode.robot.BlackDeath_9.2-2\\BlackDeath.data\\1.txt (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/dmh.robocode.robot.BlueBerry_0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dmh.robocode.robot.BlueBerry 0.5", + "division": "roborumble", + "jar": "dmh.robocode.robot.BlueBerry_0.5.jar", + "jar_sha256": "3739fb06f3f805c42e7afccd8b0cc17e02916021789c6e504c22688a1ae160fb", + "key": "roborumble/dmh.robocode.robot.BlueBerry_0.5.jar", + "kind": "robot" + }, + "latest_observation": "41ff60750d06c66c", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5598.0, + "scores": [ + 2594.0, + 3004.0 + ], + "selected": "dmh.robocode.robot.BlueBerry 0.5" + }, + "completed_at": "2026-09-11T21:08:41Z", + "confirmation": null, + "delta_pct": -39.9, + "id": "41ff60750d06c66c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dmh.robocode.robot.BlueBerry 0.5", + "division": "roborumble", + "jar": "dmh.robocode.robot.BlueBerry_0.5.jar", + "jar_sha256": "3739fb06f3f805c42e7afccd8b0cc17e02916021789c6e504c22688a1ae160fb", + "key": "roborumble/dmh.robocode.robot.BlueBerry_0.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3366.0, + "scores": [ + 1785.0, + 1581.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dmh.robocode.robot.GreenDragon_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dmh.robocode.robot.GreenDragon 1.0", + "division": "roborumble", + "jar": "dmh.robocode.robot.GreenDragon_1.0.jar", + "jar_sha256": "f0bf1f4d8d8e8de1e9855f236760cb8ced39b1389bbbf70cf2c38fb4e7a28f7a", + "key": "roborumble/dmh.robocode.robot.GreenDragon_1.0.jar", + "kind": "robot" + }, + "latest_observation": "bcfc6d79e390b279", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5415.0, + "scores": [ + 2714.0, + 2701.0 + ], + "selected": "dmh.robocode.robot.GreenDragon 1.0" + }, + "completed_at": "2026-09-11T21:09:05Z", + "confirmation": null, + "delta_pct": -21.7, + "id": "bcfc6d79e390b279", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dmh.robocode.robot.GreenDragon 1.0", + "division": "roborumble", + "jar": "dmh.robocode.robot.GreenDragon_1.0.jar", + "jar_sha256": "f0bf1f4d8d8e8de1e9855f236760cb8ced39b1389bbbf70cf2c38fb4e7a28f7a", + "key": "roborumble/dmh.robocode.robot.GreenDragon_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4242.0, + "scores": [ + 2261.0, + 1981.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dmh.robocode.robot.PinkPanther_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dmh.robocode.robot.PinkPanther 1.1", + "division": "roborumble", + "jar": "dmh.robocode.robot.PinkPanther_1.1.jar", + "jar_sha256": "e1978d2af0bb4521cb3fc2783b3adb9ba5a374da9ff2f63be0c936b9aabcaf0b", + "key": "roborumble/dmh.robocode.robot.PinkPanther_1.1.jar", + "kind": "robot" + }, + "latest_observation": "9b1fac585eb3cd2f", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7333.0, + "scores": [ + 3008.0, + 4325.0 + ], + "selected": "dmh.robocode.robot.PinkPanther 1.1" + }, + "completed_at": "2026-09-11T21:09:24Z", + "confirmation": null, + "delta_pct": -12.5, + "id": "9b1fac585eb3cd2f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dmh.robocode.robot.PinkPanther 1.1", + "division": "roborumble", + "jar": "dmh.robocode.robot.PinkPanther_1.1.jar", + "jar_sha256": "e1978d2af0bb4521cb3fc2783b3adb9ba5a374da9ff2f63be0c936b9aabcaf0b", + "key": "roborumble/dmh.robocode.robot.PinkPanther_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6420.0, + "scores": [ + 3399.0, + 3021.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dmh.robocode.robot.YellowBird_0.12.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dmh.robocode.robot.YellowBird 0.12", + "division": "roborumble", + "jar": "dmh.robocode.robot.YellowBird_0.12.jar", + "jar_sha256": "41fab07383360886c23d1411f00a374112134bc6759df99481c3870efcdfd166", + "key": "roborumble/dmh.robocode.robot.YellowBird_0.12.jar", + "kind": "robot" + }, + "latest_observation": "2b6f33428c15386e", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3539.0, + "scores": [ + 1917.0, + 1622.0 + ], + "selected": "dmh.robocode.robot.YellowBird 0.12" + }, + "completed_at": "2026-09-11T21:09:41Z", + "confirmation": null, + "delta_pct": -16.2, + "id": "2b6f33428c15386e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dmh.robocode.robot.YellowBird 0.12", + "division": "roborumble", + "jar": "dmh.robocode.robot.YellowBird_0.12.jar", + "jar_sha256": "41fab07383360886c23d1411f00a374112134bc6759df99481c3870efcdfd166", + "key": "roborumble/dmh.robocode.robot.YellowBird_0.12.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2966.0, + "scores": [ + 1594.0, + 1372.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dmp.micro.Aurora_1.41.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dmp.micro.Aurora 1.41", + "division": "roborumble", + "jar": "dmp.micro.Aurora_1.41.jar", + "jar_sha256": "0550ff35cc6fd581a7469d3378ccf17ae5f3fb00888c56858ed3b54f515366e9", + "key": "roborumble/dmp.micro.Aurora_1.41.jar", + "kind": "robot" + }, + "latest_observation": "05310022c6d6c60c", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4331.0, + "scores": [ + 2149.0, + 2182.0 + ], + "selected": "dmp.micro.Aurora 1.41" + }, + "completed_at": "2026-09-11T21:10:11Z", + "confirmation": null, + "delta_pct": -37.1, + "id": "05310022c6d6c60c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dmp.micro.Aurora 1.41", + "division": "roborumble", + "jar": "dmp.micro.Aurora_1.41.jar", + "jar_sha256": "0550ff35cc6fd581a7469d3378ccf17ae5f3fb00888c56858ed3b54f515366e9", + "key": "roborumble/dmp.micro.Aurora_1.41.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2723.0, + "scores": [ + 1549.0, + 1174.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dmp.nano.Eve_3.41.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dmp.nano.Eve 3.41", + "division": "roborumble", + "jar": "dmp.nano.Eve_3.41.jar", + "jar_sha256": "edd8e3e4a88e6abb36bba0d2241c3b7d03dda39619f4f9264e4b4757f1eb2da9", + "key": "roborumble/dmp.nano.Eve_3.41.jar", + "kind": "robot" + }, + "latest_observation": "3931602ad25b6a06", + "observations": [ + { + "classic": { + "elapsed": 5.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3596.0, + "scores": [ + 1980.0, + 1616.0 + ], + "selected": "dmp.nano.Eve 3.41" + }, + "completed_at": "2026-09-11T21:10:34Z", + "confirmation": null, + "delta_pct": -48.4, + "id": "3931602ad25b6a06", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dmp.nano.Eve 3.41", + "division": "roborumble", + "jar": "dmp.nano.Eve_3.41.jar", + "jar_sha256": "edd8e3e4a88e6abb36bba0d2241c3b7d03dda39619f4f9264e4b4757f1eb2da9", + "key": "roborumble/dmp.nano.Eve_3.41.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1857.0, + "scores": [ + 981.0, + 876.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/doka.KillerRabbit_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "doka.KillerRabbit 1.0", + "division": "roborumble", + "jar": "doka.KillerRabbit_1.0.jar", + "jar_sha256": "30f3ea22092d36678d5683ebcb2f1651ba77265acb3ccb7f2ba7355b20315de7", + "key": "roborumble/doka.KillerRabbit_1.0.jar", + "kind": "robot" + }, + "latest_observation": "cf5897bf12f1cb30", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5282.0, + "scores": [ + 2473.0, + 2809.0 + ], + "selected": "doka.KillerRabbit 1.0" + }, + "completed_at": "2026-09-11T21:11:03Z", + "confirmation": null, + "delta_pct": -19.4, + "id": "cf5897bf12f1cb30", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "doka.KillerRabbit 1.0", + "division": "roborumble", + "jar": "doka.KillerRabbit_1.0.jar", + "jar_sha256": "30f3ea22092d36678d5683ebcb2f1651ba77265acb3ccb7f2ba7355b20315de7", + "key": "roborumble/doka.KillerRabbit_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4255.0, + "scores": [ + 2568.0, + 1687.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/doka.ShinigamiKNN_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "doka.ShinigamiKNN 1.0", + "division": "roborumble", + "jar": "doka.ShinigamiKNN_1.0.jar", + "jar_sha256": "7ce1f15f0a454f7f0a29dffe867b728d1ebc56e98b4a9e629f31237a93b1695e", + "key": "roborumble/doka.ShinigamiKNN_1.0.jar", + "kind": "robot" + }, + "latest_observation": "234f9c8e91875812", + "observations": [ + { + "classic": { + "elapsed": 7.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6040.0, + "scores": [ + 2896.0, + 3144.0 + ], + "selected": "doka.ShinigamiKNN 1.0" + }, + "completed_at": "2026-09-11T21:11:46Z", + "confirmation": null, + "delta_pct": null, + "id": "234f9c8e91875812", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "doka.ShinigamiKNN 1.0", + "division": "roborumble", + "jar": "doka.ShinigamiKNN_1.0.jar", + "jar_sha256": "7ce1f15f0a454f7f0a29dffe867b728d1ebc56e98b4a9e629f31237a93b1695e", + "key": "roborumble/doka.ShinigamiKNN_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "doka.ShinigamiKNN.onScannedRobot" + ] + ], + "elapsed": 8.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "doka.ShinigamiKNN.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 32 out of bounds for length 32" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/doka.Shinigami_2.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "doka.Shinigami 2.2", + "division": "roborumble", + "jar": "doka.Shinigami_2.2.jar", + "jar_sha256": "eb1e1a99c28b4d3a49b736a62eafba5bc90d4c9c10cd0dc0a4462482ed58b427", + "key": "roborumble/doka.Shinigami_2.2.jar", + "kind": "robot" + }, + "latest_observation": "4a188800060cdb57", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6431.0, + "scores": [ + 3143.0, + 3288.0 + ], + "selected": "doka.Shinigami 2.2" + }, + "completed_at": "2026-09-11T21:11:30Z", + "confirmation": null, + "delta_pct": -12.4, + "id": "4a188800060cdb57", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "doka.Shinigami 2.2", + "division": "roborumble", + "jar": "doka.Shinigami_2.2.jar", + "jar_sha256": "eb1e1a99c28b4d3a49b736a62eafba5bc90d4c9c10cd0dc0a4462482ed58b427", + "key": "roborumble/doka.Shinigami_2.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5632.0, + "scores": [ + 2958.0, + 2674.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/doka.Test_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "doka.Test 1.0", + "division": "roborumble", + "jar": "doka.Test_1.0.jar", + "jar_sha256": "48b05ca91dbe29c317530eceacfe6d86bdcff7db5b6b0d2a379a5c66a7c149c9", + "key": "roborumble/doka.Test_1.0.jar", + "kind": "robot" + }, + "latest_observation": "a5b782b719256b2f", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6325.0, + "scores": [ + 2947.0, + 3378.0 + ], + "selected": "doka.Test 1.0" + }, + "completed_at": "2026-09-11T21:12:11Z", + "confirmation": null, + "delta_pct": -11.8, + "id": "a5b782b719256b2f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "doka.Test 1.0", + "division": "roborumble", + "jar": "doka.Test_1.0.jar", + "jar_sha256": "48b05ca91dbe29c317530eceacfe6d86bdcff7db5b6b0d2a379a5c66a7c149c9", + "key": "roborumble/doka.Test_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5580.0, + "scores": [ + 2824.0, + 2756.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/donjezza.Jezza_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "donjezza.Jezza 1.0", + "division": "roborumble", + "jar": "donjezza.Jezza_1.0.jar", + "jar_sha256": "1188605236143d82517db214ae55e4881181a3c88245d6f498dfd9a1f5fd9de5", + "key": "roborumble/donjezza.Jezza_1.0.jar", + "kind": "robot" + }, + "latest_observation": "ea54e870cda66d48", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8082.0, + "scores": [ + 4099.0, + 3983.0 + ], + "selected": "donjezza.Jezza 1.0" + }, + "completed_at": "2026-09-11T21:12:44Z", + "confirmation": null, + "delta_pct": -26.3, + "id": "ea54e870cda66d48", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "donjezza.Jezza 1.0", + "division": "roborumble", + "jar": "donjezza.Jezza_1.0.jar", + "jar_sha256": "1188605236143d82517db214ae55e4881181a3c88245d6f498dfd9a1f5fd9de5", + "key": "roborumble/donjezza.Jezza_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 29.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5956.0, + "scores": [ + 3489.0, + 2467.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/donjezza.Muncho_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "donjezza.Muncho 1.0", + "division": "roborumble", + "jar": "donjezza.Muncho_1.0.jar", + "jar_sha256": "ca1863e988017d98a771812f983352f9b22daf33a195301f05d410b2fa26673d", + "key": "roborumble/donjezza.Muncho_1.0.jar", + "kind": "robot" + }, + "latest_observation": "5621bc7c9b63b9bc", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6734.0, + "scores": [ + 3511.0, + 3223.0 + ], + "selected": "donjezza.Muncho 1.0" + }, + "completed_at": "2026-09-11T21:13:13Z", + "confirmation": null, + "delta_pct": -28.0, + "id": "5621bc7c9b63b9bc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "donjezza.Muncho 1.0", + "division": "roborumble", + "jar": "donjezza.Muncho_1.0.jar", + "jar_sha256": "ca1863e988017d98a771812f983352f9b22daf33a195301f05d410b2fa26673d", + "key": "roborumble/donjezza.Muncho_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4848.0, + "scores": [ + 2685.0, + 2163.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dragonbyte.Neutrino_4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dragonbyte.Neutrino 4", + "division": "roborumble", + "jar": "dragonbyte.Neutrino_4.jar", + "jar_sha256": "c7c7c279979129da96e848c140b138ace728ccfdb96a5de7d90ed0f1d6e0a65e", + "key": "roborumble/dragonbyte.Neutrino_4.jar", + "kind": "robot" + }, + "latest_observation": "921a316d393ed969", + "observations": [ + { + "classic": { + "elapsed": 14.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1515.0, + "scores": [ + 440.0, + 1075.0 + ], + "selected": "dragonbyte.Neutrino 4" + }, + "completed_at": "2026-09-11T21:15:06Z", + "confirmation": null, + "delta_pct": 46.5, + "id": "921a316d393ed969", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7c7e232a37beaac0f3aa1c7760c0a66ab41480b3", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dragonbyte.Neutrino 4", + "division": "roborumble", + "jar": "dragonbyte.Neutrino_4.jar", + "jar_sha256": "c7c7c279979129da96e848c140b138ace728ccfdb96a5de7d90ed0f1d6e0a65e", + "key": "roborumble/dragonbyte.Neutrino_4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 98.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2219.0, + "scores": [ + 1234.0, + 985.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/drd.Dreadknoght_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "drd.Dreadknoght 0.9", + "division": "roborumble", + "jar": "drd.Dreadknoght_0.9.jar", + "jar_sha256": "46eb8b94e33e01b49afac7f46f2ba2e7acb1a7bd5aebaa3cdd73c9151c657348", + "key": "roborumble/drd.Dreadknoght_0.9.jar", + "kind": "robot" + }, + "latest_observation": "fd5b89183aea86e8", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13916.0, + "scores": [ + 6697.0, + 7219.0 + ], + "selected": "drd.Dreadknoght 0.9" + }, + "completed_at": "2026-09-11T21:16:03Z", + "confirmation": null, + "delta_pct": -10.3, + "id": "fd5b89183aea86e8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7e4b06b", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "drd.Dreadknoght 0.9", + "division": "roborumble", + "jar": "drd.Dreadknoght_0.9.jar", + "jar_sha256": "46eb8b94e33e01b49afac7f46f2ba2e7acb1a7bd5aebaa3cdd73c9151c657348", + "key": "roborumble/drd.Dreadknoght_0.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12480.0, + "scores": [ + 6291.0, + 6189.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/drm.CobraBora_1.12.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "drm.CobraBora 1.12", + "division": "roborumble", + "jar": "drm.CobraBora_1.12.jar", + "jar_sha256": "dcb1af76fd7509e2eeef13fb80a8b45a6184cd47c025315df67e000d37668b1e", + "key": "roborumble/drm.CobraBora_1.12.jar", + "kind": "robot" + }, + "latest_observation": "54f1d01d2403ba18", + "observations": [ + { + "classic": { + "elapsed": 5.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6155.0, + "scores": [ + 3625.0, + 2530.0 + ], + "selected": "drm.CobraBora 1.12" + }, + "completed_at": "2026-09-11T21:16:22Z", + "confirmation": null, + "delta_pct": 37.6, + "id": "54f1d01d2403ba18", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7e4b06b", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "drm.CobraBora 1.12", + "division": "roborumble", + "jar": "drm.CobraBora_1.12.jar", + "jar_sha256": "dcb1af76fd7509e2eeef13fb80a8b45a6184cd47c025315df67e000d37668b1e", + "key": "roborumble/drm.CobraBora_1.12.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8467.0, + "scores": [ + 4416.0, + 4051.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/drm.Magazine_0.39.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "drm.Magazine 0.39", + "division": "roborumble", + "jar": "drm.Magazine_0.39.jar", + "jar_sha256": "099e372c6ef6f3d7d4fe34ea956a0476bccfcd75acd78d83a3603788841a0b3c", + "key": "roborumble/drm.Magazine_0.39.jar", + "kind": "robot" + }, + "latest_observation": "e8b005bbf41df0df", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5958.0, + "scores": [ + 2763.0, + 3195.0 + ], + "selected": "drm.Magazine 0.39" + }, + "completed_at": "2026-09-11T21:16:40Z", + "confirmation": null, + "delta_pct": 25.3, + "id": "e8b005bbf41df0df", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7e4b06b", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "drm.Magazine 0.39", + "division": "roborumble", + "jar": "drm.Magazine_0.39.jar", + "jar_sha256": "099e372c6ef6f3d7d4fe34ea956a0476bccfcd75acd78d83a3603788841a0b3c", + "key": "roborumble/drm.Magazine_0.39.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7464.0, + "scores": [ + 3794.0, + 3670.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ds.OoV4_0.3b.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "ds.OoV4 0.3b", + "division": "roborumble", + "jar": "ds.OoV4_0.3b.jar", + "jar_sha256": "37d01e0d0527cc972c042370b1f6bf482dca677d2cc72e1ee8abf524e2315833", + "key": "roborumble/ds.OoV4_0.3b.jar", + "kind": "robot" + }, + "latest_observation": "1eddc4f0f49437bf", + "observations": [ + { + "classic": { + "elapsed": 5.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5655.0, + "scores": [ + 3131.0, + 2524.0 + ], + "selected": "ds.OoV4 0.3b" + }, + "completed_at": "2026-09-12T10:54:28Z", + "confirmation": null, + "delta_pct": null, + "id": "65233acaa3f49f22", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ds.OoV4 0.3b", + "division": "roborumble", + "jar": "ds.OoV4_0.3b.jar", + "jar_sha256": "37d01e0d0527cc972c042370b1f6bf482dca677d2cc72e1ee8abf524e2315833", + "key": "roborumble/ds.OoV4_0.3b.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [OoV4 0.3b (s\ufffdbastien D\ufffdbia) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5457.0, + "scores": [ + 3157.0, + 2300.0 + ], + "selected": "ds.OoV4 0.3b" + }, + "completed_at": "2026-09-22T14:34:47Z", + "confirmation": null, + "delta_pct": null, + "id": "e7f7eb2f720cc080", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ds.OoV4 0.3b", + "division": "roborumble", + "jar": "ds.OoV4_0.3b.jar", + "jar_sha256": "37d01e0d0527cc972c042370b1f6bf482dca677d2cc72e1ee8abf524e2315833", + "key": "roborumble/ds.OoV4_0.3b.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [OoV4 0.3b (s\u00e9bastien D\u00e9bia) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5527.0, + "scores": [ + 2606.0, + 2921.0 + ], + "selected": "ds.OoV4 0.3b" + }, + "completed_at": "2026-09-22T15:15:52Z", + "confirmation": null, + "delta_pct": -18.0, + "id": "1eddc4f0f49437bf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ds.OoV4 0.3b", + "division": "roborumble", + "jar": "ds.OoV4_0.3b.jar", + "jar_sha256": "37d01e0d0527cc972c042370b1f6bf482dca677d2cc72e1ee8abf524e2315833", + "key": "roborumble/ds.OoV4_0.3b.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4532.0, + "scores": [ + 2506.0, + 2026.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ds.Versatile_RB1.0.1.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "ds.Versatile RB1.0.1", + "division": "roborumble", + "jar": "ds.Versatile_RB1.0.1.jar", + "jar_sha256": "756b8734cc934fc2c3107a9ad6d7211f40b9a16a851c5242bd1b93ee4d957cd4", + "key": "roborumble/ds.Versatile_RB1.0.1.jar", + "kind": "robot" + }, + "latest_observation": "6a0a47aacb2e5d1b", + "observations": [ + { + "classic": { + "elapsed": 8.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5170.0, + "scores": [ + 3068.0, + 2102.0 + ], + "selected": "ds.Versatile RB1.0.1" + }, + "completed_at": "2026-09-12T10:55:11Z", + "confirmation": null, + "delta_pct": null, + "id": "e717799e2d1d178c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ds.Versatile RB1.0.1", + "division": "roborumble", + "jar": "ds.Versatile_RB1.0.1.jar", + "jar_sha256": "756b8734cc934fc2c3107a9ad6d7211f40b9a16a851c5242bd1b93ee4d957cd4", + "key": "roborumble/ds.Versatile_RB1.0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Versatile RB1.0.1 (S\ufffdbastien D\ufffdbia) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5127.0, + "scores": [ + 2720.0, + 2407.0 + ], + "selected": "ds.Versatile RB1.0.1" + }, + "completed_at": "2026-09-22T14:35:28Z", + "confirmation": null, + "delta_pct": null, + "id": "8fc1da6f1b9ae834", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ds.Versatile RB1.0.1", + "division": "roborumble", + "jar": "ds.Versatile_RB1.0.1.jar", + "jar_sha256": "756b8734cc934fc2c3107a9ad6d7211f40b9a16a851c5242bd1b93ee4d957cd4", + "key": "roborumble/ds.Versatile_RB1.0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Versatile RB1.0.1 (S\u00e9bastien D\u00e9bia) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5051.0, + "scores": [ + 2584.0, + 2467.0 + ], + "selected": "ds.Versatile RB1.0.1" + }, + "completed_at": "2026-09-22T14:49:16Z", + "confirmation": null, + "delta_pct": 177.2, + "id": "a39f66501af34116", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "48871c9bdc5855ef48c61e2d3beb33b1e78df12c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ds.Versatile RB1.0.1", + "division": "roborumble", + "jar": "ds.Versatile_RB1.0.1.jar", + "jar_sha256": "756b8734cc934fc2c3107a9ad6d7211f40b9a16a851c5242bd1b93ee4d957cd4", + "key": "roborumble/ds.Versatile_RB1.0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 14002.0, + "scores": [ + 7214.0, + 6788.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 6.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5252.0, + "scores": [ + 2352.0, + 2900.0 + ], + "selected": "ds.Versatile RB1.0.1" + }, + "completed_at": "2026-09-22T14:49:42Z", + "confirmation": null, + "delta_pct": 147.9, + "id": "6a0a47aacb2e5d1b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ds.Versatile RB1.0.1", + "division": "roborumble", + "jar": "ds.Versatile_RB1.0.1.jar", + "jar_sha256": "756b8734cc934fc2c3107a9ad6d7211f40b9a16a851c5242bd1b93ee4d957cd4", + "key": "roborumble/ds.Versatile_RB1.0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13022.0, + "scores": [ + 7236.0, + 5786.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dsekercioglu.mega.Raven_3.56j8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dsekercioglu.mega.Raven 3.56j8", + "division": "roborumble", + "jar": "dsekercioglu.mega.Raven_3.56j8.jar", + "jar_sha256": "823990ae2505ca398780fc800e2262a3188360f8983d526c4dbb4ad5bb749267", + "key": "roborumble/dsekercioglu.mega.Raven_3.56j8.jar", + "kind": "robot" + }, + "latest_observation": "a90d58c1d2d60969", + "observations": [ + { + "classic": { + "elapsed": 7.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4706.0, + "scores": [ + 2613.0, + 2093.0 + ], + "selected": "dsekercioglu.mega.Raven 3.56j8" + }, + "completed_at": "2026-09-12T10:55:51Z", + "confirmation": null, + "delta_pct": -8.8, + "id": "a90d58c1d2d60969", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dsekercioglu.mega.Raven 3.56j8", + "division": "roborumble", + "jar": "dsekercioglu.mega.Raven_3.56j8.jar", + "jar_sha256": "823990ae2505ca398780fc800e2262a3188360f8983d526c4dbb4ad5bb749267", + "key": "roborumble/dsekercioglu.mega.Raven_3.56j8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4292.0, + "scores": [ + 2205.0, + 2087.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dsekercioglu.mega.WhiteFang_2.8.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dsekercioglu.mega.WhiteFang 2.8.1", + "division": "roborumble", + "jar": "dsekercioglu.mega.WhiteFang_2.8.1.jar", + "jar_sha256": "e39500e824d3b350ca5e7be4722697a576764fc6076ba399347fcc827438e7f1", + "key": "roborumble/dsekercioglu.mega.WhiteFang_2.8.1.jar", + "kind": "robot" + }, + "latest_observation": "4d83ffe42a94379f", + "observations": [ + { + "classic": { + "elapsed": 7.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4626.0, + "scores": [ + 2608.0, + 2018.0 + ], + "selected": "dsekercioglu.mega.WhiteFang 2.8.1" + }, + "completed_at": "2026-09-12T10:56:37Z", + "confirmation": null, + "delta_pct": -100.0, + "id": "4d83ffe42a94379f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dsekercioglu.mega.WhiteFang 2.8.1", + "division": "roborumble", + "jar": "dsekercioglu.mega.WhiteFang_2.8.1.jar", + "jar_sha256": "e39500e824d3b350ca5e7be4722697a576764fc6076ba399347fcc827438e7f1", + "key": "roborumble/dsekercioglu.mega.WhiteFang_2.8.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 38.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dsekercioglu.mini.Partial_0.1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dsekercioglu.mini.Partial 0.1.3", + "division": "roborumble", + "jar": "dsekercioglu.mini.Partial_0.1.3.jar", + "jar_sha256": "e9375a73c9ba033fa3478342dcfbe65fc0950fe581eb0281a27afec18f5a7bc2", + "key": "roborumble/dsekercioglu.mini.Partial_0.1.3.jar", + "kind": "robot" + }, + "latest_observation": "5984357cffc8ce26", + "observations": [ + { + "classic": { + "elapsed": 4.5, + "error_count": 86, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "dsekercioglu.mini.Partial.logHit" + } + ], + "errors": [ + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null" + ], + "has_log": true, + "ok": true, + "score": 5706.0, + "scores": [ + 3032.0, + 2674.0 + ], + "selected": "dsekercioglu.mini.Partial 0.1.3" + }, + "completed_at": "2026-09-12T10:57:04Z", + "confirmation": null, + "delta_pct": -3.2, + "id": "5984357cffc8ce26", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dsekercioglu.mini.Partial 0.1.3", + "division": "roborumble", + "jar": "dsekercioglu.mini.Partial_0.1.3.jar", + "jar_sha256": "e9375a73c9ba033fa3478342dcfbe65fc0950fe581eb0281a27afec18f5a7bc2", + "key": "roborumble/dsekercioglu.mini.Partial_0.1.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.1, + "error_count": 221, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "dsekercioglu.mini.Partial.logHit" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null", + "java.lang.NullPointerException: Cannot read field \"data\" because \"w\" is null" + ], + "has_log": true, + "ok": true, + "score": 5522.0, + "scores": [ + 2863.0, + 2659.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dsekercioglu.shield.ColdBreath_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dsekercioglu.shield.ColdBreath 1.0", + "division": "roborumble", + "jar": "dsekercioglu.shield.ColdBreath_1.0.jar", + "jar_sha256": "336a299174282db068cff77960bed112771207a9523659a63a070f72dce44067", + "key": "roborumble/dsekercioglu.shield.ColdBreath_1.0.jar", + "kind": "robot" + }, + "latest_observation": "854a73382e180a56", + "observations": [ + { + "classic": { + "elapsed": 16.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "dsekercioglu.shield.ColdBreath 1.0" + }, + "completed_at": "2026-09-12T10:58:13Z", + "confirmation": null, + "delta_pct": null, + "id": "854a73382e180a56", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dsekercioglu.shield.ColdBreath 1.0", + "division": "roborumble", + "jar": "dsekercioglu.shield.ColdBreath_1.0.jar", + "jar_sha256": "336a299174282db068cff77960bed112771207a9523659a63a070f72dce44067", + "key": "roborumble/dsekercioglu.shield.ColdBreath_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 52.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/dsw.StaticD_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dsw.StaticD 1.0", + "division": "roborumble", + "jar": "dsw.StaticD_1.0.jar", + "jar_sha256": "e49aa26acf9e14e5c9f724171d5d0e6e08eb9b557dcece281bce26959a91efee", + "key": "roborumble/dsw.StaticD_1.0.jar", + "kind": "robot" + }, + "latest_observation": "cb3c6574d929e48d", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3268.0, + "scores": [ + 1611.0, + 1657.0 + ], + "selected": "dsw.StaticD 1.0" + }, + "completed_at": "2026-09-12T10:58:48Z", + "confirmation": null, + "delta_pct": 10.5, + "id": "cb3c6574d929e48d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dsw.StaticD 1.0", + "division": "roborumble", + "jar": "dsw.StaticD_1.0.jar", + "jar_sha256": "e49aa26acf9e14e5c9f724171d5d0e6e08eb9b557dcece281bce26959a91efee", + "key": "roborumble/dsw.StaticD_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3610.0, + "scores": [ + 2120.0, + 1490.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dsx724.VSAB_EP3_ATR_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dsx724.VSAB_EP3_ATR 1.1", + "division": "roborumble", + "jar": "dsx724.VSAB_EP3_ATR_1.1.jar", + "jar_sha256": "d5ea2563e0c0d262c402448281ffd0b0eaa1f511889d080566a4ab3c8bf7fbd4", + "key": "roborumble/dsx724.VSAB_EP3_ATR_1.1.jar", + "kind": "robot" + }, + "latest_observation": "3011583494eb7f17", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7941.0, + "scores": [ + 4333.0, + 3608.0 + ], + "selected": "dsx724.VSAB_EP3_ATR 1.1" + }, + "completed_at": "2026-09-12T10:59:16Z", + "confirmation": null, + "delta_pct": -13.3, + "id": "3011583494eb7f17", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dsx724.VSAB_EP3_ATR 1.1", + "division": "roborumble", + "jar": "dsx724.VSAB_EP3_ATR_1.1.jar", + "jar_sha256": "d5ea2563e0c0d262c402448281ffd0b0eaa1f511889d080566a4ab3c8bf7fbd4", + "key": "roborumble/dsx724.VSAB_EP3_ATR_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6888.0, + "scores": [ + 3682.0, + 3206.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dsx724.VSAB_EP3a_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dsx724.VSAB_EP3a 1.0", + "division": "roborumble", + "jar": "dsx724.VSAB_EP3a_1.0.jar", + "jar_sha256": "4c7e37b2ad525d3c70b7a734447cb0b71aa86983d4ed810a006b2df240d4822a", + "key": "roborumble/dsx724.VSAB_EP3a_1.0.jar", + "kind": "robot" + }, + "latest_observation": "32cb33ffb5a19f76", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5278.0, + "scores": [ + 3057.0, + 2221.0 + ], + "selected": "dsx724.VSAB_EP3a 1.0" + }, + "completed_at": "2026-09-12T10:59:47Z", + "confirmation": null, + "delta_pct": -2.0, + "id": "32cb33ffb5a19f76", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dsx724.VSAB_EP3a 1.0", + "division": "roborumble", + "jar": "dsx724.VSAB_EP3a_1.0.jar", + "jar_sha256": "4c7e37b2ad525d3c70b7a734447cb0b71aa86983d4ed810a006b2df240d4822a", + "key": "roborumble/dsx724.VSAB_EP3a_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5173.0, + "scores": [ + 2602.0, + 2571.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dukie.Ambassador_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dukie.Ambassador 1.0", + "division": "roborumble", + "jar": "dukie.Ambassador_1.0.jar", + "jar_sha256": "06d957071ecdc705f058b2cb0f189bd46232022b798e29ff54a9f588912e85ff", + "key": "roborumble/dukie.Ambassador_1.0.jar", + "kind": "robot" + }, + "latest_observation": "96416db6612b9f6f", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2627.0, + "scores": [ + 1154.0, + 1473.0 + ], + "selected": "dukie.Ambassador 1.0" + }, + "completed_at": "2026-09-12T11:00:36Z", + "confirmation": null, + "delta_pct": -11.5, + "id": "96416db6612b9f6f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dukie.Ambassador 1.0", + "division": "roborumble", + "jar": "dukie.Ambassador_1.0.jar", + "jar_sha256": "06d957071ecdc705f058b2cb0f189bd46232022b798e29ff54a9f588912e85ff", + "key": "roborumble/dukie.Ambassador_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2325.0, + "scores": [ + 1329.0, + 996.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dummy.micro.HummingBird_2.14.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dummy.micro.HummingBird 2.14", + "division": "roborumble", + "jar": "dummy.micro.HummingBird_2.14.jar", + "jar_sha256": "8a9873436b4756631a2e7723a693c7590f405078144484b22d7541cb46247fb0", + "key": "roborumble/dummy.micro.HummingBird_2.14.jar", + "kind": "robot" + }, + "latest_observation": "6a5102214fb7d514", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5010.0, + "scores": [ + 2800.0, + 2210.0 + ], + "selected": "dummy.micro.HummingBird 2.14" + }, + "completed_at": "2026-09-12T11:00:54Z", + "confirmation": null, + "delta_pct": -5.7, + "id": "6a5102214fb7d514", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dummy.micro.HummingBird 2.14", + "division": "roborumble", + "jar": "dummy.micro.HummingBird_2.14.jar", + "jar_sha256": "8a9873436b4756631a2e7723a693c7590f405078144484b22d7541cb46247fb0", + "key": "roborumble/dummy.micro.HummingBird_2.14.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4724.0, + "scores": [ + 2463.0, + 2261.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dummy.micro.Sparrow_2.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dummy.micro.Sparrow 2.5", + "division": "roborumble", + "jar": "dummy.micro.Sparrow_2.5.jar", + "jar_sha256": "669e4c3639acba8b486dab32beb5d9da56c41ed5e899618695032b286299c4fa", + "key": "roborumble/dummy.micro.Sparrow_2.5.jar", + "kind": "robot" + }, + "latest_observation": "b33016494688992d", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5693.0, + "scores": [ + 2894.0, + 2799.0 + ], + "selected": "dummy.micro.Sparrow 2.5" + }, + "completed_at": "2026-09-12T11:01:15Z", + "confirmation": null, + "delta_pct": -6.8, + "id": "b33016494688992d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dummy.micro.Sparrow 2.5", + "division": "roborumble", + "jar": "dummy.micro.Sparrow_2.5.jar", + "jar_sha256": "669e4c3639acba8b486dab32beb5d9da56c41ed5e899618695032b286299c4fa", + "key": "roborumble/dummy.micro.Sparrow_2.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5305.0, + "scores": [ + 2732.0, + 2573.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dummy.mini.Parakeet_2.40.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dummy.mini.Parakeet 2.40", + "division": "roborumble", + "jar": "dummy.mini.Parakeet_2.40.jar", + "jar_sha256": "8b5619f9b3ea91c26ca0ec6a9ea41890ef603bad7a4062064eb3852e9e544a68", + "key": "roborumble/dummy.mini.Parakeet_2.40.jar", + "kind": "robot" + }, + "latest_observation": "861ff6f63daa9ac5", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8855.0, + "scores": [ + 4470.0, + 4385.0 + ], + "selected": "dummy.mini.Parakeet 2.40" + }, + "completed_at": "2026-09-12T11:01:32Z", + "confirmation": null, + "delta_pct": -2.1, + "id": "861ff6f63daa9ac5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dummy.mini.Parakeet 2.40", + "division": "roborumble", + "jar": "dummy.mini.Parakeet_2.40.jar", + "jar_sha256": "8b5619f9b3ea91c26ca0ec6a9ea41890ef603bad7a4062064eb3852e9e544a68", + "key": "roborumble/dummy.mini.Parakeet_2.40.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8668.0, + "scores": [ + 4675.0, + 3993.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dvogon.GangBang_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dvogon.GangBang 1.0", + "division": "roborumble", + "jar": "dvogon.GangBang_1.0.jar", + "jar_sha256": "a40fb98323315743723be8b3153d3fbca76a18889ca3a3a22ec70d18826e730c", + "key": "roborumble/dvogon.GangBang_1.0.jar", + "kind": "robot" + }, + "latest_observation": "8e3f284de332c1dd", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5284.0, + "scores": [ + 2793.0, + 2491.0 + ], + "selected": "dvogon.GangBang 1.0" + }, + "completed_at": "2026-09-12T11:01:53Z", + "confirmation": null, + "delta_pct": 32.8, + "id": "8e3f284de332c1dd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dvogon.GangBang 1.0", + "division": "roborumble", + "jar": "dvogon.GangBang_1.0.jar", + "jar_sha256": "a40fb98323315743723be8b3153d3fbca76a18889ca3a3a22ec70d18826e730c", + "key": "roborumble/dvogon.GangBang_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7018.0, + "scores": [ + 3833.0, + 3185.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/dy.LevelOne_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dy.LevelOne 2.0", + "division": "roborumble", + "jar": "dy.LevelOne_2.0.jar", + "jar_sha256": "d19f1c93d603b99c095dfacdb57e783f81e9a4500bbc2022361a1f6ba9179e1d", + "key": "roborumble/dy.LevelOne_2.0.jar", + "kind": "robot" + }, + "latest_observation": "046a7885151acf3d", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4778.0, + "scores": [ + 1829.0, + 2949.0 + ], + "selected": "dy.LevelOne 2.0" + }, + "completed_at": "2026-09-12T11:02:20Z", + "confirmation": null, + "delta_pct": -0.4, + "id": "046a7885151acf3d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dy.LevelOne 2.0", + "division": "roborumble", + "jar": "dy.LevelOne_2.0.jar", + "jar_sha256": "d19f1c93d603b99c095dfacdb57e783f81e9a4500bbc2022361a1f6ba9179e1d", + "key": "roborumble/dy.LevelOne_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4757.0, + "scores": [ + 2631.0, + 2126.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dz.Caedo_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dz.Caedo 1.4", + "division": "roborumble", + "jar": "dz.Caedo_1.4.jar", + "jar_sha256": "6d880698dc1127cceaae412ea2bad7f0474351687f10062defde2394f0141177", + "key": "roborumble/dz.Caedo_1.4.jar", + "kind": "robot" + }, + "latest_observation": "dd2709df3eee05f8", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6408.0, + "scores": [ + 3502.0, + 2906.0 + ], + "selected": "dz.Caedo 1.4" + }, + "completed_at": "2026-09-12T11:02:42Z", + "confirmation": null, + "delta_pct": -6.1, + "id": "dd2709df3eee05f8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dz.Caedo 1.4", + "division": "roborumble", + "jar": "dz.Caedo_1.4.jar", + "jar_sha256": "6d880698dc1127cceaae412ea2bad7f0474351687f10062defde2394f0141177", + "key": "roborumble/dz.Caedo_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6020.0, + "scores": [ + 3281.0, + 2739.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dz.GalbaMicro_0.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dz.GalbaMicro 0.11", + "division": "roborumble", + "jar": "dz.GalbaMicro_0.11.jar", + "jar_sha256": "2be4f07ed407d26f20fe328d4163872c067c5211204baa6961912609d58f3c25", + "key": "roborumble/dz.GalbaMicro_0.11.jar", + "kind": "robot" + }, + "latest_observation": "9533cf29aaf81031", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6433.0, + "scores": [ + 3275.0, + 3158.0 + ], + "selected": "dz.GalbaMicro 0.11" + }, + "completed_at": "2026-09-12T11:03:05Z", + "confirmation": null, + "delta_pct": -13.3, + "id": "9533cf29aaf81031", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dz.GalbaMicro 0.11", + "division": "roborumble", + "jar": "dz.GalbaMicro_0.11.jar", + "jar_sha256": "2be4f07ed407d26f20fe328d4163872c067c5211204baa6961912609d58f3c25", + "key": "roborumble/dz.GalbaMicro_0.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5576.0, + "scores": [ + 3229.0, + 2347.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dz.GalbaMini_0.121.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dz.GalbaMini 0.121", + "division": "roborumble", + "jar": "dz.GalbaMini_0.121.jar", + "jar_sha256": "729fdb29318135fa377b2599a85e457c170acb71864f0b122a9cddda3e1ea2b0", + "key": "roborumble/dz.GalbaMini_0.121.jar", + "kind": "robot" + }, + "latest_observation": "fe7db6890b699ea8", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6819.0, + "scores": [ + 3728.0, + 3091.0 + ], + "selected": "dz.GalbaMini 0.121" + }, + "completed_at": "2026-09-12T11:03:27Z", + "confirmation": null, + "delta_pct": -15.8, + "id": "fe7db6890b699ea8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dz.GalbaMini 0.121", + "division": "roborumble", + "jar": "dz.GalbaMini_0.121.jar", + "jar_sha256": "729fdb29318135fa377b2599a85e457c170acb71864f0b122a9cddda3e1ea2b0", + "key": "roborumble/dz.GalbaMini_0.121.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5743.0, + "scores": [ + 2958.0, + 2785.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dz.MostlyHarmlessNano_2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dz.MostlyHarmlessNano 2.1", + "division": "roborumble", + "jar": "dz.MostlyHarmlessNano_2.1.jar", + "jar_sha256": "5025336025cbc205a352af92d026952d3b4d722de7229f94b654afe0c4937a02", + "key": "roborumble/dz.MostlyHarmlessNano_2.1.jar", + "kind": "robot" + }, + "latest_observation": "222b3c3860e9be2e", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4425.0, + "scores": [ + 2046.0, + 2379.0 + ], + "selected": "dz.MostlyHarmlessNano 2.1" + }, + "completed_at": "2026-09-12T11:03:50Z", + "confirmation": null, + "delta_pct": -1.2, + "id": "222b3c3860e9be2e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dz.MostlyHarmlessNano 2.1", + "division": "roborumble", + "jar": "dz.MostlyHarmlessNano_2.1.jar", + "jar_sha256": "5025336025cbc205a352af92d026952d3b4d722de7229f94b654afe0c4937a02", + "key": "roborumble/dz.MostlyHarmlessNano_2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4373.0, + "scores": [ + 2238.0, + 2135.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dz.OthoMicro_0.12.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dz.OthoMicro 0.12", + "division": "roborumble", + "jar": "dz.OthoMicro_0.12.jar", + "jar_sha256": "3dea817b3ceed12d2f852c83662493907015f2d977466ba163d13b3fc548b51a", + "key": "roborumble/dz.OthoMicro_0.12.jar", + "kind": "robot" + }, + "latest_observation": "87a618756a32d658", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5061.0, + "scores": [ + 2398.0, + 2663.0 + ], + "selected": "dz.OthoMicro 0.12" + }, + "completed_at": "2026-09-12T11:04:11Z", + "confirmation": null, + "delta_pct": -10.0, + "id": "87a618756a32d658", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dz.OthoMicro 0.12", + "division": "roborumble", + "jar": "dz.OthoMicro_0.12.jar", + "jar_sha256": "3dea817b3ceed12d2f852c83662493907015f2d977466ba163d13b3fc548b51a", + "key": "roborumble/dz.OthoMicro_0.12.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4553.0, + "scores": [ + 2570.0, + 1983.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/dz.OthoMini_0.15.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "dz.OthoMini 0.15", + "division": "roborumble", + "jar": "dz.OthoMini_0.15.jar", + "jar_sha256": "bc7e0f272e4ffc560401606b689fe9922bd8a00dfaf4b9584a4b4b65d88dfa19", + "key": "roborumble/dz.OthoMini_0.15.jar", + "kind": "robot" + }, + "latest_observation": "1bf733ce688bea50", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5918.0, + "scores": [ + 2861.0, + 3057.0 + ], + "selected": "dz.OthoMini 0.15" + }, + "completed_at": "2026-09-12T11:04:33Z", + "confirmation": null, + "delta_pct": -8.0, + "id": "1bf733ce688bea50", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "dz.OthoMini 0.15", + "division": "roborumble", + "jar": "dz.OthoMini_0.15.jar", + "jar_sha256": "bc7e0f272e4ffc560401606b689fe9922bd8a00dfaf4b9584a4b4b65d88dfa19", + "key": "roborumble/dz.OthoMini_0.15.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5447.0, + "scores": [ + 3292.0, + 2155.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/e32.Omni_0.04.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "e32.Omni 0.04", + "division": "roborumble", + "jar": "e32.Omni_0.04.jar", + "jar_sha256": "08f753a1256addbc2c54399fdfeee4e29ba61c04aba969886b38cdb842bf3afb", + "key": "roborumble/e32.Omni_0.04.jar", + "kind": "robot" + }, + "latest_observation": "93f7fce337a4cc1d", + "observations": [ + { + "classic": { + "elapsed": 5.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4615.0, + "scores": [ + 2218.0, + 2397.0 + ], + "selected": "e32.Omni 0.04" + }, + "completed_at": "2026-09-12T11:04:42Z", + "confirmation": null, + "delta_pct": null, + "id": "93f7fce337a4cc1d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "e32.Omni 0.04", + "division": "roborumble", + "jar": "e32.Omni_0.04.jar", + "jar_sha256": "08f753a1256addbc2c54399fdfeee4e29ba61c04aba969886b38cdb842bf3afb", + "key": "roborumble/e32.Omni_0.04.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "execution.EventAdaptor.onStatus" + ], + [ + "java.lang.NullPointerException", + "execution.GravityListener.Update" + ] + ], + "elapsed": 4.2, + "error_count": 809, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "execution.EventAdaptor.onStatus" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null", + "java.lang.NullPointerException: Cannot invoke \"sim.Bot.Set(sim.Stat, double)\" because \"self\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/eat.HumblePieLite_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "eat.HumblePieLite 1.0", + "division": "roborumble", + "jar": "eat.HumblePieLite_1.0.jar", + "jar_sha256": "cd011e083dc0e5a0a73eabcca7d3c86128278c9bd4fc06cd338ff057b8c341d1", + "key": "roborumble/eat.HumblePieLite_1.0.jar", + "kind": "robot" + }, + "latest_observation": "a85c70974ba48767", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11414.0, + "scores": [ + 5665.0, + 5749.0 + ], + "selected": "eat.HumblePieLite 1.0" + }, + "completed_at": "2026-09-12T11:04:55Z", + "confirmation": null, + "delta_pct": 14.8, + "id": "a85c70974ba48767", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "94fdbe31e2b9c6d6a022c43becbd0bd861f86c19", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "eat.HumblePieLite 1.0", + "division": "roborumble", + "jar": "eat.HumblePieLite_1.0.jar", + "jar_sha256": "cd011e083dc0e5a0a73eabcca7d3c86128278c9bd4fc06cd338ff057b8c341d1", + "key": "roborumble/eat.HumblePieLite_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13099.0, + "scores": [ + 6889.0, + 6210.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ebo.Sparse_0.02.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ebo.Sparse 0.02", + "division": "roborumble", + "jar": "ebo.Sparse_0.02.jar", + "jar_sha256": "871ad9964dc27ed22be3491e09516a3bbf67e6c0a4d065ae9343c45b31603e74", + "key": "roborumble/ebo.Sparse_0.02.jar", + "kind": "robot" + }, + "latest_observation": "9da95784397a1e18", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5394.0, + "scores": [ + 2853.0, + 2541.0 + ], + "selected": "ebo.Sparse 0.02" + }, + "completed_at": "2026-09-12T11:06:33Z", + "confirmation": null, + "delta_pct": -34.3, + "id": "9da95784397a1e18", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ebo.Sparse 0.02", + "division": "roborumble", + "jar": "ebo.Sparse_0.02.jar", + "jar_sha256": "871ad9964dc27ed22be3491e09516a3bbf67e6c0a4d065ae9343c45b31603e74", + "key": "roborumble/ebo.Sparse_0.02.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3543.0, + "scores": [ + 1825.0, + 1718.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ebo.Tahoe_1.1.79.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ebo.Tahoe 1.1.79", + "division": "roborumble", + "jar": "ebo.Tahoe_1.1.79.jar", + "jar_sha256": "78f08f124b96bb5a22322e1646c8cd95982a1c16cd6bc66b1e5f4f631ae4f778", + "key": "roborumble/ebo.Tahoe_1.1.79.jar", + "kind": "robot" + }, + "latest_observation": "681b5afe8a64b645", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6042.0, + "scores": [ + 3168.0, + 2874.0 + ], + "selected": "ebo.Tahoe 1.1.79" + }, + "completed_at": "2026-09-12T11:07:01Z", + "confirmation": null, + "delta_pct": -23.8, + "id": "681b5afe8a64b645", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ebo.Tahoe 1.1.79", + "division": "roborumble", + "jar": "ebo.Tahoe_1.1.79.jar", + "jar_sha256": "78f08f124b96bb5a22322e1646c8cd95982a1c16cd6bc66b1e5f4f631ae4f778", + "key": "roborumble/ebo.Tahoe_1.1.79.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4604.0, + "scores": [ + 2655.0, + 1949.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/eem.EvBotNG_v12.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "eem.EvBotNG v12.8", + "division": "roborumble", + "jar": "eem.EvBotNG_v12.8.jar", + "jar_sha256": "81eef26163200eaea051194cfc60bf13290c381c8f29fe8cf7de8276b2cca0f6", + "key": "roborumble/eem.EvBotNG_v12.8.jar", + "kind": "robot" + }, + "latest_observation": "7ebb64d148b85617", + "observations": [ + { + "classic": { + "elapsed": 40.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4788.0, + "scores": [ + 2350.0, + 2438.0 + ], + "selected": "eem.EvBotNG v12.8" + }, + "completed_at": "2026-09-12T11:12:12Z", + "confirmation": null, + "delta_pct": -3.1, + "id": "7ebb64d148b85617", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "eem.EvBotNG v12.8", + "division": "roborumble", + "jar": "eem.EvBotNG_v12.8.jar", + "jar_sha256": "81eef26163200eaea051194cfc60bf13290c381c8f29fe8cf7de8276b2cca0f6", + "key": "roborumble/eem.EvBotNG_v12.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 108.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4640.0, + "scores": [ + 2388.0, + 2252.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/eem.EvBot_v4.6.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "eem.EvBot v4.6.4", + "division": "roborumble", + "jar": "eem.EvBot_v4.6.4.jar", + "jar_sha256": "c80036fd740e9c8d86682a49429aec51abfb6aef3bc25307c044c34e31f20320", + "key": "roborumble/eem.EvBot_v4.6.4.jar", + "kind": "robot" + }, + "latest_observation": "f3b0485111bec962", + "observations": [ + { + "classic": { + "elapsed": 32.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4354.0, + "scores": [ + 2306.0, + 2048.0 + ], + "selected": "eem.EvBot v4.6.4" + }, + "completed_at": "2026-09-12T11:09:43Z", + "confirmation": null, + "delta_pct": -6.6, + "id": "f3b0485111bec962", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "eem.EvBot v4.6.4", + "division": "roborumble", + "jar": "eem.EvBot_v4.6.4.jar", + "jar_sha256": "c80036fd740e9c8d86682a49429aec51abfb6aef3bc25307c044c34e31f20320", + "key": "roborumble/eem.EvBot_v4.6.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 78.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4068.0, + "scores": [ + 2053.0, + 2015.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/eem.IWillFireNoBullet_v2.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "eem.IWillFireNoBullet v2.4", + "division": "roborumble", + "jar": "eem.IWillFireNoBullet_v2.4.jar", + "jar_sha256": "2f4ba80edb9f95aabd5e69487de2d2cdf84243d80e0da18a6cac2b06c1da1609", + "key": "roborumble/eem.IWillFireNoBullet_v2.4.jar", + "kind": "robot" + }, + "latest_observation": "7cdf1837d55623fb", + "observations": [ + { + "classic": { + "elapsed": 117.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1332.0, + "scores": [ + 512.0, + 820.0 + ], + "selected": "eem.IWillFireNoBullet v2.4" + }, + "completed_at": "2026-09-12T11:17:38Z", + "confirmation": null, + "delta_pct": 44.8, + "id": "7cdf1837d55623fb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "eem.IWillFireNoBullet v2.4", + "division": "roborumble", + "jar": "eem.IWillFireNoBullet_v2.4.jar", + "jar_sha256": "2f4ba80edb9f95aabd5e69487de2d2cdf84243d80e0da18a6cac2b06c1da1609", + "key": "roborumble/eem.IWillFireNoBullet_v2.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 208.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1929.0, + "scores": [ + 1071.0, + 858.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/eem.awful_v1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "eem.awful v1.2", + "division": "roborumble", + "jar": "eem.awful_v1.2.jar", + "jar_sha256": "4c64fc4c02da3db0aa5840312b72d080c1275374746a441e0deea03d623d7c11", + "key": "roborumble/eem.awful_v1.2.jar", + "kind": "robot" + }, + "latest_observation": "59537630aafb178b", + "observations": [ + { + "classic": { + "elapsed": 2.0, + "error_count": 70, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "eem.awful.run" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null" + ], + "has_log": true, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "eem.awful v1.2" + }, + "completed_at": "2026-09-12T11:07:52Z", + "confirmation": null, + "delta_pct": null, + "id": "59537630aafb178b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "eem.awful v1.2", + "division": "roborumble", + "jar": "eem.awful_v1.2.jar", + "jar_sha256": "4c64fc4c02da3db0aa5840312b72d080c1275374746a441e0deea03d623d7c11", + "key": "roborumble/eem.awful_v1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 70, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "eem.awful.run" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.lang.Double.doubleValue()\" because \"this._null_pointer\" is null" + ], + "has_log": true, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/eem.zapper_v4.17.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "eem.zapper v4.17", + "division": "roborumble", + "jar": "eem.zapper_v4.17.jar", + "jar_sha256": "10b833128dc6728870cfc24991c3f0d15432474df9c390f6619ed8d7d3a7eb1c", + "key": "roborumble/eem.zapper_v4.17.jar", + "kind": "robot" + }, + "latest_observation": "9739522025a54af6", + "observations": [ + { + "classic": { + "elapsed": 9.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4318.0, + "scores": [ + 1626.0, + 2692.0 + ], + "selected": "eem.zapper v4.17" + }, + "completed_at": "2026-09-12T11:18:23Z", + "confirmation": null, + "delta_pct": 15.9, + "id": "9739522025a54af6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "eem.zapper v4.17", + "division": "roborumble", + "jar": "eem.zapper_v4.17.jar", + "jar_sha256": "10b833128dc6728870cfc24991c3f0d15432474df9c390f6619ed8d7d3a7eb1c", + "key": "roborumble/eem.zapper_v4.17.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5005.0, + "scores": [ + 2798.0, + 2207.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ej.ChocolateBar_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ej.ChocolateBar 1.1", + "division": "roborumble", + "jar": "ej.ChocolateBar_1.1.jar", + "jar_sha256": "9ebfcc8e298c6fad8045e8e3f44418be6f2c5c74322fb6d50f71e698005e4a52", + "key": "roborumble/ej.ChocolateBar_1.1.jar", + "kind": "robot" + }, + "latest_observation": "b47ad477d6bd24cb", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5159.0, + "scores": [ + 2571.0, + 2588.0 + ], + "selected": "ej.ChocolateBar 1.1" + }, + "completed_at": "2026-09-12T11:21:27Z", + "confirmation": null, + "delta_pct": -63.3, + "id": "b47ad477d6bd24cb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ej.ChocolateBar 1.1", + "division": "roborumble", + "jar": "ej.ChocolateBar_1.1.jar", + "jar_sha256": "9ebfcc8e298c6fad8045e8e3f44418be6f2c5c74322fb6d50f71e698005e4a52", + "key": "roborumble/ej.ChocolateBar_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1895.0, + "scores": [ + 950.0, + 945.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/el.Attackr_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "el.Attackr 0.1", + "division": "roborumble", + "jar": "el.Attackr_0.1.jar", + "jar_sha256": "cf01c0bfba61865ae542f15a6e8ece63bb62a99a9f21b8bdd1c542adba735959", + "key": "roborumble/el.Attackr_0.1.jar", + "kind": "robot" + }, + "latest_observation": "f2944dcec0666d53", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7736.0, + "scores": [ + 3672.0, + 4064.0 + ], + "selected": "el.Attackr 0.1" + }, + "completed_at": "2026-09-12T11:21:55Z", + "confirmation": null, + "delta_pct": -6.8, + "id": "f2944dcec0666d53", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "el.Attackr 0.1", + "division": "roborumble", + "jar": "el.Attackr_0.1.jar", + "jar_sha256": "cf01c0bfba61865ae542f15a6e8ece63bb62a99a9f21b8bdd1c542adba735959", + "key": "roborumble/el.Attackr_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7212.0, + "scores": [ + 4054.0, + 3158.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/el.JumpShoot_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "el.JumpShoot 0.2", + "division": "roborumble", + "jar": "el.JumpShoot_0.2.jar", + "jar_sha256": "863d0d2c26033f1ca287b2d1c73f824e3c117a04273ee69a2320abda847a1bf7", + "key": "roborumble/el.JumpShoot_0.2.jar", + "kind": "robot" + }, + "latest_observation": "795d56a26238569f", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7376.0, + "scores": [ + 3383.0, + 3993.0 + ], + "selected": "el.JumpShoot 0.2" + }, + "completed_at": "2026-09-12T11:22:24Z", + "confirmation": null, + "delta_pct": -11.4, + "id": "795d56a26238569f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "el.JumpShoot 0.2", + "division": "roborumble", + "jar": "el.JumpShoot_0.2.jar", + "jar_sha256": "863d0d2c26033f1ca287b2d1c73f824e3c117a04273ee69a2320abda847a1bf7", + "key": "roborumble/el.JumpShoot_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6538.0, + "scores": [ + 3869.0, + 2669.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/el33t.EL33tGangstarr2_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "el33t.EL33tGangstarr2 2.0", + "division": "roborumble", + "jar": "el33t.EL33tGangstarr2_2.0.jar", + "jar_sha256": "26ab583db98602ea0d29fc8c0f242166417ca16e218e21c91ad3ee1de45293f4", + "key": "roborumble/el33t.EL33tGangstarr2_2.0.jar", + "kind": "robot" + }, + "latest_observation": "791e673951bd2014", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4522.0, + "scores": [ + 2362.0, + 2160.0 + ], + "selected": "el33t.EL33tGangstarr2 2.0" + }, + "completed_at": "2026-09-12T11:22:47Z", + "confirmation": null, + "delta_pct": -39.6, + "id": "791e673951bd2014", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "el33t.EL33tGangstarr2 2.0", + "division": "roborumble", + "jar": "el33t.EL33tGangstarr2_2.0.jar", + "jar_sha256": "26ab583db98602ea0d29fc8c0f242166417ca16e218e21c91ad3ee1de45293f4", + "key": "roborumble/el33t.EL33tGangstarr2_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2730.0, + "scores": [ + 1619.0, + 1111.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/eld.Hmm_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "eld.Hmm 1.0", + "division": "roborumble", + "jar": "eld.Hmm_1.0.jar", + "jar_sha256": "3af1b4c6f89c3c7f4c49a53a8ee29b39da1345676ea6351def5840f6a730ecd9", + "key": "roborumble/eld.Hmm_1.0.jar", + "kind": "robot" + }, + "latest_observation": "6429e35e8dc9bb33", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8113.0, + "scores": [ + 3773.0, + 4340.0 + ], + "selected": "eld.Hmm 1.0" + }, + "completed_at": "2026-09-12T11:23:26Z", + "confirmation": null, + "delta_pct": -14.1, + "id": "6429e35e8dc9bb33", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "eld.Hmm 1.0", + "division": "roborumble", + "jar": "eld.Hmm_1.0.jar", + "jar_sha256": "3af1b4c6f89c3c7f4c49a53a8ee29b39da1345676ea6351def5840f6a730ecd9", + "key": "roborumble/eld.Hmm_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6970.0, + "scores": [ + 3615.0, + 3355.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/element.Earth_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "element.Earth 1.1", + "division": "roborumble", + "jar": "element.Earth_1.1.jar", + "jar_sha256": "cc1684fb62819ceb6fcfcb6bee7281ec76ea054e542a5a5ba324fa19fb8904f5", + "key": "roborumble/element.Earth_1.1.jar", + "kind": "robot" + }, + "latest_observation": "e9a5d46ed04f0534", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6004.0, + "scores": [ + 2245.0, + 3759.0 + ], + "selected": "element.Earth 1.1" + }, + "completed_at": "2026-09-12T11:23:53Z", + "confirmation": null, + "delta_pct": -38.0, + "id": "e9a5d46ed04f0534", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "element.Earth 1.1", + "division": "roborumble", + "jar": "element.Earth_1.1.jar", + "jar_sha256": "cc1684fb62819ceb6fcfcb6bee7281ec76ea054e542a5a5ba324fa19fb8904f5", + "key": "roborumble/element.Earth_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3721.0, + "scores": [ + 1870.0, + 1851.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/elloco.Flower_0.1r1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "elloco.Flower 0.1r1", + "division": "roborumble", + "jar": "elloco.Flower_0.1r1.jar", + "jar_sha256": "43d3313587c90c608353f488ad45078fe28344656e25f72efac0a3d659d587c6", + "key": "roborumble/elloco.Flower_0.1r1.jar", + "kind": "robot" + }, + "latest_observation": "dc5eb966fb783139", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7712.0, + "scores": [ + 3345.0, + 4367.0 + ], + "selected": "elloco.Flower 0.1r1" + }, + "completed_at": "2026-09-12T11:24:10Z", + "confirmation": null, + "delta_pct": -6.6, + "id": "dc5eb966fb783139", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "elloco.Flower 0.1r1", + "division": "roborumble", + "jar": "elloco.Flower_0.1r1.jar", + "jar_sha256": "43d3313587c90c608353f488ad45078fe28344656e25f72efac0a3d659d587c6", + "key": "roborumble/elloco.Flower_0.1r1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7201.0, + "scores": [ + 3998.0, + 3203.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/elloco.Kabuto_0.2r.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "elloco.Kabuto 0.2r", + "division": "roborumble", + "jar": "elloco.Kabuto_0.2r.jar", + "jar_sha256": "d696e58a5d19664e1ff89352c02a7ed8a807316556093abb6a5e64b6ca33710f", + "key": "roborumble/elloco.Kabuto_0.2r.jar", + "kind": "robot" + }, + "latest_observation": "5558a61657f168c0", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4464.0, + "scores": [ + 2151.0, + 2313.0 + ], + "selected": "elloco.Kabuto 0.2r" + }, + "completed_at": "2026-09-12T11:24:38Z", + "confirmation": null, + "delta_pct": -1.8, + "id": "5558a61657f168c0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "elloco.Kabuto 0.2r", + "division": "roborumble", + "jar": "elloco.Kabuto_0.2r.jar", + "jar_sha256": "d696e58a5d19664e1ff89352c02a7ed8a807316556093abb6a5e64b6ca33710f", + "key": "roborumble/elloco.Kabuto_0.2r.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4384.0, + "scores": [ + 2531.0, + 1853.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/elvbot.ElverionBot_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "elvbot.ElverionBot 0.3", + "division": "roborumble", + "jar": "elvbot.ElverionBot_0.3.jar", + "jar_sha256": "34bd4c44eea1fcc79f19b55393f2bc53323f8bcfac08d5400861ab1b218acea8", + "key": "roborumble/elvbot.ElverionBot_0.3.jar", + "kind": "robot" + }, + "latest_observation": "71e2df5b73f1ffcc", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3469.0, + "scores": [ + 1803.0, + 1666.0 + ], + "selected": "elvbot.ElverionBot 0.3" + }, + "completed_at": "2026-09-12T11:25:13Z", + "confirmation": null, + "delta_pct": -3.5, + "id": "71e2df5b73f1ffcc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "elvbot.ElverionBot 0.3", + "division": "roborumble", + "jar": "elvbot.ElverionBot_0.3.jar", + "jar_sha256": "34bd4c44eea1fcc79f19b55393f2bc53323f8bcfac08d5400861ab1b218acea8", + "key": "roborumble/elvbot.ElverionBot_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3348.0, + "scores": [ + 1833.0, + 1515.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/emp.Yngwie_1.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "emp.Yngwie 1.11", + "division": "roborumble", + "jar": "emp.Yngwie_1.11.jar", + "jar_sha256": "3e958df3c07d2f9ceffa91a54cd8f164de0cde77b5f21111e8c042f88682bc40", + "key": "roborumble/emp.Yngwie_1.11.jar", + "kind": "robot" + }, + "latest_observation": "2b8bbf46a8f1d158", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6685.0, + "scores": [ + 3611.0, + 3074.0 + ], + "selected": "emp.Yngwie 1.11" + }, + "completed_at": "2026-09-12T11:27:09Z", + "confirmation": null, + "delta_pct": -3.0, + "id": "2b8bbf46a8f1d158", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "emp.Yngwie 1.11", + "division": "roborumble", + "jar": "emp.Yngwie_1.11.jar", + "jar_sha256": "3e958df3c07d2f9ceffa91a54cd8f164de0cde77b5f21111e8c042f88682bc40", + "key": "roborumble/emp.Yngwie_1.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 112.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6487.0, + "scores": [ + 3509.0, + 2978.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ender.EnderRobot_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ender.EnderRobot 1.1", + "division": "roborumble", + "jar": "ender.EnderRobot_1.1.jar", + "jar_sha256": "d945d4c4375cc5d79bc81cd80fc9a5908c7782a726c606a745ef5235f30c334b", + "key": "roborumble/ender.EnderRobot_1.1.jar", + "kind": "robot" + }, + "latest_observation": "bf1c109c4d17f836", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 23, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "ender.EnderRobot.doSurfing" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "ender.EnderRobot.energyAnalysis" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because the return value of \"ender.GameStatus.get(long)\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because the return value of \"ender.GameStatus.get(long)\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because the return value of \"ender.GameStatus.get(long)\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because the return value of \"ender.GameStatus.get(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because the return value of \"ender.GameStatus.get(long)\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because the return value of \"ender.GameStatus.get(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because the return value of \"ender.GameStatus.get(long)\" is null" + ], + "has_log": true, + "ok": true, + "score": 7702.0, + "scores": [ + 3884.0, + 3818.0 + ], + "selected": "ender.EnderRobot 1.1" + }, + "completed_at": "2026-09-12T11:27:34Z", + "confirmation": null, + "delta_pct": -18.3, + "id": "bf1c109c4d17f836", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "df9075aba6f73e3faf265d798bae394c4d8dc85d", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ender.EnderRobot 1.1", + "division": "roborumble", + "jar": "ender.EnderRobot_1.1.jar", + "jar_sha256": "d945d4c4375cc5d79bc81cd80fc9a5908c7782a726c606a745ef5235f30c334b", + "key": "roborumble/ender.EnderRobot_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.1, + "error_count": 16, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "ender.EnderRobot.doSurfing" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "ender.EnderRobot.energyAnalysis" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because the return value of \"ender.GameStatus.get(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because the return value of \"ender.GameStatus.get(long)\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException: Cannot invoke \"ender.ScanStatus.getAttr(int)\" because \"previousstatus\" is null", + "java.lang.NullPointerException" + ], + "has_log": true, + "ok": true, + "score": 6290.0, + "scores": [ + 3456.0, + 2834.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ep.MyFirstRobot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ep.MyFirstRobot_1.0.jar", + "jar_sha256": "6bdf15c1cc0c426b4162af4cdc6f0bb6cfb99b58f829b698fbfa7e33dd81e3ed", + "key": "roborumble/ep.MyFirstRobot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "09c6cfb05af392d7", + "observations": [ + { + "classic": { + "elapsed": 0.4, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:06Z", + "confirmation": null, + "delta_pct": null, + "id": "09c6cfb05af392d7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ep.MyFirstRobot_1.0.jar", + "jar_sha256": "6bdf15c1cc0c426b4162af4cdc6f0bb6cfb99b58f829b698fbfa7e33dd81e3ed", + "key": "roborumble/ep.MyFirstRobot_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/ers.micro.ISuck.ISuckMicro_0.1f.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.micro.ISuck.ISuckMicro_0.1f.jar", + "jar_sha256": "7a2a32734faeca43408249ffdadfe3131efb6d82df92e942b89be92a1ec450d7", + "key": "roborumble/ers.micro.ISuck.ISuckMicro_0.1f.jar", + "kind": "robot" + }, + "latest_observation": "bdffea9c570eb754", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:07Z", + "confirmation": null, + "delta_pct": null, + "id": "bdffea9c570eb754", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.micro.ISuck.ISuckMicro_0.1f.jar", + "jar_sha256": "7a2a32734faeca43408249ffdadfe3131efb6d82df92e942b89be92a1ec450d7", + "key": "roborumble/ers.micro.ISuck.ISuckMicro_0.1f.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/ers.nano.ISuck.ISuckNano_0.1d.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.ISuck.ISuckNano_0.1d.jar", + "jar_sha256": "46ad64fe7cf88730cff95ded053d36c3bf63476045cb705b899c72fc5887c3ee", + "key": "roborumble/ers.nano.ISuck.ISuckNano_0.1d.jar", + "kind": "robot" + }, + "latest_observation": "9a259f9c6c5ee751", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:08Z", + "confirmation": null, + "delta_pct": null, + "id": "9a259f9c6c5ee751", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.ISuck.ISuckNano_0.1d.jar", + "jar_sha256": "46ad64fe7cf88730cff95ded053d36c3bf63476045cb705b899c72fc5887c3ee", + "key": "roborumble/ers.nano.ISuck.ISuckNano_0.1d.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/ers.nano.Lig.LigMA_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.Lig.LigMA_1.0.jar", + "jar_sha256": "ed0a58182b4fac5a66414e82669526ac0bd2dda71c9dbf5f62d7ad859f000295", + "key": "roborumble/ers.nano.Lig.LigMA_1.0.jar", + "kind": "robot" + }, + "latest_observation": "43759291daa44c50", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:09Z", + "confirmation": null, + "delta_pct": null, + "id": "43759291daa44c50", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.Lig.LigMA_1.0.jar", + "jar_sha256": "ed0a58182b4fac5a66414e82669526ac0bd2dda71c9dbf5f62d7ad859f000295", + "key": "roborumble/ers.nano.Lig.LigMA_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.4, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/ers.nano.Meroka.Meroka_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.Meroka.Meroka_1.1.jar", + "jar_sha256": "bfd54db1c05dcbc4513fc52424d6ef5e2b65fa950f173affda8841dad148a3d6", + "key": "roborumble/ers.nano.Meroka.Meroka_1.1.jar", + "kind": "robot" + }, + "latest_observation": "e6622eb45701b731", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:10Z", + "confirmation": null, + "delta_pct": null, + "id": "e6622eb45701b731", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.Meroka.Meroka_1.1.jar", + "jar_sha256": "bfd54db1c05dcbc4513fc52424d6ef5e2b65fa950f173affda8841dad148a3d6", + "key": "roborumble/ers.nano.Meroka.Meroka_1.1.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/ers.nano.Sugma.SugmaVCS_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.Sugma.SugmaVCS_1.1.jar", + "jar_sha256": "4353cd2ac026c8a93750a0656aa15c4d52676bb0489bd88eec3facbb6e3ee589", + "key": "roborumble/ers.nano.Sugma.SugmaVCS_1.1.jar", + "kind": "robot" + }, + "latest_observation": "b4e347e3240cad13", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:11Z", + "confirmation": null, + "delta_pct": null, + "id": "b4e347e3240cad13", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.Sugma.SugmaVCS_1.1.jar", + "jar_sha256": "4353cd2ac026c8a93750a0656aa15c4d52676bb0489bd88eec3facbb6e3ee589", + "key": "roborumble/ers.nano.Sugma.SugmaVCS_1.1.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/ers.nano.Sunderer.Sunderer_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.Sunderer.Sunderer_1.2.jar", + "jar_sha256": "a1ab78ddb2f0bc046276fbed5fd2d0d11c11bbf59e3825f8d9f04edc3eb11e2c", + "key": "roborumble/ers.nano.Sunderer.Sunderer_1.2.jar", + "kind": "robot" + }, + "latest_observation": "f5bdc5d5a7662f77", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:12Z", + "confirmation": null, + "delta_pct": null, + "id": "f5bdc5d5a7662f77", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ers.nano.Sunderer.Sunderer_1.2.jar", + "jar_sha256": "a1ab78ddb2f0bc046276fbed5fd2d0d11c11bbf59e3825f8d9f04edc3eb11e2c", + "key": "roborumble/ers.nano.Sunderer.Sunderer_1.2.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/eskimo.micro.Echo_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "eskimo.micro.Echo_0.1.jar", + "jar_sha256": "4c1d2831c25bdc0d93cbf3a16eef99e54284f753ca6c172a89eaa5740ac62dd1", + "key": "roborumble/eskimo.micro.Echo_0.1.jar", + "kind": "robot" + }, + "latest_observation": "fd95d2feff3f2fea", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:13Z", + "confirmation": null, + "delta_pct": null, + "id": "fd95d2feff3f2fea", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "eskimo.micro.Echo_0.1.jar", + "jar_sha256": "4c1d2831c25bdc0d93cbf3a16eef99e54284f753ca6c172a89eaa5740ac62dd1", + "key": "roborumble/eskimo.micro.Echo_0.1.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/et.Predator_1.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "et.Predator_1.8.jar", + "jar_sha256": "458844ceb2fa5a3168332f2366312be72b1e09d6154f07939f01b6205fb097ad", + "key": "roborumble/et.Predator_1.8.jar", + "kind": "robot" + }, + "latest_observation": "875e0d05d23208c4", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:14Z", + "confirmation": null, + "delta_pct": null, + "id": "875e0d05d23208c4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "et.Predator_1.8.jar", + "jar_sha256": "458844ceb2fa5a3168332f2366312be72b1e09d6154f07939f01b6205fb097ad", + "key": "roborumble/et.Predator_1.8.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/ethdsy.Malacka_2.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ethdsy.Malacka_2.4.jar", + "jar_sha256": "1a30870540252df41dbbfbea609dfb0d13c89392b099237a7ac9951ef38862f6", + "key": "roborumble/ethdsy.Malacka_2.4.jar", + "kind": "robot" + }, + "latest_observation": "986386c9abd2263c", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:15Z", + "confirmation": null, + "delta_pct": null, + "id": "986386c9abd2263c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "ethdsy.Malacka_2.4.jar", + "jar_sha256": "1a30870540252df41dbbfbea609dfb0d13c89392b099237a7ac9951ef38862f6", + "key": "roborumble/ethdsy.Malacka_2.4.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/etienne72230.Wall_street_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "etienne72230.Wall_street_1.0.jar", + "jar_sha256": "7a65c7c43682d4b8e1c946e168647e36e571ab87b02df56100c30c54750547b0", + "key": "roborumble/etienne72230.Wall_street_1.0.jar", + "kind": "robot" + }, + "latest_observation": "42eebf58778f64fb", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:15Z", + "confirmation": null, + "delta_pct": null, + "id": "42eebf58778f64fb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "etienne72230.Wall_street_1.0.jar", + "jar_sha256": "7a65c7c43682d4b8e1c946e168647e36e571ab87b02df56100c30c54750547b0", + "key": "roborumble/etienne72230.Wall_street_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/evd.X1_0.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "evd.X1_0.01.jar", + "jar_sha256": "42e884cd77fdb5ffb4e8cf03a5f0dfbbe4e62838105bcdb393046d2f467fadc9", + "key": "roborumble/evd.X1_0.01.jar", + "kind": "robot" + }, + "latest_observation": "06854d9dbad423a8", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:16Z", + "confirmation": null, + "delta_pct": null, + "id": "06854d9dbad423a8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "evd.X1_0.01.jar", + "jar_sha256": "42e884cd77fdb5ffb4e8cf03a5f0dfbbe4e62838105bcdb393046d2f467fadc9", + "key": "roborumble/evd.X1_0.01.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/exauge.GateKeeper_1.1.121g.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "exauge.GateKeeper_1.1.121g.jar", + "jar_sha256": "8182972e69dabac47f6c553a3380c862012f560bc85943afd071758f61e05546", + "key": "roborumble/exauge.GateKeeper_1.1.121g.jar", + "kind": "robot" + }, + "latest_observation": "f4cfae2f888eb716", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:18Z", + "confirmation": null, + "delta_pct": null, + "id": "f4cfae2f888eb716", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "exauge.GateKeeper_1.1.121g.jar", + "jar_sha256": "8182972e69dabac47f6c553a3380c862012f560bc85943afd071758f61e05546", + "key": "roborumble/exauge.GateKeeper_1.1.121g.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/exauge.LemonDrop_1.6.130.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "exauge.LemonDrop_1.6.130.jar", + "jar_sha256": "18e05f4f410398ec63df7f1c477e293576ecc803bf9d774de65e356f0ceda3fa", + "key": "roborumble/exauge.LemonDrop_1.6.130.jar", + "kind": "robot" + }, + "latest_observation": "86d70443e0197c47", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:19Z", + "confirmation": null, + "delta_pct": null, + "id": "86d70443e0197c47", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "exauge.LemonDrop_1.6.130.jar", + "jar_sha256": "18e05f4f410398ec63df7f1c477e293576ecc803bf9d774de65e356f0ceda3fa", + "key": "roborumble/exauge.LemonDrop_1.6.130.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/exauge.Leopard_1.1.019.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "exauge.Leopard_1.1.019.jar", + "jar_sha256": "2903814ff8d9a451c7366f77668031fc85617550ba8d3443fae959415be4fc02", + "key": "roborumble/exauge.Leopard_1.1.019.jar", + "kind": "robot" + }, + "latest_observation": "d67bbe47d65abd53", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:20Z", + "confirmation": null, + "delta_pct": null, + "id": "d67bbe47d65abd53", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "exauge.Leopard_1.1.019.jar", + "jar_sha256": "2903814ff8d9a451c7366f77668031fc85617550ba8d3443fae959415be4fc02", + "key": "roborumble/exauge.Leopard_1.1.019.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/extra.LightSauce_0.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "extra.LightSauce_0.01.jar", + "jar_sha256": "9540d6c64db982537d38ed71d1c57026728bda4691e51c597bce8130995054a9", + "key": "roborumble/extra.LightSauce_0.01.jar", + "kind": "robot" + }, + "latest_observation": "e5c9ee7cfeed3b07", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:21Z", + "confirmation": null, + "delta_pct": null, + "id": "e5c9ee7cfeed3b07", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "extra.LightSauce_0.01.jar", + "jar_sha256": "9540d6c64db982537d38ed71d1c57026728bda4691e51c597bce8130995054a9", + "key": "roborumble/extra.LightSauce_0.01.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/extra.Sauce_.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "extra.Sauce_.01.jar", + "jar_sha256": "beb3dbb662e9df61a292c11d4cb11b4631c96a9d88d7d3e98c7d97a51f2b3cdf", + "key": "roborumble/extra.Sauce_.01.jar", + "kind": "robot" + }, + "latest_observation": "7b2918a07def466d", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:22Z", + "confirmation": null, + "delta_pct": null, + "id": "7b2918a07def466d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "extra.Sauce_.01.jar", + "jar_sha256": "beb3dbb662e9df61a292c11d4cb11b4631c96a9d88d7d3e98c7d97a51f2b3cdf", + "key": "roborumble/extra.Sauce_.01.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fala.robocode.FalaRobot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fala.robocode.FalaRobot_1.0.jar", + "jar_sha256": "0938d195a935b557117cdf409e55818ae6c2ef014711b7dd83a66b1f3d37ad86", + "key": "roborumble/fala.robocode.FalaRobot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "29a5601892a26834", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:23Z", + "confirmation": null, + "delta_pct": null, + "id": "29a5601892a26834", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fala.robocode.FalaRobot_1.0.jar", + "jar_sha256": "0938d195a935b557117cdf409e55818ae6c2ef014711b7dd83a66b1f3d37ad86", + "key": "roborumble/fala.robocode.FalaRobot_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fcr.First_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fcr.First_1.0.jar", + "jar_sha256": "e3dde02826b982ba43c4ff85ae57b17c14d5ac034cc2c250159e17cf427bce16", + "key": "roborumble/fcr.First_1.0.jar", + "kind": "robot" + }, + "latest_observation": "8db47e2d9d62a27b", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:24Z", + "confirmation": null, + "delta_pct": null, + "id": "8db47e2d9d62a27b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fcr.First_1.0.jar", + "jar_sha256": "e3dde02826b982ba43c4ff85ae57b17c14d5ac034cc2c250159e17cf427bce16", + "key": "roborumble/fcr.First_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fire219.CatBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fire219.CatBot_1.0.jar", + "jar_sha256": "c2ff5385c65f8753974d23fac4ec8d00aa793f5c5a9ace2f53e6bcce07259a27", + "key": "roborumble/fire219.CatBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "36add8be7ffef313", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:26Z", + "confirmation": null, + "delta_pct": null, + "id": "36add8be7ffef313", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fire219.CatBot_1.0.jar", + "jar_sha256": "c2ff5385c65f8753974d23fac4ec8d00aa793f5c5a9ace2f53e6bcce07259a27", + "key": "roborumble/fire219.CatBot_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fire219.cymba.Cymba_1.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fire219.cymba.Cymba_1.8.jar", + "jar_sha256": "9f87827b45523d9b00768c3b943aa91787fac79428d936597aef868d8faaedb8", + "key": "roborumble/fire219.cymba.Cymba_1.8.jar", + "kind": "robot" + }, + "latest_observation": "131ec84edafe270b", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:27Z", + "confirmation": null, + "delta_pct": null, + "id": "131ec84edafe270b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fire219.cymba.Cymba_1.8.jar", + "jar_sha256": "9f87827b45523d9b00768c3b943aa91787fac79428d936597aef868d8faaedb8", + "key": "roborumble/fire219.cymba.Cymba_1.8.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/florent.FloatingTadpole_1.2.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "florent.FloatingTadpole_1.2.6.jar", + "jar_sha256": "bad9d78a6a40ff6b76811db665a93cfc0b2755a8ba08abe146bdedbbe1503573", + "key": "roborumble/florent.FloatingTadpole_1.2.6.jar", + "kind": "robot" + }, + "latest_observation": "82b4ce7fc5742beb", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:28Z", + "confirmation": null, + "delta_pct": null, + "id": "82b4ce7fc5742beb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "36549f1196eb837f3109ffb1910f0601de2e4277", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "florent.FloatingTadpole_1.2.6.jar", + "jar_sha256": "bad9d78a6a40ff6b76811db665a93cfc0b2755a8ba08abe146bdedbbe1503573", + "key": "roborumble/florent.FloatingTadpole_1.2.6.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/florent.XSeries.X2_0.17.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "florent.XSeries.X2_0.17.jar", + "jar_sha256": "487a23bb75738704e8ec474a3f83873803dc96ff33105642d9e9d7ef761711ec", + "key": "roborumble/florent.XSeries.X2_0.17.jar", + "kind": "robot" + }, + "latest_observation": "c9a80321ef9eab53", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:51Z", + "confirmation": null, + "delta_pct": null, + "id": "c9a80321ef9eab53", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "florent.XSeries.X2_0.17.jar", + "jar_sha256": "487a23bb75738704e8ec474a3f83873803dc96ff33105642d9e9d7ef761711ec", + "key": "roborumble/florent.XSeries.X2_0.17.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/florent.small.LittleAngel_1.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "florent.small.LittleAngel_1.8.jar", + "jar_sha256": "9dff2b2cb39fa54f0ab5b30a891f53005ef1a127e859963a4c40f3e42c24e6d5", + "key": "roborumble/florent.small.LittleAngel_1.8.jar", + "kind": "robot" + }, + "latest_observation": "3f8326a84f0bd900", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:49Z", + "confirmation": null, + "delta_pct": null, + "id": "fea0c1217f809175", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "florent.small.LittleAngel_1.8.jar", + "jar_sha256": "9dff2b2cb39fa54f0ab5b30a891f53005ef1a127e859963a4c40f3e42c24e6d5", + "key": "roborumble/florent.small.LittleAngel_1.8.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "florent.small.LittleAngel 1.8" + }, + "completed_at": "2026-09-12T12:30:42Z", + "confirmation": null, + "delta_pct": null, + "id": "3f8326a84f0bd900", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7a4932b0b5779837485900a5f41b71026fc2e6f9", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "florent.small.LittleAngel 1.8", + "division": "roborumble", + "jar": "florent.small.LittleAngel_1.8.jar", + "jar_sha256": "9dff2b2cb39fa54f0ab5b30a891f53005ef1a127e859963a4c40f3e42c24e6d5", + "key": "roborumble/florent.small.LittleAngel_1.8.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4109.0, + "scores": [ + 2525.0, + 1584.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/florent.test.Toad_0.14t.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "florent.test.Toad_0.14t.jar", + "jar_sha256": "4290f8a075c9990dca1e9b824746404d4ac67dd61bd741d1832516e6b321b6ef", + "key": "roborumble/florent.test.Toad_0.14t.jar", + "kind": "robot" + }, + "latest_observation": "13e6e0cdc1395289", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:50Z", + "confirmation": null, + "delta_pct": null, + "id": "13e6e0cdc1395289", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "florent.test.Toad_0.14t.jar", + "jar_sha256": "4290f8a075c9990dca1e9b824746404d4ac67dd61bd741d1832516e6b321b6ef", + "key": "roborumble/florent.test.Toad_0.14t.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fm.claire_1.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fm.claire_1.7.jar", + "jar_sha256": "2d5292434ffe998003e95a8b540e67e2aa9b1a6cea12c18c3391bd7df69cbb52", + "key": "roborumble/fm.claire_1.7.jar", + "kind": "robot" + }, + "latest_observation": "70de3507acc20c29", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:51Z", + "confirmation": null, + "delta_pct": null, + "id": "70de3507acc20c29", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fm.claire_1.7.jar", + "jar_sha256": "2d5292434ffe998003e95a8b540e67e2aa9b1a6cea12c18c3391bd7df69cbb52", + "key": "roborumble/fm.claire_1.7.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fm.mammillarias_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fm.mammillarias_1.3.jar", + "jar_sha256": "ab31de3664df7140263e742d93149d8a42e48c36e512e80cf027a07ae6371057", + "key": "roborumble/fm.mammillarias_1.3.jar", + "kind": "robot" + }, + "latest_observation": "d0cd14dbbf73d88b", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:52Z", + "confirmation": null, + "delta_pct": null, + "id": "d0cd14dbbf73d88b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fm.mammillarias_1.3.jar", + "jar_sha256": "ab31de3664df7140263e742d93149d8a42e48c36e512e80cf027a07ae6371057", + "key": "roborumble/fm.mammillarias_1.3.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fnc.bandit.Bandit_5.2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fnc.bandit.Bandit_5.2.0.jar", + "jar_sha256": "60d7454229680bb715078c06ae51b3814ba4f2d548f3c3356afc39b514a600b3", + "key": "roborumble/fnc.bandit.Bandit_5.2.0.jar", + "kind": "robot" + }, + "latest_observation": "1a80127f5f410c25", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:53Z", + "confirmation": null, + "delta_pct": null, + "id": "1a80127f5f410c25", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fnc.bandit.Bandit_5.2.0.jar", + "jar_sha256": "60d7454229680bb715078c06ae51b3814ba4f2d548f3c3356afc39b514a600b3", + "key": "roborumble/fnc.bandit.Bandit_5.2.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fnc.bandit2002.Bandit2002_4.0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fnc.bandit2002.Bandit2002_4.0.2.jar", + "jar_sha256": "992b401e4fce26dfdff21c756b25e1bb61c4e7fb6e1b84bba841fa52a9665e76", + "key": "roborumble/fnc.bandit2002.Bandit2002_4.0.2.jar", + "kind": "robot" + }, + "latest_observation": "18951e98762a9f79", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:54Z", + "confirmation": null, + "delta_pct": null, + "id": "18951e98762a9f79", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fnc.bandit2002.Bandit2002_4.0.2.jar", + "jar_sha256": "992b401e4fce26dfdff21c756b25e1bb61c4e7fb6e1b84bba841fa52a9665e76", + "key": "roborumble/fnc.bandit2002.Bandit2002_4.0.2.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/frag.FragBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "frag.FragBot_1.0.jar", + "jar_sha256": "7f889f42ce9bb5f3cbe766729631635b2ef529c3d29f10d2cc01b6566e9cb416", + "key": "roborumble/frag.FragBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "47fa458493cbc45e", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:55Z", + "confirmation": null, + "delta_pct": null, + "id": "47fa458493cbc45e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "frag.FragBot_1.0.jar", + "jar_sha256": "7f889f42ce9bb5f3cbe766729631635b2ef529c3d29f10d2cc01b6566e9cb416", + "key": "roborumble/frag.FragBot_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/franzor.Lizt_1.3.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "franzor.Lizt_1.3.1.jar", + "jar_sha256": "983471aecbaeaac7119bd20437f01c62af88a249befb07d2ac8e8cbb0645863c", + "key": "roborumble/franzor.Lizt_1.3.1.jar", + "kind": "robot" + }, + "latest_observation": "c3f55886bc4b2329", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:56Z", + "confirmation": null, + "delta_pct": null, + "id": "c3f55886bc4b2329", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "franzor.Lizt_1.3.1.jar", + "jar_sha256": "983471aecbaeaac7119bd20437f01c62af88a249befb07d2ac8e8cbb0645863c", + "key": "roborumble/franzor.Lizt_1.3.1.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/froh.micro.Aversari_0.31.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "froh.micro.Aversari_0.31.jar", + "jar_sha256": "c20774ee6f06e6e95b809e00880e4096c82548a5299330a14ef6ea765f1c36d2", + "key": "roborumble/froh.micro.Aversari_0.31.jar", + "kind": "robot" + }, + "latest_observation": "fdd83abc5317dc7c", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:57Z", + "confirmation": null, + "delta_pct": null, + "id": "fdd83abc5317dc7c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "froh.micro.Aversari_0.31.jar", + "jar_sha256": "c20774ee6f06e6e95b809e00880e4096c82548a5299330a14ef6ea765f1c36d2", + "key": "roborumble/froh.micro.Aversari_0.31.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fromHell.BlackBox_0.0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fromHell.BlackBox_0.0.2.jar", + "jar_sha256": "f2de85b5bceee97cfff7ccb91d3a33ee7db0fc2a53d6adc0ced674e546c39480", + "key": "roborumble/fromHell.BlackBox_0.0.2.jar", + "kind": "robot" + }, + "latest_observation": "1ca9b10801992a11", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:58Z", + "confirmation": null, + "delta_pct": null, + "id": "1ca9b10801992a11", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fromHell.BlackBox_0.0.2.jar", + "jar_sha256": "f2de85b5bceee97cfff7ccb91d3a33ee7db0fc2a53d6adc0ced674e546c39480", + "key": "roborumble/fromHell.BlackBox_0.0.2.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fromHell.C22H30N2O2S_2.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fromHell.C22H30N2O2S_2.2.jar", + "jar_sha256": "2f0c643d24b1f4f1ece1a127e2d97831dde177a9191014314a64923e5bac753e", + "key": "roborumble/fromHell.C22H30N2O2S_2.2.jar", + "kind": "robot" + }, + "latest_observation": "b621bda1a3c49348", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:25:59Z", + "confirmation": null, + "delta_pct": null, + "id": "b621bda1a3c49348", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fromHell.C22H30N2O2S_2.2.jar", + "jar_sha256": "2f0c643d24b1f4f1ece1a127e2d97831dde177a9191014314a64923e5bac753e", + "key": "roborumble/fromHell.C22H30N2O2S_2.2.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fromHell.C4H10O_1.5.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fromHell.C4H10O_1.5.1.jar", + "jar_sha256": "6e95b440def4793d19e8e441889f082769ec728dacadd2dbe684a74980844ca9", + "key": "roborumble/fromHell.C4H10O_1.5.1.jar", + "kind": "robot" + }, + "latest_observation": "b8e9e74c1eec8204", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:00Z", + "confirmation": null, + "delta_pct": null, + "id": "b8e9e74c1eec8204", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fromHell.C4H10O_1.5.1.jar", + "jar_sha256": "6e95b440def4793d19e8e441889f082769ec728dacadd2dbe684a74980844ca9", + "key": "roborumble/fromHell.C4H10O_1.5.1.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fromHell.CHCl3_1.4.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fromHell.CHCl3_1.4.2.jar", + "jar_sha256": "c765c36575fde450d68616f4d8be29db2870be0464a6d719d0cd9b54aaec0fa0", + "key": "roborumble/fromHell.CHCl3_1.4.2.jar", + "kind": "robot" + }, + "latest_observation": "bdc7925c24e2e3f3", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:01Z", + "confirmation": null, + "delta_pct": null, + "id": "bdc7925c24e2e3f3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fromHell.CHCl3_1.4.2.jar", + "jar_sha256": "c765c36575fde450d68616f4d8be29db2870be0464a6d719d0cd9b54aaec0fa0", + "key": "roborumble/fromHell.CHCl3_1.4.2.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fruits.NanoStrawbery_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fruits.NanoStrawbery_1.3.jar", + "jar_sha256": "677fcb99578892e0453a00a070e3f5fb2b4efd78e98cde2a8a14cd61bd15032c", + "key": "roborumble/fruits.NanoStrawbery_1.3.jar", + "kind": "robot" + }, + "latest_observation": "5b966841b00b16eb", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:01Z", + "confirmation": null, + "delta_pct": null, + "id": "5b966841b00b16eb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fruits.NanoStrawbery_1.3.jar", + "jar_sha256": "677fcb99578892e0453a00a070e3f5fb2b4efd78e98cde2a8a14cd61bd15032c", + "key": "roborumble/fruits.NanoStrawbery_1.3.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fullsail.LaxativeTeaTwo_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fullsail.LaxativeTeaTwo_1.0.jar", + "jar_sha256": "1c0698e58bad797b16cf0771d9971d67b5f31e71f9561b893e99cfa65fe005bd", + "key": "roborumble/fullsail.LaxativeTeaTwo_1.0.jar", + "kind": "robot" + }, + "latest_observation": "dd866b226f39b65e", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:02Z", + "confirmation": null, + "delta_pct": null, + "id": "dd866b226f39b65e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fullsail.LaxativeTeaTwo_1.0.jar", + "jar_sha256": "1c0698e58bad797b16cf0771d9971d67b5f31e71f9561b893e99cfa65fe005bd", + "key": "roborumble/fullsail.LaxativeTeaTwo_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fullsail.SweetTea_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fullsail.SweetTea_1.1.jar", + "jar_sha256": "f2c21f11980e3709db3fd98f1e2d1ba0a1bcb8e3b93716bcae29c05651426f1f", + "key": "roborumble/fullsail.SweetTea_1.1.jar", + "kind": "robot" + }, + "latest_observation": "936f481cf375afa4", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:03Z", + "confirmation": null, + "delta_pct": null, + "id": "936f481cf375afa4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fullsail.SweetTea_1.1.jar", + "jar_sha256": "f2c21f11980e3709db3fd98f1e2d1ba0a1bcb8e3b93716bcae29c05651426f1f", + "key": "roborumble/fullsail.SweetTea_1.1.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fullsail.TimbotNoPrediction_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fullsail.TimbotNoPrediction_1.0.jar", + "jar_sha256": "378b38bdd239a38d2013f495b3ac932533461f3ded4bdbd5ef9122eabee86485", + "key": "roborumble/fullsail.TimbotNoPrediction_1.0.jar", + "kind": "robot" + }, + "latest_observation": "7c615c99a39069ac", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:04Z", + "confirmation": null, + "delta_pct": null, + "id": "7c615c99a39069ac", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fullsail.TimbotNoPrediction_1.0.jar", + "jar_sha256": "378b38bdd239a38d2013f495b3ac932533461f3ded4bdbd5ef9122eabee86485", + "key": "roborumble/fullsail.TimbotNoPrediction_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fushi.PvP1.PvP1_2004-02-16.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fushi.PvP1.PvP1_2004-02-16.jar", + "jar_sha256": "ea9d348d62ade8a2d17096e8dbd25c9c9fb957f659bb8cab54c217353ec7a4e9", + "key": "roborumble/fushi.PvP1.PvP1_2004-02-16.jar", + "kind": "robot" + }, + "latest_observation": "1b8259c3cfd580ce", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:05Z", + "confirmation": null, + "delta_pct": null, + "id": "1b8259c3cfd580ce", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fushi.PvP1.PvP1_2004-02-16.jar", + "jar_sha256": "ea9d348d62ade8a2d17096e8dbd25c9c9fb957f659bb8cab54c217353ec7a4e9", + "key": "roborumble/fushi.PvP1.PvP1_2004-02-16.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/fw.Number1_1.0b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fw.Number1_1.0b.jar", + "jar_sha256": "54fb5222f8ced4b385b2c01e9095a70e7c8d44138589f0f403de2cad52ce69b6", + "key": "roborumble/fw.Number1_1.0b.jar", + "kind": "robot" + }, + "latest_observation": "2cc6120e92d4b230", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:06Z", + "confirmation": null, + "delta_pct": null, + "id": "2cc6120e92d4b230", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "fw.Number1_1.0b.jar", + "jar_sha256": "54fb5222f8ced4b385b2c01e9095a70e7c8d44138589f0f403de2cad52ce69b6", + "key": "roborumble/fw.Number1_1.0b.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/gadsky.Gadsky_1.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "gadsky.Gadsky_1.01.jar", + "jar_sha256": "e5e6438414227048079ee661fb1f287131b09550df7d289ab1c2d3955dbd7134", + "key": "roborumble/gadsky.Gadsky_1.01.jar", + "kind": "robot" + }, + "latest_observation": "79fa67574b3f574a", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:07Z", + "confirmation": null, + "delta_pct": null, + "id": "79fa67574b3f574a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "gadsky.Gadsky_1.01.jar", + "jar_sha256": "e5e6438414227048079ee661fb1f287131b09550df7d289ab1c2d3955dbd7134", + "key": "roborumble/gadsky.Gadsky_1.01.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/geep.mini.GPBotA_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "geep.mini.GPBotA_1.0.jar", + "jar_sha256": "b42e6036e3fde74fc2f4af5b6fbb145a9b9a1bb88120f429e4772f6424917fb2", + "key": "roborumble/geep.mini.GPBotA_1.0.jar", + "kind": "robot" + }, + "latest_observation": "0d25e3d2ded7c752", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:09Z", + "confirmation": null, + "delta_pct": null, + "id": "0d25e3d2ded7c752", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "geep.mini.GPBotA_1.0.jar", + "jar_sha256": "b42e6036e3fde74fc2f4af5b6fbb145a9b9a1bb88120f429e4772f6424917fb2", + "key": "roborumble/geep.mini.GPBotA_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/geep.mini.GPBotB_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "geep.mini.GPBotB_1.1.jar", + "jar_sha256": "2db6971ae33b17606c45116c7ee5addbf48fd437725f0c224e1a2c63268f0135", + "key": "roborumble/geep.mini.GPBotB_1.1.jar", + "kind": "robot" + }, + "latest_observation": "962021716e3e7eaf", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:10Z", + "confirmation": null, + "delta_pct": null, + "id": "962021716e3e7eaf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "geep.mini.GPBotB_1.1.jar", + "jar_sha256": "2db6971ae33b17606c45116c7ee5addbf48fd437725f0c224e1a2c63268f0135", + "key": "roborumble/geep.mini.GPBotB_1.1.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/genprog.Gajeel_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "genprog.Gajeel_1.0.jar", + "jar_sha256": "0b1e0eb0bcdffd2b8632de477e5767d020425e3e6186368386ff684365b50f28", + "key": "roborumble/genprog.Gajeel_1.0.jar", + "kind": "robot" + }, + "latest_observation": "ff92ee797e807b9c", + "observations": [ + { + "classic": { + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "selected": null + }, + "completed_at": "2026-09-12T12:26:10Z", + "confirmation": null, + "delta_pct": null, + "id": "ff92ee797e807b9c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "7f69420cb5157bc945ae58f4130e0a550cfabb22", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": null, + "division": "roborumble", + "jar": "genprog.Gajeel_1.0.jar", + "jar_sha256": "0b1e0eb0bcdffd2b8632de477e5767d020425e3e6186368386ff684365b50f28", + "key": "roborumble/genprog.Gajeel_1.0.jar", + "kind": "robot" + }, + "status": "MATCHED (failure)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.3, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: worker produced no result (exit code 1)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "MATCHED (failure)" + }, + "roborumble/genprog.Rinmorikazu_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "genprog.Rinmorikazu 1.0", + "division": "roborumble", + "jar": "genprog.Rinmorikazu_1.0.jar", + "jar_sha256": "3d869dbadee876e6a4d3006d6a10939fec114378316e15df130e3047ac917f80", + "key": "roborumble/genprog.Rinmorikazu_1.0.jar", + "kind": "robot" + }, + "latest_observation": "e8721bfe1878ce0b", + "observations": [ + { + "classic": { + "elapsed": 41.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "genprog.Rinmorikazu 1.0" + }, + "completed_at": "2026-09-12T12:32:02Z", + "confirmation": null, + "delta_pct": null, + "id": "e8721bfe1878ce0b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "genprog.Rinmorikazu 1.0", + "division": "roborumble", + "jar": "genprog.Rinmorikazu_1.0.jar", + "jar_sha256": "3d869dbadee876e6a4d3006d6a10939fec114378316e15df130e3047ac917f80", + "key": "roborumble/genprog.Rinmorikazu_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5115.0, + "scores": [ + 2704.0, + 2411.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/genprog.Zafaran_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "genprog.Zafaran 1.0", + "division": "roborumble", + "jar": "genprog.Zafaran_1.0.jar", + "jar_sha256": "a64700257e423fef63c891167552958ef41932fb775e22802da628ddd523649f", + "key": "roborumble/genprog.Zafaran_1.0.jar", + "kind": "robot" + }, + "latest_observation": "1945c190c76e6150", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "genprog.Zafaran 1.0" + }, + "completed_at": "2026-09-12T12:32:58Z", + "confirmation": null, + "delta_pct": null, + "id": "1945c190c76e6150", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "genprog.Zafaran 1.0", + "division": "roborumble", + "jar": "genprog.Zafaran_1.0.jar", + "jar_sha256": "a64700257e423fef63c891167552958ef41932fb775e22802da628ddd523649f", + "key": "roborumble/genprog.Zafaran_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5824.0, + "scores": [ + 3142.0, + 2682.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/germ.TheMind_.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "germ.TheMind .2", + "division": "roborumble", + "jar": "germ.TheMind_.2.jar", + "jar_sha256": "f4f5e112e785354806cc13b5cfc5232213204194654259a7c86a9404b767bf8c", + "key": "roborumble/germ.TheMind_.2.jar", + "kind": "robot" + }, + "latest_observation": "f6001e8b572533b4", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "germ.TheMind .2" + }, + "completed_at": "2026-09-12T12:33:58Z", + "confirmation": null, + "delta_pct": null, + "id": "f6001e8b572533b4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "germ.TheMind .2", + "division": "roborumble", + "jar": "germ.TheMind_.2.jar", + "jar_sha256": "f4f5e112e785354806cc13b5cfc5232213204194654259a7c86a9404b767bf8c", + "key": "roborumble/germ.TheMind_.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2343.0, + "scores": [ + 1198.0, + 1145.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gf.Centaur.Centaur_0.6.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gf.Centaur.Centaur 0.6.7", + "division": "roborumble", + "jar": "gf.Centaur.Centaur_0.6.7.jar", + "jar_sha256": "2ca75c3191793499e863c6715a640744585770ca80493fc8433b5889f6277616", + "key": "roborumble/gf.Centaur.Centaur_0.6.7.jar", + "kind": "robot" + }, + "latest_observation": "64630a3acc5ad08d", + "observations": [ + { + "classic": { + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gf.Centaur.Centaur 0.6.7" + }, + "completed_at": "2026-09-12T12:35:23Z", + "confirmation": null, + "delta_pct": null, + "id": "64630a3acc5ad08d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gf.Centaur.Centaur 0.6.7", + "division": "roborumble", + "jar": "gf.Centaur.Centaur_0.6.7.jar", + "jar_sha256": "2ca75c3191793499e863c6715a640744585770ca80493fc8433b5889f6277616", + "key": "roborumble/gf.Centaur.Centaur_0.6.7.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5483.0, + "scores": [ + 2897.0, + 2586.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gg.Squaraus_0.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gg.Squaraus 0.6", + "division": "roborumble", + "jar": "gg.Squaraus_0.6.jar", + "jar_sha256": "8134f4c2d9cf82b19059f201aa2655e71c5d5fac45fa27830620e039edad96d2", + "key": "roborumble/gg.Squaraus_0.6.jar", + "kind": "robot" + }, + "latest_observation": "af5d371fd0d8ebc8", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gg.Squaraus 0.6" + }, + "completed_at": "2026-09-12T12:36:25Z", + "confirmation": null, + "delta_pct": null, + "id": "af5d371fd0d8ebc8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gg.Squaraus 0.6", + "division": "roborumble", + "jar": "gg.Squaraus_0.6.jar", + "jar_sha256": "8134f4c2d9cf82b19059f201aa2655e71c5d5fac45fa27830620e039edad96d2", + "key": "roborumble/gg.Squaraus_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5833.0, + "scores": [ + 3333.0, + 2500.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gg.Wolverine_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gg.Wolverine 2.0", + "division": "roborumble", + "jar": "gg.Wolverine_2.0.jar", + "jar_sha256": "74759ddb81c6551707d86946b407ce387fc03f44660e0f46a05d2ed0d8ebbd2d", + "key": "roborumble/gg.Wolverine_2.0.jar", + "kind": "robot" + }, + "latest_observation": "5a1633d8ea1a8831", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gg.Wolverine 2.0" + }, + "completed_at": "2026-09-12T12:37:21Z", + "confirmation": null, + "delta_pct": null, + "id": "5a1633d8ea1a8831", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gg.Wolverine 2.0", + "division": "roborumble", + "jar": "gg.Wolverine_2.0.jar", + "jar_sha256": "74759ddb81c6551707d86946b407ce387fc03f44660e0f46a05d2ed0d8ebbd2d", + "key": "roborumble/gg.Wolverine_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12938.0, + "scores": [ + 6506.0, + 6432.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gh.GresSuffurd_0.4.13.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gh.GresSuffurd 0.4.13", + "division": "roborumble", + "jar": "gh.GresSuffurd_0.4.13.jar", + "jar_sha256": "528d13dfe76657c5c5d851ba906ae487c45e81a4d3e9197626f05ff6a73c7a76", + "key": "roborumble/gh.GresSuffurd_0.4.13.jar", + "kind": "robot" + }, + "latest_observation": "422163e3feada153", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gh.GresSuffurd 0.4.13" + }, + "completed_at": "2026-09-12T12:38:29Z", + "confirmation": null, + "delta_pct": null, + "id": "422163e3feada153", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gh.GresSuffurd 0.4.13", + "division": "roborumble", + "jar": "gh.GresSuffurd_0.4.13.jar", + "jar_sha256": "528d13dfe76657c5c5d851ba906ae487c45e81a4d3e9197626f05ff6a73c7a76", + "key": "roborumble/gh.GresSuffurd_0.4.13.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4615.0, + "scores": [ + 2524.0, + 2091.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gh.GrubbmGrb_1.2.4.jar": { + "diagnosis_events": [ + { + "cause": "packaged-data-resources", + "id": "diagnosis-1", + "owner": "bridge", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "gh.GrubbmGrb 1.2.4", + "division": "roborumble", + "jar": "gh.GrubbmGrb_1.2.4.jar", + "jar_sha256": "8d8efa95fed1a4ea56cdbdc7525c0a41d330c4c3ff11855b37840cdcc6207b3e", + "key": "roborumble/gh.GrubbmGrb_1.2.4.jar", + "kind": "robot" + }, + "latest_observation": "5ec4a9ed6e45a26d", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gh.GrubbmGrb 1.2.4" + }, + "completed_at": "2026-09-12T12:39:16Z", + "confirmation": null, + "delta_pct": null, + "id": "f2c1c5022a5838fb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gh.GrubbmGrb 1.2.4", + "division": "roborumble", + "jar": "gh.GrubbmGrb_1.2.4.jar", + "jar_sha256": "8d8efa95fed1a4ea56cdbdc7525c0a41d330c4c3ff11855b37840cdcc6207b3e", + "key": "roborumble/gh.GrubbmGrb_1.2.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.FileNotFoundException", + "unknown" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "readIniFile(): IOException reading data GrubbmGrb.ini: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\gh.GrubbmGrb_1.2.4\\GrubbmGrb.data\\GrubbmGrb.ini (Den angivne fil blev ikke fundet)", + "readIniFile(): IOException reading data GrubbmGrb.ini: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\gh.GrubbmGrb_1.2.4-2\\GrubbmGrb.data\\GrubbmGrb.ini (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5145.0, + "scores": [ + 2285.0, + 2860.0 + ], + "selected": "gh.GrubbmGrb 1.2.4" + }, + "completed_at": "2026-09-22T14:31:32Z", + "confirmation": null, + "delta_pct": -11.3, + "id": "5ec4a9ed6e45a26d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "44fd5bc10abfb832ffa69914ec852b968e159399", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "packaged-data-resources", + "diagnosis_id": "diagnosis-1", + "owner": "bridge", + "repair": "28d4a79" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gh.GrubbmGrb 1.2.4", + "division": "roborumble", + "jar": "gh.GrubbmGrb_1.2.4.jar", + "jar_sha256": "8d8efa95fed1a4ea56cdbdc7525c0a41d330c4c3ff11855b37840cdcc6207b3e", + "key": "roborumble/gh.GrubbmGrb_1.2.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4565.0, + "scores": [ + 2689.0, + 1876.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/gh.GrypRepetyf_0.13.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gh.GrypRepetyf 0.13", + "division": "roborumble", + "jar": "gh.GrypRepetyf_0.13.jar", + "jar_sha256": "cec04c487a3da61b047ba4a0661b9fbf8ec9ad78aa93efafdb702f5f57a0416a", + "key": "roborumble/gh.GrypRepetyf_0.13.jar", + "kind": "robot" + }, + "latest_observation": "43c8214c070a00fd", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gh.GrypRepetyf 0.13" + }, + "completed_at": "2026-09-12T12:40:16Z", + "confirmation": null, + "delta_pct": null, + "id": "43c8214c070a00fd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gh.GrypRepetyf 0.13", + "division": "roborumble", + "jar": "gh.GrypRepetyf_0.13.jar", + "jar_sha256": "cec04c487a3da61b047ba4a0661b9fbf8ec9ad78aa93efafdb702f5f57a0416a", + "key": "roborumble/gh.GrypRepetyf_0.13.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6245.0, + "scores": [ + 3751.0, + 2494.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gh.micro.Grinnik_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gh.micro.Grinnik 1.0", + "division": "roborumble", + "jar": "gh.micro.Grinnik_1.0.jar", + "jar_sha256": "60eed7a095bd7c74c944467920bdbd6d5598f9e038e7f3d6a690edda37d8504b", + "key": "roborumble/gh.micro.Grinnik_1.0.jar", + "kind": "robot" + }, + "latest_observation": "e524b4d483d0635e", + "observations": [ + { + "classic": { + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gh.micro.Grinnik 1.0" + }, + "completed_at": "2026-09-12T12:41:17Z", + "confirmation": null, + "delta_pct": null, + "id": "e524b4d483d0635e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gh.micro.Grinnik 1.0", + "division": "roborumble", + "jar": "gh.micro.Grinnik_1.0.jar", + "jar_sha256": "60eed7a095bd7c74c944467920bdbd6d5598f9e038e7f3d6a690edda37d8504b", + "key": "roborumble/gh.micro.Grinnik_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4376.0, + "scores": [ + 2220.0, + 2156.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gh.mini.Grimmig_0.3.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gh.mini.Grimmig 0.3.6", + "division": "roborumble", + "jar": "gh.mini.Grimmig_0.3.6.jar", + "jar_sha256": "1d65ae25c123ff86779c33f26374f0aa72ade6a5f4497196aa3c6f7be23b6ffa", + "key": "roborumble/gh.mini.Grimmig_0.3.6.jar", + "kind": "robot" + }, + "latest_observation": "5f21e7bfd82d02e0", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gh.mini.Grimmig 0.3.6" + }, + "completed_at": "2026-09-12T12:42:21Z", + "confirmation": null, + "delta_pct": null, + "id": "5f21e7bfd82d02e0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gh.mini.Grimmig 0.3.6", + "division": "roborumble", + "jar": "gh.mini.Grimmig_0.3.6.jar", + "jar_sha256": "1d65ae25c123ff86779c33f26374f0aa72ade6a5f4497196aa3c6f7be23b6ffa", + "key": "roborumble/gh.mini.Grimmig_0.3.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4505.0, + "scores": [ + 2811.0, + 1694.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gh.nano.Grofvuil_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gh.nano.Grofvuil 0.2", + "division": "roborumble", + "jar": "gh.nano.Grofvuil_0.2.jar", + "jar_sha256": "93b2a73e350b902abfa4b615d1cb10f3350617e66ebafbf001f68b4557c4046c", + "key": "roborumble/gh.nano.Grofvuil_0.2.jar", + "kind": "robot" + }, + "latest_observation": "2d26131918c382a7", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gh.nano.Grofvuil 0.2" + }, + "completed_at": "2026-09-12T12:43:21Z", + "confirmation": null, + "delta_pct": null, + "id": "2d26131918c382a7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gh.nano.Grofvuil 0.2", + "division": "roborumble", + "jar": "gh.nano.Grofvuil_0.2.jar", + "jar_sha256": "93b2a73e350b902abfa4b615d1cb10f3350617e66ebafbf001f68b4557c4046c", + "key": "roborumble/gh.nano.Grofvuil_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3662.0, + "scores": [ + 2137.0, + 1525.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/ghent.ArthurPanzergon_1.0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ghent.ArthurPanzergon 1.0.0", + "division": "roborumble", + "jar": "ghent.ArthurPanzergon_1.0.0.jar", + "jar_sha256": "90f35d34d2781d6549f1094c87f72fbf1413e91d73f1be75fd98f5f88b635556", + "key": "roborumble/ghent.ArthurPanzergon_1.0.0.jar", + "kind": "robot" + }, + "latest_observation": "dfa7800f0f04cab3", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "ghent.ArthurPanzergon 1.0.0" + }, + "completed_at": "2026-09-12T12:44:08Z", + "confirmation": null, + "delta_pct": null, + "id": "dfa7800f0f04cab3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ghent.ArthurPanzergon 1.0.0", + "division": "roborumble", + "jar": "ghent.ArthurPanzergon_1.0.0.jar", + "jar_sha256": "90f35d34d2781d6549f1094c87f72fbf1413e91d73f1be75fd98f5f88b635556", + "key": "roborumble/ghent.ArthurPanzergon_1.0.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.FileNotFoundException", + "ghent.modules.artillery.Gunner.loadStats" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "ghent.modules.artillery.Gunner.loadStats" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\ghent.ArthurPanzergon_1.0.0\\ArthurPanzergon.data\\gunner.dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\ghent.ArthurPanzergon_1.0.0-2\\ArthurPanzergon.data\\gunner.dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/gimp.GimpBot_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gimp.GimpBot 0.1", + "division": "roborumble", + "jar": "gimp.GimpBot_0.1.jar", + "jar_sha256": "e6ea808162e9504f8f6a9f97bfe55123269e30a2ab444991a104d46acffb43a6", + "key": "roborumble/gimp.GimpBot_0.1.jar", + "kind": "robot" + }, + "latest_observation": "971d83252cd783ae", + "observations": [ + { + "classic": { + "elapsed": 42.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gimp.GimpBot 0.1" + }, + "completed_at": "2026-09-12T12:45:08Z", + "confirmation": null, + "delta_pct": null, + "id": "971d83252cd783ae", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gimp.GimpBot 0.1", + "division": "roborumble", + "jar": "gimp.GimpBot_0.1.jar", + "jar_sha256": "e6ea808162e9504f8f6a9f97bfe55123269e30a2ab444991a104d46acffb43a6", + "key": "roborumble/gimp.GimpBot_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7773.0, + "scores": [ + 4296.0, + 3477.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gio.RealGioBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gio.RealGioBot 1.0", + "division": "roborumble", + "jar": "gio.RealGioBot_1.0.jar", + "jar_sha256": "d2c253079cafb361191c31ce3ca5f20dfe92a4c06179f9f3b9a4bf3e79b3d865", + "key": "roborumble/gio.RealGioBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "5e1535e7c64aba59", + "observations": [ + { + "classic": { + "elapsed": 41.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gio.RealGioBot 1.0" + }, + "completed_at": "2026-09-12T12:46:09Z", + "confirmation": null, + "delta_pct": null, + "id": "5e1535e7c64aba59", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gio.RealGioBot 1.0", + "division": "roborumble", + "jar": "gio.RealGioBot_1.0.jar", + "jar_sha256": "d2c253079cafb361191c31ce3ca5f20dfe92a4c06179f9f3b9a4bf3e79b3d865", + "key": "roborumble/gio.RealGioBot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4629.0, + "scores": [ + 3009.0, + 1620.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gjr.Cephalosporin_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gjr.Cephalosporin 0.2", + "division": "roborumble", + "jar": "gjr.Cephalosporin_0.2.jar", + "jar_sha256": "8133810e4ce3b00dd583b3344dd942607a2666861d160d8d2d422e11953d6369", + "key": "roborumble/gjr.Cephalosporin_0.2.jar", + "kind": "robot" + }, + "latest_observation": "db03f6ffc0fe3874", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gjr.Cephalosporin 0.2" + }, + "completed_at": "2026-09-12T12:49:46Z", + "confirmation": null, + "delta_pct": null, + "id": "db03f6ffc0fe3874", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gjr.Cephalosporin 0.2", + "division": "roborumble", + "jar": "gjr.Cephalosporin_0.2.jar", + "jar_sha256": "8133810e4ce3b00dd583b3344dd942607a2666861d160d8d2d422e11953d6369", + "key": "roborumble/gjr.Cephalosporin_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 174.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": true, + "ok": true, + "score": 10497.0, + "scores": [ + 5409.0, + 5088.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/goblin.Bender_2.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "goblin.Bender 2.4", + "division": "roborumble", + "jar": "goblin.Bender_2.4.jar", + "jar_sha256": "8d07c7e25d7f1ab4fc98fae2df726866a7650be386db86daf6310d2f1c4bf7e0", + "key": "roborumble/goblin.Bender_2.4.jar", + "kind": "robot" + }, + "latest_observation": "c974dc2f04983d30", + "observations": [ + { + "classic": { + "elapsed": 41.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "goblin.Bender 2.4" + }, + "completed_at": "2026-09-12T12:50:48Z", + "confirmation": null, + "delta_pct": null, + "id": "c974dc2f04983d30", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "goblin.Bender 2.4", + "division": "roborumble", + "jar": "goblin.Bender_2.4.jar", + "jar_sha256": "8d07c7e25d7f1ab4fc98fae2df726866a7650be386db86daf6310d2f1c4bf7e0", + "key": "roborumble/goblin.Bender_2.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6585.0, + "scores": [ + 3577.0, + 3008.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gre.svman4.Leonidas_1.3.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gre.svman4.Leonidas 1.3.2", + "division": "roborumble", + "jar": "gre.svman4.Leonidas_1.3.2.jar", + "jar_sha256": "0e4775eaa84ab348168b94c608810a0430353fcc3cafcf052ad3a7a78b2a53a8", + "key": "roborumble/gre.svman4.Leonidas_1.3.2.jar", + "kind": "robot" + }, + "latest_observation": "58b0a10a9eac6c89", + "observations": [ + { + "classic": { + "elapsed": 42.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gre.svman4.Leonidas 1.3.2" + }, + "completed_at": "2026-09-12T12:51:52Z", + "confirmation": null, + "delta_pct": null, + "id": "58b0a10a9eac6c89", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gre.svman4.Leonidas 1.3.2", + "division": "roborumble", + "jar": "gre.svman4.Leonidas_1.3.2.jar", + "jar_sha256": "0e4775eaa84ab348168b94c608810a0430353fcc3cafcf052ad3a7a78b2a53a8", + "key": "roborumble/gre.svman4.Leonidas_1.3.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5601.0, + "scores": [ + 2852.0, + 2749.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gre.svman4.Morfeas_1.4.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gre.svman4.Morfeas 1.4.3", + "division": "roborumble", + "jar": "gre.svman4.Morfeas_1.4.3.jar", + "jar_sha256": "eb0b9e69c2cb375ac58906103cf72cb15d5fd8128e6d56a09e145961c935648c", + "key": "roborumble/gre.svman4.Morfeas_1.4.3.jar", + "kind": "robot" + }, + "latest_observation": "414e70d87bc5aa3d", + "observations": [ + { + "classic": { + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gre.svman4.Morfeas 1.4.3" + }, + "completed_at": "2026-09-12T12:52:43Z", + "confirmation": null, + "delta_pct": null, + "id": "414e70d87bc5aa3d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gre.svman4.Morfeas 1.4.3", + "division": "roborumble", + "jar": "gre.svman4.Morfeas_1.4.3.jar", + "jar_sha256": "eb0b9e69c2cb375ac58906103cf72cb15d5fd8128e6d56a09e145961c935648c", + "key": "roborumble/gre.svman4.Morfeas_1.4.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.util.ConcurrentModificationException", + "gre.svman4.Morfeas.updateMineWaves" + ] + ], + "elapsed": 8.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.util.ConcurrentModificationException", + "origin": "gre.svman4.Morfeas.updateMineWaves" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.util.ConcurrentModificationException", + "java.util.ConcurrentModificationException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/grybgoofy.GoofyBot_0.10.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "grybgoofy.GoofyBot 0.10", + "division": "roborumble", + "jar": "grybgoofy.GoofyBot_0.10.jar", + "jar_sha256": "483a31a648d051d9a856f78f266243a6b0c6ffe473100a85c7b3f8fae519578f", + "key": "roborumble/grybgoofy.GoofyBot_0.10.jar", + "kind": "robot" + }, + "latest_observation": "8ca01ec24f3ecc76", + "observations": [ + { + "classic": { + "elapsed": 41.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "grybgoofy.GoofyBot 0.10" + }, + "completed_at": "2026-09-12T12:53:49Z", + "confirmation": null, + "delta_pct": null, + "id": "8ca01ec24f3ecc76", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "grybgoofy.GoofyBot 0.10", + "division": "roborumble", + "jar": "grybgoofy.GoofyBot_0.10.jar", + "jar_sha256": "483a31a648d051d9a856f78f266243a6b0c6ffe473100a85c7b3f8fae519578f", + "key": "roborumble/grybgoofy.GoofyBot_0.10.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4685.0, + "scores": [ + 2612.0, + 2073.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gtf.robocode.Strafer_2.1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gtf.robocode.Strafer 2.1.1", + "division": "roborumble", + "jar": "gtf.robocode.Strafer_2.1.1.jar", + "jar_sha256": "65b4a500b9eed77a144f49be8771db1f47c3efca36c05fb516fcfaaaebe7b9d5", + "key": "roborumble/gtf.robocode.Strafer_2.1.1.jar", + "kind": "robot" + }, + "latest_observation": "1b9743c2f5eaa391", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gtf.robocode.Strafer 2.1.1" + }, + "completed_at": "2026-09-12T12:56:40Z", + "confirmation": null, + "delta_pct": null, + "id": "1b9743c2f5eaa391", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gtf.robocode.Strafer 2.1.1", + "division": "roborumble", + "jar": "gtf.robocode.Strafer_2.1.1.jar", + "jar_sha256": "65b4a500b9eed77a144f49be8771db1f47c3efca36c05fb516fcfaaaebe7b9d5", + "key": "roborumble/gtf.robocode.Strafer_2.1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7902.0, + "scores": [ + 4556.0, + 3346.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gu.MicroScoob_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gu.MicroScoob 1.3", + "division": "roborumble", + "jar": "gu.MicroScoob_1.3.jar", + "jar_sha256": "b2aeac440b86df093f7badbba3423a85844aae98ae04c5081217bbfa68864dbe", + "key": "roborumble/gu.MicroScoob_1.3.jar", + "kind": "robot" + }, + "latest_observation": "7c0c54c5c13d5050", + "observations": [ + { + "classic": { + "elapsed": 41.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gu.MicroScoob 1.3" + }, + "completed_at": "2026-09-12T12:57:34Z", + "confirmation": null, + "delta_pct": null, + "id": "7c0c54c5c13d5050", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gu.MicroScoob 1.3", + "division": "roborumble", + "jar": "gu.MicroScoob_1.3.jar", + "jar_sha256": "b2aeac440b86df093f7badbba3423a85844aae98ae04c5081217bbfa68864dbe", + "key": "roborumble/gu.MicroScoob_1.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6979.0, + "scores": [ + 3568.0, + 3411.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gwah.GBotMarkIV_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gwah.GBotMarkIV 1.0", + "division": "roborumble", + "jar": "gwah.GBotMarkIV_1.0.jar", + "jar_sha256": "6f4819d2206c5546bf8f5fbfc49cb3bab648974c1cff09b312f08e1449fff376", + "key": "roborumble/gwah.GBotMarkIV_1.0.jar", + "kind": "robot" + }, + "latest_observation": "8b1a6bdf876ed094", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gwah.GBotMarkIV 1.0" + }, + "completed_at": "2026-09-12T12:58:28Z", + "confirmation": null, + "delta_pct": null, + "id": "8b1a6bdf876ed094", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "975ed11a8fa5482146838f0a66158ca83039c548", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gwah.GBotMarkIV 1.0", + "division": "roborumble", + "jar": "gwah.GBotMarkIV_1.0.jar", + "jar_sha256": "6f4819d2206c5546bf8f5fbfc49cb3bab648974c1cff09b312f08e1449fff376", + "key": "roborumble/gwah.GBotMarkIV_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11187.0, + "scores": [ + 5781.0, + 5406.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/gwah.GerryBotMkII_1.5.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "gwah.GerryBotMkII 1.5.1", + "division": "roborumble", + "jar": "gwah.GerryBotMkII_1.5.1.jar", + "jar_sha256": "5fd6745b4f1cde058c3d7f173f9604363a5987982c481936bf7921008da4d636", + "key": "roborumble/gwah.GerryBotMkII_1.5.1.jar", + "kind": "robot" + }, + "latest_observation": "f10a31cfcd02142e", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "gwah.GerryBotMkII 1.5.1" + }, + "completed_at": "2026-09-12T12:59:51Z", + "confirmation": null, + "delta_pct": null, + "id": "f10a31cfcd02142e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "cdeb97a7486f788656e31a106d90923338945175", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "gwah.GerryBotMkII 1.5.1", + "division": "roborumble", + "jar": "gwah.GerryBotMkII_1.5.1.jar", + "jar_sha256": "5fd6745b4f1cde058c3d7f173f9604363a5987982c481936bf7921008da4d636", + "key": "roborumble/gwah.GerryBotMkII_1.5.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11902.0, + "scores": [ + 6073.0, + 5829.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/ha2.T2_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ha2.T2 0.2", + "division": "roborumble", + "jar": "ha2.T2_0.2.jar", + "jar_sha256": "b78c42b9d141f769d3b31180fad786e32627175d114b87bc12d223eb7734dcb9", + "key": "roborumble/ha2.T2_0.2.jar", + "kind": "robot" + }, + "latest_observation": "1bece4ef2e0c4719", + "observations": [ + { + "classic": { + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "ha2.T2 0.2" + }, + "completed_at": "2026-09-12T13:00:55Z", + "confirmation": null, + "delta_pct": null, + "id": "1bece4ef2e0c4719", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "cdeb97a7486f788656e31a106d90923338945175", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ha2.T2 0.2", + "division": "roborumble", + "jar": "ha2.T2_0.2.jar", + "jar_sha256": "b78c42b9d141f769d3b31180fad786e32627175d114b87bc12d223eb7734dcb9", + "key": "roborumble/ha2.T2_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4932.0, + "scores": [ + 2866.0, + 2066.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/ha2.T2b_0.2b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ha2.T2b 0.2b", + "division": "roborumble", + "jar": "ha2.T2b_0.2b.jar", + "jar_sha256": "5f54c1a8bf8e4ed7d8ccc358241310fcebaff1f037156ec3729ac58a0df80b17", + "key": "roborumble/ha2.T2b_0.2b.jar", + "kind": "robot" + }, + "latest_observation": "15ea51b55ba7e79a", + "observations": [ + { + "classic": { + "elapsed": 41.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "ha2.T2b 0.2b" + }, + "completed_at": "2026-09-12T13:01:56Z", + "confirmation": null, + "delta_pct": null, + "id": "15ea51b55ba7e79a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "cdeb97a7486f788656e31a106d90923338945175", + "official_parameters": true, + "tank_royale_commit": "a553d8069e3f67e8711f0a3e976c339f389faec8", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ha2.T2b 0.2b", + "division": "roborumble", + "jar": "ha2.T2b_0.2b.jar", + "jar_sha256": "5f54c1a8bf8e4ed7d8ccc358241310fcebaff1f037156ec3729ac58a0df80b17", + "key": "roborumble/ha2.T2b_0.2b.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5434.0, + "scores": [ + 2860.0, + 2574.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/ha2.T3_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ha2.T3 0.1", + "division": "roborumble", + "jar": "ha2.T3_0.1.jar", + "jar_sha256": "4a0fe8d4a2a9f29a7a812a500bd6da9423913846cb512d3b1168fc83ba621474", + "key": "roborumble/ha2.T3_0.1.jar", + "kind": "robot" + }, + "latest_observation": "2c1320bf09ac71d5", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7607.0, + "scores": [ + 3650.0, + 3957.0 + ], + "selected": "ha2.T3 0.1" + }, + "completed_at": "2026-09-12T15:21:26Z", + "confirmation": null, + "delta_pct": -16.9, + "id": "2c1320bf09ac71d5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ha2.T3 0.1", + "division": "roborumble", + "jar": "ha2.T3_0.1.jar", + "jar_sha256": "4a0fe8d4a2a9f29a7a812a500bd6da9423913846cb512d3b1168fc83ba621474", + "key": "roborumble/ha2.T3_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6318.0, + "scores": [ + 3622.0, + 2696.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ha2.T3_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ha2.T3 0.2", + "division": "roborumble", + "jar": "ha2.T3_0.2.jar", + "jar_sha256": "67a27f0941ceeaf22041c6497011dead138b8923a95dc5cb131b567ff46c9ce6", + "key": "roborumble/ha2.T3_0.2.jar", + "kind": "robot" + }, + "latest_observation": "d16bed013eca821a", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7674.0, + "scores": [ + 3994.0, + 3680.0 + ], + "selected": "ha2.T3 0.2" + }, + "completed_at": "2026-09-12T15:21:47Z", + "confirmation": null, + "delta_pct": -38.1, + "id": "d16bed013eca821a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ha2.T3 0.2", + "division": "roborumble", + "jar": "ha2.T3_0.2.jar", + "jar_sha256": "67a27f0941ceeaf22041c6497011dead138b8923a95dc5cb131b567ff46c9ce6", + "key": "roborumble/ha2.T3_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4747.0, + "scores": [ + 2808.0, + 1939.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/hamilton.Hamilton_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hamilton.Hamilton 1.0", + "division": "roborumble", + "jar": "hamilton.Hamilton_1.0.jar", + "jar_sha256": "44e24726c69ef7fdc4ee3e18abd393c83d01e214d81cf5da79d4b5e7dd4b4cf0", + "key": "roborumble/hamilton.Hamilton_1.0.jar", + "kind": "robot" + }, + "latest_observation": "11c09b304e986c4d", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6929.0, + "scores": [ + 3406.0, + 3523.0 + ], + "selected": "hamilton.Hamilton 1.0" + }, + "completed_at": "2026-09-12T15:22:09Z", + "confirmation": null, + "delta_pct": -14.7, + "id": "11c09b304e986c4d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hamilton.Hamilton 1.0", + "division": "roborumble", + "jar": "hamilton.Hamilton_1.0.jar", + "jar_sha256": "44e24726c69ef7fdc4ee3e18abd393c83d01e214d81cf5da79d4b5e7dd4b4cf0", + "key": "roborumble/hamilton.Hamilton_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5910.0, + "scores": [ + 3596.0, + 2314.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/hapiel.Spiral_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hapiel.Spiral 0.1", + "division": "roborumble", + "jar": "hapiel.Spiral_0.1.jar", + "jar_sha256": "31ee6d627d0b4bdc3edf15c6175f8cd5b79144156b8e3e7bf03b8b138039224e", + "key": "roborumble/hapiel.Spiral_0.1.jar", + "kind": "robot" + }, + "latest_observation": "fdb4c259f116e43f", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6888.0, + "scores": [ + 3080.0, + 3808.0 + ], + "selected": "hapiel.Spiral 0.1" + }, + "completed_at": "2026-09-12T15:22:32Z", + "confirmation": null, + "delta_pct": -12.4, + "id": "fdb4c259f116e43f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hapiel.Spiral 0.1", + "division": "roborumble", + "jar": "hapiel.Spiral_0.1.jar", + "jar_sha256": "31ee6d627d0b4bdc3edf15c6175f8cd5b79144156b8e3e7bf03b8b138039224e", + "key": "roborumble/hapiel.Spiral_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6031.0, + "scores": [ + 3367.0, + 2664.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/hfgrobots.HFG_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hfgrobots.HFG 1.0", + "division": "roborumble", + "jar": "hfgrobots.HFG_1.0.jar", + "jar_sha256": "ba26b277f95c9e06b2bb5f2cc54d9a2cb9e9c292c2b74920c41261a172c183ed", + "key": "roborumble/hfgrobots.HFG_1.0.jar", + "kind": "robot" + }, + "latest_observation": "6421835506f37155", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6203.0, + "scores": [ + 3549.0, + 2654.0 + ], + "selected": "hfgrobots.HFG 1.0" + }, + "completed_at": "2026-09-12T15:23:24Z", + "confirmation": null, + "delta_pct": -25.4, + "id": "6421835506f37155", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hfgrobots.HFG 1.0", + "division": "roborumble", + "jar": "hfgrobots.HFG_1.0.jar", + "jar_sha256": "ba26b277f95c9e06b2bb5f2cc54d9a2cb9e9c292c2b74920c41261a172c183ed", + "key": "roborumble/hfgrobots.HFG_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4625.0, + "scores": [ + 2353.0, + 2272.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/hirataatsushi.Neo_1.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hirataatsushi.Neo 1.6", + "division": "roborumble", + "jar": "hirataatsushi.Neo_1.6.jar", + "jar_sha256": "7ea03263674849d2267534910a437681b03cccea9e0d780da8396dda1f329aab", + "key": "roborumble/hirataatsushi.Neo_1.6.jar", + "kind": "robot" + }, + "latest_observation": "1a0cfd2f9819f9a5", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6736.0, + "scores": [ + 3077.0, + 3659.0 + ], + "selected": "hirataatsushi.Neo 1.6" + }, + "completed_at": "2026-09-12T15:23:50Z", + "confirmation": null, + "delta_pct": -9.7, + "id": "1a0cfd2f9819f9a5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hirataatsushi.Neo 1.6", + "division": "roborumble", + "jar": "hirataatsushi.Neo_1.6.jar", + "jar_sha256": "7ea03263674849d2267534910a437681b03cccea9e0d780da8396dda1f329aab", + "key": "roborumble/hirataatsushi.Neo_1.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6082.0, + "scores": [ + 3580.0, + 2502.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/hirataatsushi.Trinity_0.003.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hirataatsushi.Trinity 0.003", + "division": "roborumble", + "jar": "hirataatsushi.Trinity_0.003.jar", + "jar_sha256": "5b6d12ac830c29781d82ac489b1997427fe6b9ae1601c4dc1b22134ef4a6dbb2", + "key": "roborumble/hirataatsushi.Trinity_0.003.jar", + "kind": "robot" + }, + "latest_observation": "acff8e25afd66c29", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10388.0, + "scores": [ + 5371.0, + 5017.0 + ], + "selected": "hirataatsushi.Trinity 0.003" + }, + "completed_at": "2026-09-12T15:24:19Z", + "confirmation": null, + "delta_pct": -58.0, + "id": "acff8e25afd66c29", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hirataatsushi.Trinity 0.003", + "division": "roborumble", + "jar": "hirataatsushi.Trinity_0.003.jar", + "jar_sha256": "5b6d12ac830c29781d82ac489b1997427fe6b9ae1601c4dc1b22134ef4a6dbb2", + "key": "roborumble/hirataatsushi.Trinity_0.003.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4365.0, + "scores": [ + 2438.0, + 1927.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/hlavko.micro.Flex_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hlavko.micro.Flex 1.5", + "division": "roborumble", + "jar": "hlavko.micro.Flex_1.5.jar", + "jar_sha256": "c0483b78ec051e00d18a60f85c937aa7661498dd2872fb0078d9f6e3abb54ff5", + "key": "roborumble/hlavko.micro.Flex_1.5.jar", + "kind": "robot" + }, + "latest_observation": "c7bbcab70575bea1", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5883.0, + "scores": [ + 3152.0, + 2731.0 + ], + "selected": "hlavko.micro.Flex 1.5" + }, + "completed_at": "2026-09-12T15:24:36Z", + "confirmation": null, + "delta_pct": -43.5, + "id": "c7bbcab70575bea1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hlavko.micro.Flex 1.5", + "division": "roborumble", + "jar": "hlavko.micro.Flex_1.5.jar", + "jar_sha256": "c0483b78ec051e00d18a60f85c937aa7661498dd2872fb0078d9f6e3abb54ff5", + "key": "roborumble/hlavko.micro.Flex_1.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3324.0, + "scores": [ + 1857.0, + 1467.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/hlavko.nano.Phoenix_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hlavko.nano.Phoenix 1.0", + "division": "roborumble", + "jar": "hlavko.nano.Phoenix_1.0.jar", + "jar_sha256": "2822cec1660882ce44863533a292ca5616e9a0667f6d4512e3aef4f91996fe8b", + "key": "roborumble/hlavko.nano.Phoenix_1.0.jar", + "kind": "robot" + }, + "latest_observation": "c439627c649a2174", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5628.0, + "scores": [ + 2620.0, + 3008.0 + ], + "selected": "hlavko.nano.Phoenix 1.0" + }, + "completed_at": "2026-09-12T15:24:53Z", + "confirmation": null, + "delta_pct": -4.2, + "id": "c439627c649a2174", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hlavko.nano.Phoenix 1.0", + "division": "roborumble", + "jar": "hlavko.nano.Phoenix_1.0.jar", + "jar_sha256": "2822cec1660882ce44863533a292ca5616e9a0667f6d4512e3aef4f91996fe8b", + "key": "roborumble/hlavko.nano.Phoenix_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5394.0, + "scores": [ + 2843.0, + 2551.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/hlavko.nano.Ringo_1.0d.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hlavko.nano.Ringo 1.0d", + "division": "roborumble", + "jar": "hlavko.nano.Ringo_1.0d.jar", + "jar_sha256": "d710d08626f906810cd06201d3d5dc0a19d8d8821c1bb5eb8e6ed87d9758ff92", + "key": "roborumble/hlavko.nano.Ringo_1.0d.jar", + "kind": "robot" + }, + "latest_observation": "db5b621b966317d5", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3625.0, + "scores": [ + 1919.0, + 1706.0 + ], + "selected": "hlavko.nano.Ringo 1.0d" + }, + "completed_at": "2026-09-12T15:25:14Z", + "confirmation": null, + "delta_pct": -7.6, + "id": "db5b621b966317d5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hlavko.nano.Ringo 1.0d", + "division": "roborumble", + "jar": "hlavko.nano.Ringo_1.0d.jar", + "jar_sha256": "d710d08626f906810cd06201d3d5dc0a19d8d8821c1bb5eb8e6ed87d9758ff92", + "key": "roborumble/hlavko.nano.Ringo_1.0d.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3351.0, + "scores": [ + 1815.0, + 1536.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/hlavko.nano.Ringo_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hlavko.nano.Ringo 2.0", + "division": "roborumble", + "jar": "hlavko.nano.Ringo_2.0.jar", + "jar_sha256": "ba30da9626ae7b3c83c57d65b121edad8d9c7c8342c7a688fdb2dbae33899b8b", + "key": "roborumble/hlavko.nano.Ringo_2.0.jar", + "kind": "robot" + }, + "latest_observation": "9924522cdf6df090", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3745.0, + "scores": [ + 1825.0, + 1920.0 + ], + "selected": "hlavko.nano.Ringo 2.0" + }, + "completed_at": "2026-09-12T15:25:39Z", + "confirmation": null, + "delta_pct": -25.8, + "id": "9924522cdf6df090", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hlavko.nano.Ringo 2.0", + "division": "roborumble", + "jar": "hlavko.nano.Ringo_2.0.jar", + "jar_sha256": "ba30da9626ae7b3c83c57d65b121edad8d9c7c8342c7a688fdb2dbae33899b8b", + "key": "roborumble/hlavko.nano.Ringo_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2778.0, + "scores": [ + 1550.0, + 1228.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/homerbots.h1_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "homerbots.h1 1.0", + "division": "roborumble", + "jar": "homerbots.h1_1.0.jar", + "jar_sha256": "8b91e5ab802399ed560116755d5e76340693bf35a8ea6a168355c20cc11036c9", + "key": "roborumble/homerbots.h1_1.0.jar", + "kind": "robot" + }, + "latest_observation": "02c3317ae696df0a", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8526.0, + "scores": [ + 3998.0, + 4528.0 + ], + "selected": "homerbots.h1 1.0" + }, + "completed_at": "2026-09-12T15:25:58Z", + "confirmation": null, + "delta_pct": -11.1, + "id": "02c3317ae696df0a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "homerbots.h1 1.0", + "division": "roborumble", + "jar": "homerbots.h1_1.0.jar", + "jar_sha256": "8b91e5ab802399ed560116755d5e76340693bf35a8ea6a168355c20cc11036c9", + "key": "roborumble/homerbots.h1_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7576.0, + "scores": [ + 4004.0, + 3572.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/hp.Athena_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hp.Athena 0.1", + "division": "roborumble", + "jar": "hp.Athena_0.1.jar", + "jar_sha256": "ff2aaf54e7e34fef3337d062d3b93bf942da76485b59eec49bb6eb440fdde85d", + "key": "roborumble/hp.Athena_0.1.jar", + "kind": "robot" + }, + "latest_observation": "07e6a55f655750ec", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5293.0, + "scores": [ + 2723.0, + 2570.0 + ], + "selected": "hp.Athena 0.1" + }, + "completed_at": "2026-09-12T15:26:19Z", + "confirmation": null, + "delta_pct": -11.5, + "id": "07e6a55f655750ec", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hp.Athena 0.1", + "division": "roborumble", + "jar": "hp.Athena_0.1.jar", + "jar_sha256": "ff2aaf54e7e34fef3337d062d3b93bf942da76485b59eec49bb6eb440fdde85d", + "key": "roborumble/hp.Athena_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4686.0, + "scores": [ + 2522.0, + 2164.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/hs.SimpleHBot_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hs.SimpleHBot 1.3", + "division": "roborumble", + "jar": "hs.SimpleHBot_1.3.jar", + "jar_sha256": "5ad20a1354f20e2964e33e95c2d5157f1ee97d6889d1c4fc2a8dc400306e78ca", + "key": "roborumble/hs.SimpleHBot_1.3.jar", + "kind": "robot" + }, + "latest_observation": "c9d49e297432faa4", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3590.0, + "scores": [ + 1456.0, + 2134.0 + ], + "selected": "hs.SimpleHBot 1.3" + }, + "completed_at": "2026-09-12T15:26:38Z", + "confirmation": null, + "delta_pct": 55.8, + "id": "c9d49e297432faa4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hs.SimpleHBot 1.3", + "division": "roborumble", + "jar": "hs.SimpleHBot_1.3.jar", + "jar_sha256": "5ad20a1354f20e2964e33e95c2d5157f1ee97d6889d1c4fc2a8dc400306e78ca", + "key": "roborumble/hs.SimpleHBot_1.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5594.0, + "scores": [ + 3182.0, + 2412.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/hvilela.HVilela_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "hvilela.HVilela 0.9", + "division": "roborumble", + "jar": "hvilela.HVilela_0.9.jar", + "jar_sha256": "819a94baaf051b689da9226a4939da6c14cff0d61d882cb86c6e5a8b4d9b1830", + "key": "roborumble/hvilela.HVilela_0.9.jar", + "kind": "robot" + }, + "latest_observation": "5e7d6ba86fc06b0e", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6525.0, + "scores": [ + 3389.0, + 3136.0 + ], + "selected": "hvilela.HVilela 0.9" + }, + "completed_at": "2026-09-12T15:26:55Z", + "confirmation": null, + "delta_pct": 63.3, + "id": "5e7d6ba86fc06b0e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "hvilela.HVilela 0.9", + "division": "roborumble", + "jar": "hvilela.HVilela_0.9.jar", + "jar_sha256": "819a94baaf051b689da9226a4939da6c14cff0d61d882cb86c6e5a8b4d9b1830", + "key": "roborumble/hvilela.HVilela_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10654.0, + "scores": [ + 5347.0, + 5307.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/infovk.s_schwarzm16.silverbird_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "infovk.s_schwarzm16.silverbird 1.0", + "division": "roborumble", + "jar": "infovk.s_schwarzm16.silverbird_1.0.jar", + "jar_sha256": "c161606a0fdf547ca5e2f4cae734b24c76672684fd360957658ca9cda7813853", + "key": "roborumble/infovk.s_schwarzm16.silverbird_1.0.jar", + "kind": "robot" + }, + "latest_observation": "e9631ba098d70dcb", + "observations": [ + { + "classic": { + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4737.0, + "scores": [ + 2444.0, + 2293.0 + ], + "selected": "infovk.s_schwarzm16.silverbird 1.0" + }, + "completed_at": "2026-09-12T15:28:13Z", + "confirmation": null, + "delta_pct": -11.1, + "id": "e9631ba098d70dcb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "infovk.s_schwarzm16.silverbird 1.0", + "division": "roborumble", + "jar": "infovk.s_schwarzm16.silverbird_1.0.jar", + "jar_sha256": "c161606a0fdf547ca5e2f4cae734b24c76672684fd360957658ca9cda7813853", + "key": "roborumble/infovk.s_schwarzm16.silverbird_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 48.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4213.0, + "scores": [ + 2251.0, + 1962.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ins.MobyNano_0.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ins.MobyNano 0.8", + "division": "roborumble", + "jar": "ins.MobyNano_0.8.jar", + "jar_sha256": "44edef1a56ef812ee1a7adddae4bcde2ad90350b466e72976fa8ba6acdf7e09f", + "key": "roborumble/ins.MobyNano_0.8.jar", + "kind": "robot" + }, + "latest_observation": "41a4925ee8539ff3", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4443.0, + "scores": [ + 2061.0, + 2382.0 + ], + "selected": "ins.MobyNano 0.8" + }, + "completed_at": "2026-09-12T15:28:28Z", + "confirmation": null, + "delta_pct": -32.1, + "id": "41a4925ee8539ff3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ins.MobyNano 0.8", + "division": "roborumble", + "jar": "ins.MobyNano_0.8.jar", + "jar_sha256": "44edef1a56ef812ee1a7adddae4bcde2ad90350b466e72976fa8ba6acdf7e09f", + "key": "roborumble/ins.MobyNano_0.8.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3016.0, + "scores": [ + 1778.0, + 1238.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/intruder.PrairieWolf_2.61.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "intruder.PrairieWolf 2.61", + "division": "roborumble", + "jar": "intruder.PrairieWolf_2.61.jar", + "jar_sha256": "5d0255e53502b53e2b1235f1b66d03a3b45d1680ead0b689f140f2a8d60b5309", + "key": "roborumble/intruder.PrairieWolf_2.61.jar", + "kind": "robot" + }, + "latest_observation": "a0d663f150aa09e7", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6310.0, + "scores": [ + 3150.0, + 3160.0 + ], + "selected": "intruder.PrairieWolf 2.61" + }, + "completed_at": "2026-09-12T15:28:52Z", + "confirmation": null, + "delta_pct": -6.9, + "id": "a0d663f150aa09e7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "intruder.PrairieWolf 2.61", + "division": "roborumble", + "jar": "intruder.PrairieWolf_2.61.jar", + "jar_sha256": "5d0255e53502b53e2b1235f1b66d03a3b45d1680ead0b689f140f2a8d60b5309", + "key": "roborumble/intruder.PrairieWolf_2.61.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5874.0, + "scores": [ + 3374.0, + 2500.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/is.fon.rs.FonDestroyer3084_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "is.fon.rs.FonDestroyer3084 1.0", + "division": "roborumble", + "jar": "is.fon.rs.FonDestroyer3084_1.0.jar", + "jar_sha256": "475e564a78e5e0ce2ea4bf7d6693108ab9ef4d03e64e11ba8d75f3aacedb4b68", + "key": "roborumble/is.fon.rs.FonDestroyer3084_1.0.jar", + "kind": "robot" + }, + "latest_observation": "fb46403241162b0e", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12695.0, + "scores": [ + 6362.0, + 6333.0 + ], + "selected": "is.fon.rs.FonDestroyer3084 1.0" + }, + "completed_at": "2026-09-12T15:29:04Z", + "confirmation": null, + "delta_pct": -21.5, + "id": "fb46403241162b0e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "is.fon.rs.FonDestroyer3084 1.0", + "division": "roborumble", + "jar": "is.fon.rs.FonDestroyer3084_1.0.jar", + "jar_sha256": "475e564a78e5e0ce2ea4bf7d6693108ab9ef4d03e64e11ba8d75f3aacedb4b68", + "key": "roborumble/is.fon.rs.FonDestroyer3084_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9970.0, + "scores": [ + 5635.0, + 4335.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/is.fon.rs.Kamikaza_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "is.fon.rs.Kamikaza 1.0", + "division": "roborumble", + "jar": "is.fon.rs.Kamikaza_1.0.jar", + "jar_sha256": "f3d1c49ba77584ee607ae1c7609b3857073207b0fd1506aef461f60fc1650ad1", + "key": "roborumble/is.fon.rs.Kamikaza_1.0.jar", + "kind": "robot" + }, + "latest_observation": "5e11553e3a29aca5", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7883.0, + "scores": [ + 3690.0, + 4193.0 + ], + "selected": "is.fon.rs.Kamikaza 1.0" + }, + "completed_at": "2026-09-12T15:29:27Z", + "confirmation": null, + "delta_pct": -15.9, + "id": "5e11553e3a29aca5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "is.fon.rs.Kamikaza 1.0", + "division": "roborumble", + "jar": "is.fon.rs.Kamikaza_1.0.jar", + "jar_sha256": "f3d1c49ba77584ee607ae1c7609b3857073207b0fd1506aef461f60fc1650ad1", + "key": "roborumble/is.fon.rs.Kamikaza_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6627.0, + "scores": [ + 3495.0, + 3132.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jaara.LambdaBot_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jaara.LambdaBot 1.1", + "division": "roborumble", + "jar": "jaara.LambdaBot_1.1.jar", + "jar_sha256": "26dcddde94bd22ff72976f227e22471f6046e8c572709d1444731159b4be5658", + "key": "roborumble/jaara.LambdaBot_1.1.jar", + "kind": "robot" + }, + "latest_observation": "0cd0ce600ce7a8cf", + "observations": [ + { + "classic": { + "elapsed": 16.0, + "error_count": 4, + "error_signatures": [], + "errors": [ + "Unable to stop thread: jaara.LambdaBot 1.1 (1)", + "Unable to stop thread: jaara.LambdaBot 1.1 (1)", + "Unable to stop thread: jaara.LambdaBot 1.1 (2)", + "Unable to stop thread: jaara.LambdaBot 1.1 (2)" + ], + "has_log": true, + "ok": true, + "score": 5685.0, + "scores": [ + 3009.0, + 2676.0 + ], + "selected": "jaara.LambdaBot 1.1" + }, + "completed_at": "2026-09-12T15:29:48Z", + "confirmation": null, + "delta_pct": null, + "id": "0cd0ce600ce7a8cf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jaara.LambdaBot 1.1", + "division": "roborumble", + "jar": "jaara.LambdaBot_1.1.jar", + "jar_sha256": "26dcddde94bd22ff72976f227e22471f6046e8c572709d1444731159b4be5658", + "key": "roborumble/jaara.LambdaBot_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "jaara.weaponSystem.WeaponSystem.run" + ] + ], + "elapsed": 4.1, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "jaara.waveSurfing.WaveSurfing.onEnemyFire" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "jaara.weaponSystem.WeaponSystem.run" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"jaara.engine.BotState.getLife()\" because \"this.enemy\" is null", + "java.lang.NullPointerException: Cannot invoke \"jaara.engine.BotState.getPosition()\" because \"this.stateLast\" is null", + "java.lang.NullPointerException: Cannot invoke \"jaara.engine.BotState.getLife()\" because \"this.enemy\" is null", + "java.lang.NullPointerException: Cannot invoke \"jaara.engine.BotState.getPosition()\" because \"this.stateLast\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/jab.DiamondStealer_5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jab.DiamondStealer 5", + "division": "roborumble", + "jar": "jab.DiamondStealer_5.jar", + "jar_sha256": "57f7348becec43c111d2e126240b30b5fdb8bc597ff18104df1cf07d67aaee5c", + "key": "roborumble/jab.DiamondStealer_5.jar", + "kind": "robot" + }, + "latest_observation": "09312469b177eef5", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8182.0, + "scores": [ + 4472.0, + 3710.0 + ], + "selected": "jab.DiamondStealer 5" + }, + "completed_at": "2026-09-12T15:30:17Z", + "confirmation": null, + "delta_pct": -8.7, + "id": "c01840135f4887d5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jab.DiamondStealer 5", + "division": "roborumble", + "jar": "jab.DiamondStealer_5.jar", + "jar_sha256": "57f7348becec43c111d2e126240b30b5fdb8bc597ff18104df1cf07d67aaee5c", + "key": "roborumble/jab.DiamondStealer_5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7474.0, + "scores": [ + 4051.0, + 3423.0 + ], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8292.0, + "scores": [ + 4181.0, + 4111.0 + ], + "selected": "jab.DiamondStealer 5" + }, + "completed_at": "2026-09-12T15:56:35Z", + "confirmation": null, + "delta_pct": -6.9, + "id": "09312469b177eef5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "b685c5548d337c44d5c03b92033e8901bb1a25a5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jab.DiamondStealer 5", + "division": "roborumble", + "jar": "jab.DiamondStealer_5.jar", + "jar_sha256": "57f7348becec43c111d2e126240b30b5fdb8bc597ff18104df1cf07d67aaee5c", + "key": "roborumble/jab.DiamondStealer_5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7719.0, + "scores": [ + 4270.0, + 3449.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jab.avk.ManuelGallegus_0.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jab.avk.ManuelGallegus 0.6", + "division": "roborumble", + "jar": "jab.avk.ManuelGallegus_0.6.jar", + "jar_sha256": "b013f09379f35aba7b8fd4f95c8ff7f638f1f5e214984fd4f8435f07933a5f37", + "key": "roborumble/jab.avk.ManuelGallegus_0.6.jar", + "kind": "robot" + }, + "latest_observation": "a39df0f593fe2025", + "observations": [ + { + "classic": { + "elapsed": 4.3, + "error_count": 4, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "unknown" + } + ], + "errors": [ + "Error writing factors:java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Error writing factors:java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Error writing factors:java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Error writing factors:java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": true, + "score": 5287.0, + "scores": [ + 2802.0, + 2485.0 + ], + "selected": "jab.avk.ManuelGallegus 0.6" + }, + "completed_at": "2026-09-12T15:29:59Z", + "confirmation": null, + "delta_pct": null, + "id": "a39df0f593fe2025", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "5939e54be425d8aca0dd5e69f96538773a8fdc8a", + "official_parameters": true, + "tank_royale_commit": "c3cb68981528224e01ffdabef4f0673f3d504681", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jab.avk.ManuelGallegus 0.6", + "division": "roborumble", + "jar": "jab.avk.ManuelGallegus_0.6.jar", + "jar_sha256": "b013f09379f35aba7b8fd4f95c8ff7f638f1f5e214984fd4f8435f07933a5f37", + "key": "roborumble/jab.avk.ManuelGallegus_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "jab.avk.targeting.GuessFactor.calculateSegments" + ], + [ + "java.lang.NullPointerException", + "jab.avk.targeting.GuessFactor.listen" + ] + ], + "elapsed": 6.2, + "error_count": 7, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "jab.avk.targeting.GuessFactor.calculateSegments" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "jab.avk.targeting.GuessFactor.listen" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot read field \"distance\" because \"this.bot.enemy\" is null", + "java.lang.NullPointerException: Cannot read field \"distance\" because \"this.bot.enemy\" is null", + "java.lang.NullPointerException: Cannot read field \"distance\" because \"this.bot.enemy\" is null", + "java.lang.NullPointerException: Cannot read field \"x\" because \"this.bot.enemy\" is null", + "java.lang.NullPointerException: Cannot read field \"x\" because \"this.bot.enemy\" is null", + "java.lang.NullPointerException: Cannot read field \"distance\" because \"this.bot.enemy\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/jab.micro.Sanguijuela_0.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jab.micro.Sanguijuela 0.8", + "division": "roborumble", + "jar": "jab.micro.Sanguijuela_0.8.jar", + "jar_sha256": "f4a0381c0d57dc69ed41162117c417f07e8ca6b35812ddfacec8b8273c41129c", + "key": "roborumble/jab.micro.Sanguijuela_0.8.jar", + "kind": "robot" + }, + "latest_observation": "ebb7d7c721bd2a3d", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10701.0, + "scores": [ + 5612.0, + 5089.0 + ], + "selected": "jab.micro.Sanguijuela 0.8" + }, + "completed_at": "2026-09-12T15:57:15Z", + "confirmation": null, + "delta_pct": 57.3, + "id": "ebb7d7c721bd2a3d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jab.micro.Sanguijuela 0.8", + "division": "roborumble", + "jar": "jab.micro.Sanguijuela_0.8.jar", + "jar_sha256": "f4a0381c0d57dc69ed41162117c417f07e8ca6b35812ddfacec8b8273c41129c", + "key": "roborumble/jab.micro.Sanguijuela_0.8.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 16828.0, + "scores": [ + 8503.0, + 8325.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jaemcrb.nano.M1Abrams_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jaemcrb.nano.M1Abrams 1.0", + "division": "roborumble", + "jar": "jaemcrb.nano.M1Abrams_1.0.jar", + "jar_sha256": "833cb9161e37c4d39f92e3b4337cd1ad6a1090551332d6545996ccd918348f40", + "key": "roborumble/jaemcrb.nano.M1Abrams_1.0.jar", + "kind": "robot" + }, + "latest_observation": "8de62d1e1e93edfe", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6262.0, + "scores": [ + 2912.0, + 3350.0 + ], + "selected": "jaemcrb.nano.M1Abrams 1.0" + }, + "completed_at": "2026-09-12T15:57:34Z", + "confirmation": null, + "delta_pct": -14.1, + "id": "8de62d1e1e93edfe", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jaemcrb.nano.M1Abrams 1.0", + "division": "roborumble", + "jar": "jaemcrb.nano.M1Abrams_1.0.jar", + "jar_sha256": "833cb9161e37c4d39f92e3b4337cd1ad6a1090551332d6545996ccd918348f40", + "key": "roborumble/jaemcrb.nano.M1Abrams_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5379.0, + "scores": [ + 2861.0, + 2518.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jam.RaikoMX_0.32.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jam.RaikoMX 0.32", + "division": "roborumble", + "jar": "jam.RaikoMX_0.32.jar", + "jar_sha256": "e2047cb138e8cf7640031994ace43dc931cb2deeb661e04042b357335d086b07", + "key": "roborumble/jam.RaikoMX_0.32.jar", + "kind": "robot" + }, + "latest_observation": "eca974fa0fd37a28", + "observations": [ + { + "classic": { + "elapsed": 5.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4351.0, + "scores": [ + 2185.0, + 2166.0 + ], + "selected": "jam.RaikoMX 0.32" + }, + "completed_at": "2026-09-12T15:58:58Z", + "confirmation": null, + "delta_pct": -6.0, + "id": "eca974fa0fd37a28", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jam.RaikoMX 0.32", + "division": "roborumble", + "jar": "jam.RaikoMX_0.32.jar", + "jar_sha256": "e2047cb138e8cf7640031994ace43dc931cb2deeb661e04042b357335d086b07", + "key": "roborumble/jam.RaikoMX_0.32.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4088.0, + "scores": [ + 2127.0, + 1961.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jam.micro.RaikoMicro_1.44.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jam.micro.RaikoMicro 1.44", + "division": "roborumble", + "jar": "jam.micro.RaikoMicro_1.44.jar", + "jar_sha256": "cebe7fd4c3e2946803a3725cd2393b0ce7ae91e358cea41932cf8713ccb50be6", + "key": "roborumble/jam.micro.RaikoMicro_1.44.jar", + "kind": "robot" + }, + "latest_observation": "3bfa49fd33c336b4", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4772.0, + "scores": [ + 2900.0, + 1872.0 + ], + "selected": "jam.micro.RaikoMicro 1.44" + }, + "completed_at": "2026-09-12T15:57:59Z", + "confirmation": null, + "delta_pct": -15.1, + "id": "3bfa49fd33c336b4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jam.micro.RaikoMicro 1.44", + "division": "roborumble", + "jar": "jam.micro.RaikoMicro_1.44.jar", + "jar_sha256": "cebe7fd4c3e2946803a3725cd2393b0ce7ae91e358cea41932cf8713ccb50be6", + "key": "roborumble/jam.micro.RaikoMicro_1.44.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4051.0, + "scores": [ + 2337.0, + 1714.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jam.mini.Raiko_0.43.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jam.mini.Raiko 0.43", + "division": "roborumble", + "jar": "jam.mini.Raiko_0.43.jar", + "jar_sha256": "48479846001b8805b1915bae68686f2ef8455248deac87d1c31ca6593a74d086", + "key": "roborumble/jam.mini.Raiko_0.43.jar", + "kind": "robot" + }, + "latest_observation": "6e101daed7168592", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5125.0, + "scores": [ + 2759.0, + 2366.0 + ], + "selected": "jam.mini.Raiko 0.43" + }, + "completed_at": "2026-09-12T15:58:29Z", + "confirmation": null, + "delta_pct": -59.2, + "id": "6e101daed7168592", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jam.mini.Raiko 0.43", + "division": "roborumble", + "jar": "jam.mini.Raiko_0.43.jar", + "jar_sha256": "48479846001b8805b1915bae68686f2ef8455248deac87d1c31ca6593a74d086", + "key": "roborumble/jam.mini.Raiko_0.43.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2090.0, + "scores": [ + 1059.0, + 1031.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/janm.Jammy_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "janm.Jammy 1.0", + "division": "roborumble", + "jar": "janm.Jammy_1.0.jar", + "jar_sha256": "a1b683e7a7495f3c766b8ed5a2cafaae1b41c06d3ad2ddb17206926ca022f704", + "key": "roborumble/janm.Jammy_1.0.jar", + "kind": "robot" + }, + "latest_observation": "d7331a446c291ea1", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10462.0, + "scores": [ + 5452.0, + 5010.0 + ], + "selected": "janm.Jammy 1.0" + }, + "completed_at": "2026-09-12T15:59:13Z", + "confirmation": null, + "delta_pct": -6.4, + "id": "d7331a446c291ea1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "janm.Jammy 1.0", + "division": "roborumble", + "jar": "janm.Jammy_1.0.jar", + "jar_sha256": "a1b683e7a7495f3c766b8ed5a2cafaae1b41c06d3ad2ddb17206926ca022f704", + "key": "roborumble/janm.Jammy_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9792.0, + "scores": [ + 5136.0, + 4656.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/japs.Serenity_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "japs.Serenity 1.0", + "division": "roborumble", + "jar": "japs.Serenity_1.0.jar", + "jar_sha256": "e2fba2dc830ba402135252034f90e6967f89c16a5792edd949ddf6255382e72d", + "key": "roborumble/japs.Serenity_1.0.jar", + "kind": "robot" + }, + "latest_observation": "f3a42e32015e55aa", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9239.0, + "scores": [ + 4767.0, + 4472.0 + ], + "selected": "japs.Serenity 1.0" + }, + "completed_at": "2026-09-12T15:59:42Z", + "confirmation": null, + "delta_pct": -39.8, + "id": "f3a42e32015e55aa", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "japs.Serenity 1.0", + "division": "roborumble", + "jar": "japs.Serenity_1.0.jar", + "jar_sha256": "e2fba2dc830ba402135252034f90e6967f89c16a5792edd949ddf6255382e72d", + "key": "roborumble/japs.Serenity_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5561.0, + "scores": [ + 2992.0, + 2569.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/japs.Sjonniebot_0.9.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "japs.Sjonniebot 0.9.1", + "division": "roborumble", + "jar": "japs.Sjonniebot_0.9.1.jar", + "jar_sha256": "d1222b83e7bf6b8028ca637593864e7f6fdce4b754d48eb48b8db69ef64ba2f1", + "key": "roborumble/japs.Sjonniebot_0.9.1.jar", + "kind": "robot" + }, + "latest_observation": "9b13ea94574add37", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7631.0, + "scores": [ + 4015.0, + 3616.0 + ], + "selected": "japs.Sjonniebot 0.9.1" + }, + "completed_at": "2026-09-12T15:59:58Z", + "confirmation": null, + "delta_pct": -6.2, + "id": "9b13ea94574add37", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "japs.Sjonniebot 0.9.1", + "division": "roborumble", + "jar": "japs.Sjonniebot_0.9.1.jar", + "jar_sha256": "d1222b83e7bf6b8028ca637593864e7f6fdce4b754d48eb48b8db69ef64ba2f1", + "key": "roborumble/japs.Sjonniebot_0.9.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7161.0, + "scores": [ + 3938.0, + 3223.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jasolo.Sonda_0.55.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jasolo.Sonda 0.55", + "division": "roborumble", + "jar": "jasolo.Sonda_0.55.jar", + "jar_sha256": "affec01ce6d5cea5fc67dbf3d1de3ac2a46856d10d1448f8d2c50e1bc4ca8d36", + "key": "roborumble/jasolo.Sonda_0.55.jar", + "kind": "robot" + }, + "latest_observation": "01203ed3d41f66cd", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5178.0, + "scores": [ + 2835.0, + 2343.0 + ], + "selected": "jasolo.Sonda 0.55" + }, + "completed_at": "2026-09-12T16:00:20Z", + "confirmation": null, + "delta_pct": 13.3, + "id": "01203ed3d41f66cd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jasolo.Sonda 0.55", + "division": "roborumble", + "jar": "jasolo.Sonda_0.55.jar", + "jar_sha256": "affec01ce6d5cea5fc67dbf3d1de3ac2a46856d10d1448f8d2c50e1bc4ca8d36", + "key": "roborumble/jasolo.Sonda_0.55.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5869.0, + "scores": [ + 3072.0, + 2797.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jaw.KarenCain_0.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jaw.KarenCain 0.11", + "division": "roborumble", + "jar": "jaw.KarenCain_0.11.jar", + "jar_sha256": "32675c69a5984c6e30c48661439b6ed08bf230faafe791171e075d6a052a3345", + "key": "roborumble/jaw.KarenCain_0.11.jar", + "kind": "robot" + }, + "latest_observation": "a6b474d3d5900dca", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5240.0, + "scores": [ + 2796.0, + 2444.0 + ], + "selected": "jaw.KarenCain 0.11" + }, + "completed_at": "2026-09-12T16:00:37Z", + "confirmation": null, + "delta_pct": -6.0, + "id": "a6b474d3d5900dca", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jaw.KarenCain 0.11", + "division": "roborumble", + "jar": "jaw.KarenCain_0.11.jar", + "jar_sha256": "32675c69a5984c6e30c48661439b6ed08bf230faafe791171e075d6a052a3345", + "key": "roborumble/jaw.KarenCain_0.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4926.0, + "scores": [ + 2729.0, + 2197.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jaw.Mouse_0.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jaw.Mouse 0.11", + "division": "roborumble", + "jar": "jaw.Mouse_0.11.jar", + "jar_sha256": "4d0831cd8fbecee5c164a244d3a03e5e7c903409b006e1fae436833475f295ab", + "key": "roborumble/jaw.Mouse_0.11.jar", + "kind": "robot" + }, + "latest_observation": "5bdee286f6b42607", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6713.0, + "scores": [ + 3077.0, + 3636.0 + ], + "selected": "jaw.Mouse 0.11" + }, + "completed_at": "2026-09-12T16:00:54Z", + "confirmation": null, + "delta_pct": -7.5, + "id": "5bdee286f6b42607", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jaw.Mouse 0.11", + "division": "roborumble", + "jar": "jaw.Mouse_0.11.jar", + "jar_sha256": "4d0831cd8fbecee5c164a244d3a03e5e7c903409b006e1fae436833475f295ab", + "key": "roborumble/jaw.Mouse_0.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6207.0, + "scores": [ + 3140.0, + 3067.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jaybot.adv.bots.JayBot_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jaybot.adv.bots.JayBot 2.0", + "division": "roborumble", + "jar": "jaybot.adv.bots.JayBot_2.0.jar", + "jar_sha256": "9405e86238871b8a0a89e8e9f82e56ed67e351f2d079051c8e540e162d5de5b4", + "key": "roborumble/jaybot.adv.bots.JayBot_2.0.jar", + "kind": "robot" + }, + "latest_observation": "7ee52bd421251e91", + "observations": [ + { + "classic": { + "elapsed": 6.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6350.0, + "scores": [ + 3047.0, + 3303.0 + ], + "selected": "jaybot.adv.bots.JayBot 2.0" + }, + "completed_at": "2026-09-12T16:01:17Z", + "confirmation": null, + "delta_pct": -10.9, + "id": "7ee52bd421251e91", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jaybot.adv.bots.JayBot 2.0", + "division": "roborumble", + "jar": "jaybot.adv.bots.JayBot_2.0.jar", + "jar_sha256": "9405e86238871b8a0a89e8e9f82e56ed67e351f2d079051c8e540e162d5de5b4", + "key": "roborumble/jaybot.adv.bots.JayBot_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5659.0, + "scores": [ + 2857.0, + 2802.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jaybot.bots.Oddball_4.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jaybot.bots.Oddball 4.0", + "division": "roborumble", + "jar": "jaybot.bots.Oddball_4.0.jar", + "jar_sha256": "12d0d549ecee200b1bb2a0b9dcd0774ca1d53a2b562c7f5d0bbece999e1c09ca", + "key": "roborumble/jaybot.bots.Oddball_4.0.jar", + "kind": "robot" + }, + "latest_observation": "ee5b6a1afcb7c6f8", + "observations": [ + { + "classic": { + "elapsed": 4.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6261.0, + "scores": [ + 3376.0, + 2885.0 + ], + "selected": "jaybot.bots.Oddball 4.0" + }, + "completed_at": "2026-09-12T16:01:26Z", + "confirmation": null, + "delta_pct": null, + "id": "ee5b6a1afcb7c6f8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jaybot.bots.Oddball 4.0", + "division": "roborumble", + "jar": "jaybot.bots.Oddball_4.0.jar", + "jar_sha256": "12d0d549ecee200b1bb2a0b9dcd0774ca1d53a2b562c7f5d0bbece999e1c09ca", + "key": "roborumble/jaybot.bots.Oddball_4.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.UnsupportedOperationException", + "jaybot.strategies.SplitPersonalityStrategy.changeToBestPersonality" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.UnsupportedOperationException", + "origin": "jaybot.strategies.SplitPersonalityStrategy.changeToBestPersonality" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.UnsupportedOperationException: stop(overwrite=true) is unsupported. Contact Robocode Tank Royale author for support", + "java.lang.UnsupportedOperationException: stop(overwrite=true) is unsupported. Contact Robocode Tank Royale author for support" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/jbot.Rabbit2_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jbot.Rabbit2 1.1", + "division": "roborumble", + "jar": "jbot.Rabbit2_1.1.jar", + "jar_sha256": "d98f0b30ca4bd47f77ea7abbfc6990374fcf6937c9a77ba4f2490958948306fb", + "key": "roborumble/jbot.Rabbit2_1.1.jar", + "kind": "robot" + }, + "latest_observation": "21054c5022752597", + "observations": [ + { + "classic": { + "elapsed": 4.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6080.0, + "scores": [ + 2642.0, + 3438.0 + ], + "selected": "jbot.Rabbit2 1.1" + }, + "completed_at": "2026-09-12T16:01:56Z", + "confirmation": null, + "delta_pct": -4.0, + "id": "21054c5022752597", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jbot.Rabbit2 1.1", + "division": "roborumble", + "jar": "jbot.Rabbit2_1.1.jar", + "jar_sha256": "d98f0b30ca4bd47f77ea7abbfc6990374fcf6937c9a77ba4f2490958948306fb", + "key": "roborumble/jbot.Rabbit2_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5838.0, + "scores": [ + 2950.0, + 2888.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jcs.AutoBot_4.2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jcs.AutoBot 4.2.1", + "division": "roborumble", + "jar": "jcs.AutoBot_4.2.1.jar", + "jar_sha256": "21598f5d66d81b55f831aab11b1639432ba24a42605f55b3c68a5cf148977841", + "key": "roborumble/jcs.AutoBot_4.2.1.jar", + "kind": "robot" + }, + "latest_observation": "d52f242b7cf667d0", + "observations": [ + { + "classic": { + "elapsed": 8.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6295.0, + "scores": [ + 3191.0, + 3104.0 + ], + "selected": "jcs.AutoBot 4.2.1" + }, + "completed_at": "2026-09-12T16:02:24Z", + "confirmation": null, + "delta_pct": -37.7, + "id": "d52f242b7cf667d0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jcs.AutoBot 4.2.1", + "division": "roborumble", + "jar": "jcs.AutoBot_4.2.1.jar", + "jar_sha256": "21598f5d66d81b55f831aab11b1639432ba24a42605f55b3c68a5cf148977841", + "key": "roborumble/jcs.AutoBot_4.2.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3924.0, + "scores": [ + 2343.0, + 1581.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jcs.Decepticon_2.5.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jcs.Decepticon 2.5.3", + "division": "roborumble", + "jar": "jcs.Decepticon_2.5.3.jar", + "jar_sha256": "c4c98378bc3352996b456c21abde57d36211294d439c169d54c5bceecb730dcf", + "key": "roborumble/jcs.Decepticon_2.5.3.jar", + "kind": "robot" + }, + "latest_observation": "9f21384be184c5c1", + "observations": [ + { + "classic": { + "elapsed": 18.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4445.0, + "scores": [ + 1930.0, + 2515.0 + ], + "selected": "jcs.Decepticon 2.5.3" + }, + "completed_at": "2026-09-12T16:03:24Z", + "confirmation": null, + "delta_pct": -7.9, + "id": "9f21384be184c5c1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jcs.Decepticon 2.5.3", + "division": "roborumble", + "jar": "jcs.Decepticon_2.5.3.jar", + "jar_sha256": "c4c98378bc3352996b456c21abde57d36211294d439c169d54c5bceecb730dcf", + "key": "roborumble/jcs.Decepticon_2.5.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4094.0, + "scores": [ + 2429.0, + 1665.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jcs.Megatron_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jcs.Megatron 1.2", + "division": "roborumble", + "jar": "jcs.Megatron_1.2.jar", + "jar_sha256": "5f0afbf3fe7b1f324b58ed7483947d937712884928ecffa7f84519cd0a1a3261", + "key": "roborumble/jcs.Megatron_1.2.jar", + "kind": "robot" + }, + "latest_observation": "dfd70f66155cf480", + "observations": [ + { + "classic": { + "elapsed": 17.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4540.0, + "scores": [ + 2478.0, + 2062.0 + ], + "selected": "jcs.Megatron 1.2" + }, + "completed_at": "2026-09-12T16:04:24Z", + "confirmation": null, + "delta_pct": -2.0, + "id": "dfd70f66155cf480", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jcs.Megatron 1.2", + "division": "roborumble", + "jar": "jcs.Megatron_1.2.jar", + "jar_sha256": "5f0afbf3fe7b1f324b58ed7483947d937712884928ecffa7f84519cd0a1a3261", + "key": "roborumble/jcs.Megatron_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4450.0, + "scores": [ + 2480.0, + 1970.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jcs.Seth_1.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jcs.Seth 1.8", + "division": "roborumble", + "jar": "jcs.Seth_1.8.jar", + "jar_sha256": "3e99018fdcad786047e2bd36c131fe4ff680cfa8628140922f72014ab73bd9b1", + "key": "roborumble/jcs.Seth_1.8.jar", + "kind": "robot" + }, + "latest_observation": "7cbbe2b6780c0995", + "observations": [ + { + "classic": { + "elapsed": 6.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4828.0, + "scores": [ + 2039.0, + 2789.0 + ], + "selected": "jcs.Seth 1.8" + }, + "completed_at": "2026-09-12T16:04:39Z", + "confirmation": null, + "delta_pct": null, + "id": "7cbbe2b6780c0995", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jcs.Seth 1.8", + "division": "roborumble", + "jar": "jcs.Seth_1.8.jar", + "jar_sha256": "3e99018fdcad786047e2bd36c131fe4ff680cfa8628140922f72014ab73bd9b1", + "key": "roborumble/jcs.Seth_1.8.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "jcs.AntiGravTargeting.calcBulletPower" + ] + ], + "elapsed": 8.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "jcs.AntiGravTargeting.calcBulletPower" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"jcs.Enemy.getCoord()\" because \"target\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/jcw.ArcherOne_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jcw.ArcherOne 1.0", + "division": "roborumble", + "jar": "jcw.ArcherOne_1.0.jar", + "jar_sha256": "8afa06292421338af912d381d06f8dcda0c1375fc9c8e6f184d2103ab44fb0f7", + "key": "roborumble/jcw.ArcherOne_1.0.jar", + "kind": "robot" + }, + "latest_observation": "3b8d0bac2d8b47ad", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7786.0, + "scores": [ + 4119.0, + 3667.0 + ], + "selected": "jcw.ArcherOne 1.0" + }, + "completed_at": "2026-09-12T16:05:14Z", + "confirmation": null, + "delta_pct": -60.8, + "id": "3b8d0bac2d8b47ad", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jcw.ArcherOne 1.0", + "division": "roborumble", + "jar": "jcw.ArcherOne_1.0.jar", + "jar_sha256": "8afa06292421338af912d381d06f8dcda0c1375fc9c8e6f184d2103ab44fb0f7", + "key": "roborumble/jcw.ArcherOne_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3053.0, + "scores": [ + 1769.0, + 1284.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jcz.linio.Linio_2.0.H.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jcz.linio.Linio 2.0.H", + "division": "roborumble", + "jar": "jcz.linio.Linio_2.0.H.jar", + "jar_sha256": "1f8c659e9081bf3a272feebcecc002b842fc1975d8d67d05c1f1bdf1f981bf0f", + "key": "roborumble/jcz.linio.Linio_2.0.H.jar", + "kind": "robot" + }, + "latest_observation": "a1f75e443bb759cf", + "observations": [ + { + "classic": { + "elapsed": 6.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9188.0, + "scores": [ + 4846.0, + 4342.0 + ], + "selected": "jcz.linio.Linio 2.0.H" + }, + "completed_at": "2026-09-12T16:05:43Z", + "confirmation": null, + "delta_pct": -12.9, + "id": "a1f75e443bb759cf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jcz.linio.Linio 2.0.H", + "division": "roborumble", + "jar": "jcz.linio.Linio_2.0.H.jar", + "jar_sha256": "1f8c659e9081bf3a272feebcecc002b842fc1975d8d67d05c1f1bdf1f981bf0f", + "key": "roborumble/jcz.linio.Linio_2.0.H.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8006.0, + "scores": [ + 4407.0, + 3599.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jdw.Hornet_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jdw.Hornet 1.0", + "division": "roborumble", + "jar": "jdw.Hornet_1.0.jar", + "jar_sha256": "651391483a93e46fa71150aeb678d8d4737532c440a5375f86d0c7cc5805d305", + "key": "roborumble/jdw.Hornet_1.0.jar", + "kind": "robot" + }, + "latest_observation": "f6b616930407a978", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5578.0, + "scores": [ + 2541.0, + 3037.0 + ], + "selected": "jdw.Hornet 1.0" + }, + "completed_at": "2026-09-12T16:05:58Z", + "confirmation": null, + "delta_pct": -49.6, + "id": "f6b616930407a978", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jdw.Hornet 1.0", + "division": "roborumble", + "jar": "jdw.Hornet_1.0.jar", + "jar_sha256": "651391483a93e46fa71150aeb678d8d4737532c440a5375f86d0c7cc5805d305", + "key": "roborumble/jdw.Hornet_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2811.0, + "scores": [ + 1715.0, + 1096.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jekl.DarkHallow_.90.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jekl.DarkHallow .90.9", + "division": "roborumble", + "jar": "jekl.DarkHallow_.90.9.jar", + "jar_sha256": "34352cd38e784bcc99b59c9a2859b4a184714b667888ba54df29d41016ca7a32", + "key": "roborumble/jekl.DarkHallow_.90.9.jar", + "kind": "robot" + }, + "latest_observation": "ef19377660a16a9a", + "observations": [ + { + "classic": { + "elapsed": 5.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5010.0, + "scores": [ + 2390.0, + 2620.0 + ], + "selected": "jekl.DarkHallow .90.9" + }, + "completed_at": "2026-09-12T16:06:28Z", + "confirmation": null, + "delta_pct": -8.0, + "id": "ef19377660a16a9a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jekl.DarkHallow .90.9", + "division": "roborumble", + "jar": "jekl.DarkHallow_.90.9.jar", + "jar_sha256": "34352cd38e784bcc99b59c9a2859b4a184714b667888ba54df29d41016ca7a32", + "key": "roborumble/jekl.DarkHallow_.90.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4607.0, + "scores": [ + 2365.0, + 2242.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jekl.Jekyl_.70.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jekl.Jekyl .70", + "division": "roborumble", + "jar": "jekl.Jekyl_.70.jar", + "jar_sha256": "148c9b58c05992b7a3e94cc4bc562ace882811178c10713cbc75216e00a7b980", + "key": "roborumble/jekl.Jekyl_.70.jar", + "kind": "robot" + }, + "latest_observation": "746f7ebb593a6006", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5335.0, + "scores": [ + 2758.0, + 2577.0 + ], + "selected": "jekl.Jekyl .70" + }, + "completed_at": "2026-09-12T16:06:50Z", + "confirmation": null, + "delta_pct": -8.1, + "id": "746f7ebb593a6006", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jekl.Jekyl .70", + "division": "roborumble", + "jar": "jekl.Jekyl_.70.jar", + "jar_sha256": "148c9b58c05992b7a3e94cc4bc562ace882811178c10713cbc75216e00a7b980", + "key": "roborumble/jekl.Jekyl_.70.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4901.0, + "scores": [ + 2588.0, + 2313.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jekl.mini.BlackPearl_.91.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jekl.mini.BlackPearl .91", + "division": "roborumble", + "jar": "jekl.mini.BlackPearl_.91.jar", + "jar_sha256": "13f1937a31acf417ef27db87ed2930bf0cdc08e488bbebbbb46373e1c83bd1ef", + "key": "roborumble/jekl.mini.BlackPearl_.91.jar", + "kind": "robot" + }, + "latest_observation": "f83b97c8b3cce583", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5312.0, + "scores": [ + 2710.0, + 2602.0 + ], + "selected": "jekl.mini.BlackPearl .91" + }, + "completed_at": "2026-09-12T16:07:13Z", + "confirmation": null, + "delta_pct": -67.1, + "id": "f83b97c8b3cce583", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jekl.mini.BlackPearl .91", + "division": "roborumble", + "jar": "jekl.mini.BlackPearl_.91.jar", + "jar_sha256": "13f1937a31acf417ef27db87ed2930bf0cdc08e488bbebbbb46373e1c83bd1ef", + "key": "roborumble/jekl.mini.BlackPearl_.91.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1750.0, + "scores": [ + 930.0, + 820.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jep.Terrible_0.4.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jep.Terrible 0.4.1", + "division": "roborumble", + "jar": "jep.Terrible_0.4.1.jar", + "jar_sha256": "95c3e3bc8585109ee1a4b8c839baf53fd7c459382e3c0e01efef65806599a405", + "key": "roborumble/jep.Terrible_0.4.1.jar", + "kind": "robot" + }, + "latest_observation": "610b809670c3c242", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6157.0, + "scores": [ + 2738.0, + 3419.0 + ], + "selected": "jep.Terrible 0.4.1" + }, + "completed_at": "2026-09-12T16:09:01Z", + "confirmation": null, + "delta_pct": -33.8, + "id": "610b809670c3c242", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jep.Terrible 0.4.1", + "division": "roborumble", + "jar": "jep.Terrible_0.4.1.jar", + "jar_sha256": "95c3e3bc8585109ee1a4b8c839baf53fd7c459382e3c0e01efef65806599a405", + "key": "roborumble/jep.Terrible_0.4.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4078.0, + "scores": [ + 2040.0, + 2038.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jep.nano.Hawkwing_0.4.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jep.nano.Hawkwing 0.4.1", + "division": "roborumble", + "jar": "jep.nano.Hawkwing_0.4.1.jar", + "jar_sha256": "ba98598412b54641f5e348e9ac92e85c2ed8eae3bddac06261cd83f89ed8b6d6", + "key": "roborumble/jep.nano.Hawkwing_0.4.1.jar", + "kind": "robot" + }, + "latest_observation": "46f42695e1a7f118", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5183.0, + "scores": [ + 2635.0, + 2548.0 + ], + "selected": "jep.nano.Hawkwing 0.4.1" + }, + "completed_at": "2026-09-12T16:07:36Z", + "confirmation": null, + "delta_pct": -10.3, + "id": "46f42695e1a7f118", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "64f9ea764be176493ab3cdb7124d23a2814964fe", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jep.nano.Hawkwing 0.4.1", + "division": "roborumble", + "jar": "jep.nano.Hawkwing_0.4.1.jar", + "jar_sha256": "ba98598412b54641f5e348e9ac92e85c2ed8eae3bddac06261cd83f89ed8b6d6", + "key": "roborumble/jep.nano.Hawkwing_0.4.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4650.0, + "scores": [ + 2468.0, + 2182.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jep.nano.Hotspur_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jep.nano.Hotspur 0.1", + "division": "roborumble", + "jar": "jep.nano.Hotspur_0.1.jar", + "jar_sha256": "5275b6c62d9e1c9585632dd8bc0703298b65d2b6cdd7b89c66571d66dec02a41", + "key": "roborumble/jep.nano.Hotspur_0.1.jar", + "kind": "robot" + }, + "latest_observation": "c2e419d7c5f31be0", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3723.0, + "scores": [ + 2314.0, + 1409.0 + ], + "selected": "jep.nano.Hotspur 0.1" + }, + "completed_at": "2026-09-12T16:08:39Z", + "confirmation": null, + "delta_pct": -5.6, + "id": "c2e419d7c5f31be0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jep.nano.Hotspur 0.1", + "division": "roborumble", + "jar": "jep.nano.Hotspur_0.1.jar", + "jar_sha256": "5275b6c62d9e1c9585632dd8bc0703298b65d2b6cdd7b89c66571d66dec02a41", + "key": "roborumble/jep.nano.Hotspur_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3516.0, + "scores": [ + 1776.0, + 1740.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jeremyreeder.Bully_1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jeremyreeder.Bully 1", + "division": "roborumble", + "jar": "jeremyreeder.Bully_1.jar", + "jar_sha256": "8e36fc4b0f0342c1e456edf026a6f884607e733d2362878fa34b7da13be9fa62", + "key": "roborumble/jeremyreeder.Bully_1.jar", + "kind": "robot" + }, + "latest_observation": "cfd4f9ecc5b1e9c5", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10630.0, + "scores": [ + 5370.0, + 5260.0 + ], + "selected": "jeremyreeder.Bully 1" + }, + "completed_at": "2026-09-12T16:09:13Z", + "confirmation": null, + "delta_pct": 53.2, + "id": "cfd4f9ecc5b1e9c5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jeremyreeder.Bully 1", + "division": "roborumble", + "jar": "jeremyreeder.Bully_1.jar", + "jar_sha256": "8e36fc4b0f0342c1e456edf026a6f884607e733d2362878fa34b7da13be9fa62", + "key": "roborumble/jeremyreeder.Bully_1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 16286.0, + "scores": [ + 8166.0, + 8120.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jeremyreeder.Vincent_2011.12.09.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jeremyreeder.Vincent 2011.12.09", + "division": "roborumble", + "jar": "jeremyreeder.Vincent_2011.12.09.jar", + "jar_sha256": "85bb1d87fa647576e9e31a0d12406762dd23b7b94a46c7c6ccf8ed7b0eece19b", + "key": "roborumble/jeremyreeder.Vincent_2011.12.09.jar", + "kind": "robot" + }, + "latest_observation": "5937f2ce8280ffed", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8862.0, + "scores": [ + 4122.0, + 4740.0 + ], + "selected": "jeremyreeder.Vincent 2011.12.09" + }, + "completed_at": "2026-09-12T16:09:58Z", + "confirmation": null, + "delta_pct": -39.4, + "id": "5937f2ce8280ffed", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jeremyreeder.Vincent 2011.12.09", + "division": "roborumble", + "jar": "jeremyreeder.Vincent_2011.12.09.jar", + "jar_sha256": "85bb1d87fa647576e9e31a0d12406762dd23b7b94a46c7c6ccf8ed7b0eece19b", + "key": "roborumble/jeremyreeder.Vincent_2011.12.09.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5372.0, + "scores": [ + 3270.0, + 2102.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jeremyreeder.collective.Prophet_5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jeremyreeder.collective.Prophet 5", + "division": "roborumble", + "jar": "jeremyreeder.collective.Prophet_5.jar", + "jar_sha256": "4d0665640244ddceffa1e1c37dea5698c3496329819ee85319a35a4329613387", + "key": "roborumble/jeremyreeder.collective.Prophet_5.jar", + "kind": "robot" + }, + "latest_observation": "184353f9c23e961e", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4818.0, + "scores": [ + 2482.0, + 2336.0 + ], + "selected": "jeremyreeder.collective.Prophet 5" + }, + "completed_at": "2026-09-12T16:09:34Z", + "confirmation": null, + "delta_pct": 52.8, + "id": "184353f9c23e961e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jeremyreeder.collective.Prophet 5", + "division": "roborumble", + "jar": "jeremyreeder.collective.Prophet_5.jar", + "jar_sha256": "4d0665640244ddceffa1e1c37dea5698c3496329819ee85319a35a4329613387", + "key": "roborumble/jeremyreeder.collective.Prophet_5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7360.0, + "scores": [ + 3956.0, + 3404.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jf.Dodger_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jf.Dodger 1.3", + "division": "roborumble", + "jar": "jf.Dodger_1.3.jar", + "jar_sha256": "e51914d777c827045d3f415975ec1908f67f5f95cfd4f434430f6bec99cdd660", + "key": "roborumble/jf.Dodger_1.3.jar", + "kind": "robot" + }, + "latest_observation": "92b831520dd0868f", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7769.0, + "scores": [ + 4299.0, + 3470.0 + ], + "selected": "jf.Dodger 1.3" + }, + "completed_at": "2026-09-12T16:10:17Z", + "confirmation": null, + "delta_pct": -28.1, + "id": "92b831520dd0868f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jf.Dodger 1.3", + "division": "roborumble", + "jar": "jf.Dodger_1.3.jar", + "jar_sha256": "e51914d777c827045d3f415975ec1908f67f5f95cfd4f434430f6bec99cdd660", + "key": "roborumble/jf.Dodger_1.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5588.0, + "scores": [ + 2978.0, + 2610.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jgap.JGAP12584_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jgap.JGAP12584 1.0", + "division": "roborumble", + "jar": "jgap.JGAP12584_1.0.jar", + "jar_sha256": "893b797bfa9124d709043f0a38f9636398239c1015122feca7b8904a95643460", + "key": "roborumble/jgap.JGAP12584_1.0.jar", + "kind": "robot" + }, + "latest_observation": "be1d9435f1ab4e2a", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3177.0, + "scores": [ + 1344.0, + 1833.0 + ], + "selected": "jgap.JGAP12584 1.0" + }, + "completed_at": "2026-09-12T16:10:42Z", + "confirmation": null, + "delta_pct": -6.4, + "id": "be1d9435f1ab4e2a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jgap.JGAP12584 1.0", + "division": "roborumble", + "jar": "jgap.JGAP12584_1.0.jar", + "jar_sha256": "893b797bfa9124d709043f0a38f9636398239c1015122feca7b8904a95643460", + "key": "roborumble/jgap.JGAP12584_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2973.0, + "scores": [ + 1565.0, + 1408.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jgap.JGAP130166_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jgap.JGAP130166 1.0", + "division": "roborumble", + "jar": "jgap.JGAP130166_1.0.jar", + "jar_sha256": "ac5853dd934261b97f8a3d2fa6027b5058a708bdecb566272d978bd0be091c71", + "key": "roborumble/jgap.JGAP130166_1.0.jar", + "kind": "robot" + }, + "latest_observation": "6683dc1cc9cc5218", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8415.0, + "scores": [ + 4516.0, + 3899.0 + ], + "selected": "jgap.JGAP130166 1.0" + }, + "completed_at": "2026-09-12T16:11:01Z", + "confirmation": null, + "delta_pct": -2.3, + "id": "6683dc1cc9cc5218", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jgap.JGAP130166 1.0", + "division": "roborumble", + "jar": "jgap.JGAP130166_1.0.jar", + "jar_sha256": "ac5853dd934261b97f8a3d2fa6027b5058a708bdecb566272d978bd0be091c71", + "key": "roborumble/jgap.JGAP130166_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8219.0, + "scores": [ + 4195.0, + 4024.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jgap.JGAP23423_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jgap.JGAP23423 1.0", + "division": "roborumble", + "jar": "jgap.JGAP23423_1.0.jar", + "jar_sha256": "9ae213cbc4423af56e0326674570a2f56a4a9efefc52f17b3b0d884fa009d0d6", + "key": "roborumble/jgap.JGAP23423_1.0.jar", + "kind": "robot" + }, + "latest_observation": "898e764b76e36455", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4581.0, + "scores": [ + 2067.0, + 2514.0 + ], + "selected": "jgap.JGAP23423 1.0" + }, + "completed_at": "2026-09-12T16:11:31Z", + "confirmation": null, + "delta_pct": -55.3, + "id": "898e764b76e36455", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jgap.JGAP23423 1.0", + "division": "roborumble", + "jar": "jgap.JGAP23423_1.0.jar", + "jar_sha256": "9ae213cbc4423af56e0326674570a2f56a4a9efefc52f17b3b0d884fa009d0d6", + "key": "roborumble/jgap.JGAP23423_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2046.0, + "scores": [ + 1110.0, + 936.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jgap.JGAP6139_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jgap.JGAP6139 1.0", + "division": "roborumble", + "jar": "jgap.JGAP6139_1.0.jar", + "jar_sha256": "09ec73cda63468a296b51573c7ba9fa3afaa54c0c6967d3aaedecfaa29e14163", + "key": "roborumble/jgap.JGAP6139_1.0.jar", + "kind": "robot" + }, + "latest_observation": "9d36b13a51ac844a", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3852.0, + "scores": [ + 1787.0, + 2065.0 + ], + "selected": "jgap.JGAP6139 1.0" + }, + "completed_at": "2026-09-12T16:11:48Z", + "confirmation": null, + "delta_pct": -43.3, + "id": "9d36b13a51ac844a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jgap.JGAP6139 1.0", + "division": "roborumble", + "jar": "jgap.JGAP6139_1.0.jar", + "jar_sha256": "09ec73cda63468a296b51573c7ba9fa3afaa54c0c6967d3aaedecfaa29e14163", + "key": "roborumble/jgap.JGAP6139_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2184.0, + "scores": [ + 1416.0, + 768.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jgap.JGAP7247_2_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jgap.JGAP7247_2 1.0", + "division": "roborumble", + "jar": "jgap.JGAP7247_2_1.0.jar", + "jar_sha256": "ff50e62f31a3811ed2fd8b4566d3765591d2d0b381a0f2e1ccf83eeb914c6842", + "key": "roborumble/jgap.JGAP7247_2_1.0.jar", + "kind": "robot" + }, + "latest_observation": "e199f80ecc172fca", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 580, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "jgap.JGAP7247_2.onScannedRobot" + } + ], + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 50" + ], + "has_log": true, + "ok": true, + "score": 2631.0, + "scores": [ + 1202.0, + 1429.0 + ], + "selected": "jgap.JGAP7247_2 1.0" + }, + "completed_at": "2026-09-12T16:12:08Z", + "confirmation": null, + "delta_pct": -29.9, + "id": "e199f80ecc172fca", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jgap.JGAP7247_2 1.0", + "division": "roborumble", + "jar": "jgap.JGAP7247_2_1.0.jar", + "jar_sha256": "ff50e62f31a3811ed2fd8b4566d3765591d2d0b381a0f2e1ccf83eeb914c6842", + "key": "roborumble/jgap.JGAP7247_2_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.3, + "error_count": 1739, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "jgap.JGAP7247_2.onScannedRobot" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "jgap.JGAP7247_2.run" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + } + ], + "errors": [ + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50", + "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 50" + ], + "has_log": true, + "ok": true, + "score": 1844.0, + "scores": [ + 987.0, + 857.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/jgap.JGAP7958_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jgap.JGAP7958 1.0", + "division": "roborumble", + "jar": "jgap.JGAP7958_1.0.jar", + "jar_sha256": "fd5b10d89d3f4e9f206018a23e65a3a64e433c62b78918271977915294d276e1", + "key": "roborumble/jgap.JGAP7958_1.0.jar", + "kind": "robot" + }, + "latest_observation": "68d33e4907c12469", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4169.0, + "scores": [ + 1888.0, + 2281.0 + ], + "selected": "jgap.JGAP7958 1.0" + }, + "completed_at": "2026-09-12T16:12:24Z", + "confirmation": null, + "delta_pct": -46.4, + "id": "68d33e4907c12469", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jgap.JGAP7958 1.0", + "division": "roborumble", + "jar": "jgap.JGAP7958_1.0.jar", + "jar_sha256": "fd5b10d89d3f4e9f206018a23e65a3a64e433c62b78918271977915294d276e1", + "key": "roborumble/jgap.JGAP7958_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2236.0, + "scores": [ + 1284.0, + 952.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jje.BagPuss_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jje.BagPuss 1.2", + "division": "roborumble", + "jar": "jje.BagPuss_1.2.jar", + "jar_sha256": "5c7dfd94b4430cc03c9c794ca0b3db992f74daaa44604c516c7033aa76ee3a3a", + "key": "roborumble/jje.BagPuss_1.2.jar", + "kind": "robot" + }, + "latest_observation": "48caa85e1e1f702b", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7554.0, + "scores": [ + 3738.0, + 3816.0 + ], + "selected": "jje.BagPuss 1.2" + }, + "completed_at": "2026-09-12T16:12:57Z", + "confirmation": null, + "delta_pct": -30.8, + "id": "48caa85e1e1f702b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jje.BagPuss 1.2", + "division": "roborumble", + "jar": "jje.BagPuss_1.2.jar", + "jar_sha256": "5c7dfd94b4430cc03c9c794ca0b3db992f74daaa44604c516c7033aa76ee3a3a", + "key": "roborumble/jje.BagPuss_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5226.0, + "scores": [ + 2699.0, + 2527.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/jk.mega.DrussGT_3.1.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jk.mega.DrussGT 3.1.7", + "division": "roborumble", + "jar": "jk.mega.DrussGT_3.1.7.jar", + "jar_sha256": "c5dca7d207087ab97ab1d76755cc7e3eb33f90b4ccb1ce64a616d307beaa2baa", + "key": "roborumble/jk.mega.DrussGT_3.1.7.jar", + "kind": "robot" + }, + "latest_observation": "7bd03a5c78b1cf12", + "observations": [ + { + "classic": { + "elapsed": 55.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4340.0, + "scores": [ + 2234.0, + 2106.0 + ], + "selected": "jk.mega.DrussGT 3.1.7" + }, + "completed_at": "2026-09-12T16:17:32Z", + "confirmation": null, + "delta_pct": -2.8, + "id": "7bd03a5c78b1cf12", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jk.mega.DrussGT 3.1.7", + "division": "roborumble", + "jar": "jk.mega.DrussGT_3.1.7.jar", + "jar_sha256": "c5dca7d207087ab97ab1d76755cc7e3eb33f90b4ccb1ce64a616d307beaa2baa", + "key": "roborumble/jk.mega.DrussGT_3.1.7.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 218.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4220.0, + "scores": [ + 2462.0, + 1758.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jk.melee.Neuromancer_7.12.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jk.melee.Neuromancer 7.12", + "division": "roborumble", + "jar": "jk.melee.Neuromancer_7.12.jar", + "jar_sha256": "4146190efc0c79ba1ce42c282dd06cea1dc06351609d87cbeb2d0993837a7599", + "key": "roborumble/jk.melee.Neuromancer_7.12.jar", + "kind": "robot" + }, + "latest_observation": "a3becdc000776726", + "observations": [ + { + "classic": { + "elapsed": 97.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4787.0, + "scores": [ + 2670.0, + 2117.0 + ], + "selected": "jk.melee.Neuromancer 7.12" + }, + "completed_at": "2026-09-12T16:20:22Z", + "confirmation": null, + "delta_pct": -17.9, + "id": "a3becdc000776726", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jk.melee.Neuromancer 7.12", + "division": "roborumble", + "jar": "jk.melee.Neuromancer_7.12.jar", + "jar_sha256": "4146190efc0c79ba1ce42c282dd06cea1dc06351609d87cbeb2d0993837a7599", + "key": "roborumble/jk.melee.Neuromancer_7.12.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 72.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3928.0, + "scores": [ + 2572.0, + 1356.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jk.micro.Cotillion_0.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jk.micro.Cotillion 0.8", + "division": "roborumble", + "jar": "jk.micro.Cotillion_0.8.jar", + "jar_sha256": "dd4c6360b8d78a37eaf7a56f4afa7e1b26b6cddfc9bae3c2932e4ff265109bba", + "key": "roborumble/jk.micro.Cotillion_0.8.jar", + "kind": "robot" + }, + "latest_observation": "ac423db318a7666c", + "observations": [ + { + "classic": { + "elapsed": 6.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4660.0, + "scores": [ + 1984.0, + 2676.0 + ], + "selected": "jk.micro.Cotillion 0.8" + }, + "completed_at": "2026-09-12T16:21:05Z", + "confirmation": null, + "delta_pct": -2.9, + "id": "ac423db318a7666c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jk.micro.Cotillion 0.8", + "division": "roborumble", + "jar": "jk.micro.Cotillion_0.8.jar", + "jar_sha256": "dd4c6360b8d78a37eaf7a56f4afa7e1b26b6cddfc9bae3c2932e4ff265109bba", + "key": "roborumble/jk.micro.Cotillion_0.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4523.0, + "scores": [ + 2583.0, + 1940.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jk.mini.CunobelinDC_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jk.mini.CunobelinDC 1.2", + "division": "roborumble", + "jar": "jk.mini.CunobelinDC_1.2.jar", + "jar_sha256": "dbf550466f1a5018263ccb66cc66ddf6b033561cb13ec998f6678a58f9a1b171", + "key": "roborumble/jk.mini.CunobelinDC_1.2.jar", + "kind": "robot" + }, + "latest_observation": "a3251e634f8d649d", + "observations": [ + { + "classic": { + "elapsed": 4093.0, + "error_count": 2, + "error_signatures": [], + "errors": [ + "Robot jk.mini.CunobelinDC 1.2 (2) is not stopping. Forcing a stop.", + "Unable to stop thread: jk.mini.CunobelinDC 1.2 (2)" + ], + "has_log": true, + "ok": true, + "score": 4991.0, + "scores": [ + 2844.0, + 2147.0 + ], + "selected": "jk.mini.CunobelinDC 1.2" + }, + "completed_at": "2026-09-12T17:29:48Z", + "confirmation": null, + "delta_pct": -12.1, + "id": "a3251e634f8d649d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jk.mini.CunobelinDC 1.2", + "division": "roborumble", + "jar": "jk.mini.CunobelinDC_1.2.jar", + "jar_sha256": "dbf550466f1a5018263ccb66cc66ddf6b033561cb13ec998f6678a58f9a1b171", + "key": "roborumble/jk.mini.CunobelinDC_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4389.0, + "scores": [ + 2275.0, + 2114.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jk.nano.Machete_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jk.nano.Machete 2.0", + "division": "roborumble", + "jar": "jk.nano.Machete_2.0.jar", + "jar_sha256": "b9de40b80f220367f2df7acae1dc8a955724e952879218e0f93607865022db72", + "key": "roborumble/jk.nano.Machete_2.0.jar", + "kind": "robot" + }, + "latest_observation": "9159148bd0131ead", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11271.0, + "scores": [ + 4395.0, + 6876.0 + ], + "selected": "jk.nano.Machete 2.0" + }, + "completed_at": "2026-09-12T17:30:01Z", + "confirmation": null, + "delta_pct": 17.6, + "id": "9159148bd0131ead", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jk.nano.Machete 2.0", + "division": "roborumble", + "jar": "jk.nano.Machete_2.0.jar", + "jar_sha256": "b9de40b80f220367f2df7acae1dc8a955724e952879218e0f93607865022db72", + "key": "roborumble/jk.nano.Machete_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13256.0, + "scores": [ + 6661.0, + 6595.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jk.precise.EnergyDome_1.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jk.precise.EnergyDome 1.6", + "division": "roborumble", + "jar": "jk.precise.EnergyDome_1.6.jar", + "jar_sha256": "f2cf1754adfb62f9ecb166b64b2d08d3164f00a6883f68e8dabb9f0324f863e5", + "key": "roborumble/jk.precise.EnergyDome_1.6.jar", + "kind": "robot" + }, + "latest_observation": "9847c2cdcac260e3", + "observations": [ + { + "classic": { + "elapsed": 4.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 739.0, + "scores": [ + 370.0, + 369.0 + ], + "selected": "jk.precise.EnergyDome 1.6" + }, + "completed_at": "2026-09-12T17:31:58Z", + "confirmation": null, + "delta_pct": 15.8, + "id": "9847c2cdcac260e3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jk.precise.EnergyDome 1.6", + "division": "roborumble", + "jar": "jk.precise.EnergyDome_1.6.jar", + "jar_sha256": "f2cf1754adfb62f9ecb166b64b2d08d3164f00a6883f68e8dabb9f0324f863e5", + "key": "roborumble/jk.precise.EnergyDome_1.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 112.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 856.0, + "scores": [ + 428.0, + 428.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jk.precise.Wintermute_0.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jk.precise.Wintermute 0.8", + "division": "roborumble", + "jar": "jk.precise.Wintermute_0.8.jar", + "jar_sha256": "8d6cd0f46981bf535138c4fc3700daa8aede08f14850e24baa76647252c64c00", + "key": "roborumble/jk.precise.Wintermute_0.8.jar", + "kind": "robot" + }, + "latest_observation": "58d7e52300e5940f", + "observations": [ + { + "classic": { + "elapsed": 15.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5110.0, + "scores": [ + 2482.0, + 2628.0 + ], + "selected": "jk.precise.Wintermute 0.8" + }, + "completed_at": "2026-09-12T17:32:50Z", + "confirmation": null, + "delta_pct": -3.2, + "id": "58d7e52300e5940f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jk.precise.Wintermute 0.8", + "division": "roborumble", + "jar": "jk.precise.Wintermute_0.8.jar", + "jar_sha256": "8d6cd0f46981bf535138c4fc3700daa8aede08f14850e24baa76647252c64c00", + "key": "roborumble/jk.precise.Wintermute_0.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4946.0, + "scores": [ + 2664.0, + 2282.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jk.sheldor.nano.Yatagan_1.2.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jk.sheldor.nano.Yatagan 1.2.3", + "division": "roborumble", + "jar": "jk.sheldor.nano.Yatagan_1.2.3.jar", + "jar_sha256": "6579d57ca5ca3f2fc9efef32bb9dc90f0cab418c018c31445fb650226b03249e", + "key": "roborumble/jk.sheldor.nano.Yatagan_1.2.3.jar", + "kind": "robot" + }, + "latest_observation": "190529e94cc2061c", + "observations": [ + { + "classic": { + "elapsed": 4.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6191.0, + "scores": [ + 3120.0, + 3071.0 + ], + "selected": "jk.sheldor.nano.Yatagan 1.2.3" + }, + "completed_at": "2026-09-12T17:33:15Z", + "confirmation": null, + "delta_pct": -0.2, + "id": "190529e94cc2061c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jk.sheldor.nano.Yatagan 1.2.3", + "division": "roborumble", + "jar": "jk.sheldor.nano.Yatagan_1.2.3.jar", + "jar_sha256": "6579d57ca5ca3f2fc9efef32bb9dc90f0cab418c018c31445fb650226b03249e", + "key": "roborumble/jk.sheldor.nano.Yatagan_1.2.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6181.0, + "scores": [ + 3286.0, + 2895.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jmcd.BeoWulf_2.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jmcd.BeoWulf 2.8", + "division": "roborumble", + "jar": "jmcd.BeoWulf_2.8.jar", + "jar_sha256": "85220bbba65aba8970dd54bfbae5eb4d8fd5e22d6d1a425f6afbc862b74853c0", + "key": "roborumble/jmcd.BeoWulf_2.8.jar", + "kind": "robot" + }, + "latest_observation": "ad8b1f2666ea6051", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6137.0, + "scores": [ + 3030.0, + 3107.0 + ], + "selected": "jmcd.BeoWulf 2.8" + }, + "completed_at": "2026-09-12T17:33:23Z", + "confirmation": null, + "delta_pct": null, + "id": "5895c8c745cbbda2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jmcd.BeoWulf 2.8", + "division": "roborumble", + "jar": "jmcd.BeoWulf_2.8.jar", + "jar_sha256": "85220bbba65aba8970dd54bfbae5eb4d8fd5e22d6d1a425f6afbc862b74853c0", + "key": "roborumble/jmcd.BeoWulf_2.8.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.FileNotFoundException", + "jmcd.BeoWulf.run" + ] + ], + "elapsed": 4.2, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "jmcd.BeoWulf.run" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\jmcd.BeoWulf_2.8\\BeoWulf.data\\enemy.dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\jmcd.BeoWulf_2.8\\BeoWulf.data\\Optim.dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\jmcd.BeoWulf_2.8-2\\BeoWulf.data\\enemy.dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\jmcd.BeoWulf_2.8-2\\BeoWulf.data\\Optim.dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5840.0, + "scores": [ + 3261.0, + 2579.0 + ], + "selected": "jmcd.BeoWulf 2.8" + }, + "completed_at": "2026-09-12T21:11:26Z", + "confirmation": null, + "delta_pct": -4.8, + "id": "ad8b1f2666ea6051", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "28d4a79bc277e01ed2b8ec235e3bb2a779ff29c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "739b90f0f29ebba7bf15267d39f33230aff557b7", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jmcd.BeoWulf 2.8", + "division": "roborumble", + "jar": "jmcd.BeoWulf_2.8.jar", + "jar_sha256": "85220bbba65aba8970dd54bfbae5eb4d8fd5e22d6d1a425f6afbc862b74853c0", + "key": "roborumble/jmcd.BeoWulf_2.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5560.0, + "scores": [ + 2848.0, + 2712.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/joe.ADinosaur_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "joe.ADinosaur 1.0", + "division": "roborumble", + "jar": "joe.ADinosaur_1.0.jar", + "jar_sha256": "97f22df93aa32da14bd0cc2fa18f9ae8cb37ba0b8f9fff1b6036671714080bab", + "key": "roborumble/joe.ADinosaur_1.0.jar", + "kind": "robot" + }, + "latest_observation": "fba69a53a36df25b", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7799.0, + "scores": [ + 3537.0, + 4262.0 + ], + "selected": "joe.ADinosaur 1.0" + }, + "completed_at": "2026-09-12T17:33:43Z", + "confirmation": null, + "delta_pct": -24.0, + "id": "fba69a53a36df25b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "joe.ADinosaur 1.0", + "division": "roborumble", + "jar": "joe.ADinosaur_1.0.jar", + "jar_sha256": "97f22df93aa32da14bd0cc2fa18f9ae8cb37ba0b8f9fff1b6036671714080bab", + "key": "roborumble/joe.ADinosaur_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5928.0, + "scores": [ + 2970.0, + 2958.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/josago.Jorgito_0.16.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "josago.Jorgito 0.16", + "division": "roborumble", + "jar": "josago.Jorgito_0.16.jar", + "jar_sha256": "ee18dd0aa0e8703eba84320f47280b05d902ce4129a56e79a412d4c7dd78dfdf", + "key": "roborumble/josago.Jorgito_0.16.jar", + "kind": "robot" + }, + "latest_observation": "dd17a61c839cce2f", + "observations": [ + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8356.0, + "scores": [ + 4302.0, + 4054.0 + ], + "selected": "josago.Jorgito 0.16" + }, + "completed_at": "2026-09-12T17:34:23Z", + "confirmation": null, + "delta_pct": null, + "id": "3dce8987b150739e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "josago.Jorgito 0.16", + "division": "roborumble", + "jar": "josago.Jorgito_0.16.jar", + "jar_sha256": "ee18dd0aa0e8703eba84320f47280b05d902ce4129a56e79a412d4c7dd78dfdf", + "key": "roborumble/josago.Jorgito_0.16.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Jorgito 0.16 (Jorge S\ufffdez G\ufffdmez) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8182.0, + "scores": [ + 3838.0, + 4344.0 + ], + "selected": "josago.Jorgito 0.16" + }, + "completed_at": "2026-09-22T14:36:05Z", + "confirmation": null, + "delta_pct": null, + "id": "34c5fc361409c391", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "josago.Jorgito 0.16", + "division": "roborumble", + "jar": "josago.Jorgito_0.16.jar", + "jar_sha256": "ee18dd0aa0e8703eba84320f47280b05d902ce4129a56e79a412d4c7dd78dfdf", + "key": "roborumble/josago.Jorgito_0.16.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Jorgito 0.16 (Jorge S\u00e1ez G\u00f3mez) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8228.0, + "scores": [ + 4575.0, + 3653.0 + ], + "selected": "josago.Jorgito 0.16" + }, + "completed_at": "2026-09-22T15:16:15Z", + "confirmation": null, + "delta_pct": 2.8, + "id": "dd17a61c839cce2f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "josago.Jorgito 0.16", + "division": "roborumble", + "jar": "josago.Jorgito_0.16.jar", + "jar_sha256": "ee18dd0aa0e8703eba84320f47280b05d902ce4129a56e79a412d4c7dd78dfdf", + "key": "roborumble/josago.Jorgito_0.16.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8455.0, + "scores": [ + 4303.0, + 4152.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jp.Perpy_16.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jp.Perpy 16.0", + "division": "roborumble", + "jar": "jp.Perpy_16.0.jar", + "jar_sha256": "4ccd821a5de1e216c187b7b1133efd71a0bff8d7c013e6037bcf1568fc67d983", + "key": "roborumble/jp.Perpy_16.0.jar", + "kind": "robot" + }, + "latest_observation": "6123a16a81268bc9", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5863.0, + "scores": [ + 2270.0, + 3593.0 + ], + "selected": "jp.Perpy 16.0" + }, + "completed_at": "2026-09-12T17:34:51Z", + "confirmation": null, + "delta_pct": -3.9, + "id": "6123a16a81268bc9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "a5a265702a6a53ea47f24cd39f34d502b6e7b976", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "0268506c4ed945f568cd18f57e7faef91ac6a33d", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jp.Perpy 16.0", + "division": "roborumble", + "jar": "jp.Perpy_16.0.jar", + "jar_sha256": "4ccd821a5de1e216c187b7b1133efd71a0bff8d7c013e6037bcf1568fc67d983", + "key": "roborumble/jp.Perpy_16.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5632.0, + "scores": [ + 3313.0, + 2319.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jp.SineWall_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jp.SineWall 1.0", + "division": "roborumble", + "jar": "jp.SineWall_1.0.jar", + "jar_sha256": "8a957bb1297a6204beeb9b76bb171135f429187a19c0ee7100be6166749f31e2", + "key": "roborumble/jp.SineWall_1.0.jar", + "kind": "robot" + }, + "latest_observation": "f525491d80c17dbd", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5888.0, + "scores": [ + 2831.0, + 3057.0 + ], + "selected": "jp.SineWall 1.0" + }, + "completed_at": "2026-09-12T21:29:55Z", + "confirmation": null, + "delta_pct": -4.0, + "id": "f525491d80c17dbd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jp.SineWall 1.0", + "division": "roborumble", + "jar": "jp.SineWall_1.0.jar", + "jar_sha256": "8a957bb1297a6204beeb9b76bb171135f429187a19c0ee7100be6166749f31e2", + "key": "roborumble/jp.SineWall_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5653.0, + "scores": [ + 2932.0, + 2721.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jrm.Test0_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jrm.Test0 1.0", + "division": "roborumble", + "jar": "jrm.Test0_1.0.jar", + "jar_sha256": "04af9455c981df31eb0e00685f0695394231dcf4943206462d32eb727e683f74", + "key": "roborumble/jrm.Test0_1.0.jar", + "kind": "robot" + }, + "latest_observation": "87280748930f85ca", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6549.0, + "scores": [ + 3086.0, + 3463.0 + ], + "selected": "jrm.Test0 1.0" + }, + "completed_at": "2026-09-12T21:30:28Z", + "confirmation": null, + "delta_pct": -94.5, + "id": "87280748930f85ca", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jrm.Test0 1.0", + "division": "roborumble", + "jar": "jrm.Test0_1.0.jar", + "jar_sha256": "04af9455c981df31eb0e00685f0695394231dcf4943206462d32eb727e683f74", + "key": "roborumble/jrm.Test0_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 360.0, + "scores": [ + 180.0, + 180.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/js.PinBall_1.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "js.PinBall 1.6", + "division": "roborumble", + "jar": "js.PinBall_1.6.jar", + "jar_sha256": "b5beb491096f0b8fca3d2b007706a9192deb26a54103098aa05c20ca8c149adc", + "key": "roborumble/js.PinBall_1.6.jar", + "kind": "robot" + }, + "latest_observation": "e13f3ced41c0f759", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8789.0, + "scores": [ + 4359.0, + 4430.0 + ], + "selected": "js.PinBall 1.6" + }, + "completed_at": "2026-09-12T21:30:41Z", + "confirmation": null, + "delta_pct": null, + "id": "e13f3ced41c0f759", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "js.PinBall 1.6", + "division": "roborumble", + "jar": "js.PinBall_1.6.jar", + "jar_sha256": "b5beb491096f0b8fca3d2b007706a9192deb26a54103098aa05c20ca8c149adc", + "key": "roborumble/js.PinBall_1.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArithmeticException", + "js.PinBall.onScannedRobot" + ] + ], + "elapsed": 10.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArithmeticException", + "origin": "js.PinBall.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArithmeticException: / by zero" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/jsal.Jsalbot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jsal.Jsalbot 1.0", + "division": "roborumble", + "jar": "jsal.Jsalbot_1.0.jar", + "jar_sha256": "5c0eb33b3cb7c7334eeb81c9389589cb645e70defc03b9ad1e6903bfd2d04cfa", + "key": "roborumble/jsal.Jsalbot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "f729ebca3114899c", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3259.0, + "scores": [ + 1844.0, + 1415.0 + ], + "selected": "jsal.Jsalbot 1.0" + }, + "completed_at": "2026-09-12T21:31:17Z", + "confirmation": null, + "delta_pct": 18.8, + "id": "f729ebca3114899c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jsal.Jsalbot 1.0", + "division": "roborumble", + "jar": "jsal.Jsalbot_1.0.jar", + "jar_sha256": "5c0eb33b3cb7c7334eeb81c9389589cb645e70defc03b9ad1e6903bfd2d04cfa", + "key": "roborumble/jsal.Jsalbot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3873.0, + "scores": [ + 2225.0, + 1648.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/jt.SpearmintCT_Alpha.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jt.SpearmintCT Alpha", + "division": "roborumble", + "jar": "jt.SpearmintCT_Alpha.jar", + "jar_sha256": "0e7e0319dd336ee4491377653295ec98345e2eb8c065c80c47e57d0a1c287a57", + "key": "roborumble/jt.SpearmintCT_Alpha.jar", + "kind": "robot" + }, + "latest_observation": "e663bf152188ba08", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6596.0, + "scores": [ + 3440.0, + 3156.0 + ], + "selected": "jt.SpearmintCT Alpha" + }, + "completed_at": "2026-09-12T21:31:32Z", + "confirmation": null, + "delta_pct": -45.3, + "id": "e663bf152188ba08", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jt.SpearmintCT Alpha", + "division": "roborumble", + "jar": "jt.SpearmintCT_Alpha.jar", + "jar_sha256": "0e7e0319dd336ee4491377653295ec98345e2eb8c065c80c47e57d0a1c287a57", + "key": "roborumble/jt.SpearmintCT_Alpha.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3611.0, + "scores": [ + 1878.0, + 1733.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/justin.DemonicRage_3.20.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "justin.DemonicRage 3.20", + "division": "roborumble", + "jar": "justin.DemonicRage_3.20.jar", + "jar_sha256": "e62616c8bf8e1f28d537d23715a7c2f8bff2f2f81cd61d717b32eb806ac88116", + "key": "roborumble/justin.DemonicRage_3.20.jar", + "kind": "robot" + }, + "latest_observation": "299c1957c0af6855", + "observations": [ + { + "classic": { + "elapsed": 8.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4754.0, + "scores": [ + 2508.0, + 2246.0 + ], + "selected": "justin.DemonicRage 3.20" + }, + "completed_at": "2026-09-12T21:31:47Z", + "confirmation": null, + "delta_pct": null, + "id": "299c1957c0af6855", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "justin.DemonicRage 3.20", + "division": "roborumble", + "jar": "justin.DemonicRage_3.20.jar", + "jar_sha256": "e62616c8bf8e1f28d537d23715a7c2f8bff2f2f81cd61d717b32eb806ac88116", + "key": "roborumble/justin.DemonicRage_3.20.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "justin.radar.DynamicLocking.listen" + ] + ], + "elapsed": 6.2, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "justin.radar.DynamicLocking.listen" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.util.Hashtable.put(Object, Object)\" because \"this.knownEnemiesList\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.Hashtable.put(Object, Object)\" because \"this.knownEnemiesList\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.Hashtable.put(Object, Object)\" because \"this.knownEnemiesList\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.Hashtable.put(Object, Object)\" because \"this.knownEnemiesList\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/jw.Booring_1.11.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "jw.Booring 1.11", + "division": "roborumble", + "jar": "jw.Booring_1.11.jar", + "jar_sha256": "649cc72201c4dd224d09f39de7b10a941a39cccfab2aad46539af56928c06fa8", + "key": "roborumble/jw.Booring_1.11.jar", + "kind": "robot" + }, + "latest_observation": "1c0d5e5c5bd1b1aa", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5907.0, + "scores": [ + 2801.0, + 3106.0 + ], + "selected": "jw.Booring 1.11" + }, + "completed_at": "2026-09-12T21:32:24Z", + "confirmation": null, + "delta_pct": null, + "id": "523daa9bb1a66d82", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jw.Booring 1.11", + "division": "roborumble", + "jar": "jw.Booring_1.11.jar", + "jar_sha256": "649cc72201c4dd224d09f39de7b10a941a39cccfab2aad46539af56928c06fa8", + "key": "roborumble/jw.Booring_1.11.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Booring 1.11 (Jimmi Wimmersj\ufffd) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6103.0, + "scores": [ + 2994.0, + 3109.0 + ], + "selected": "jw.Booring 1.11" + }, + "completed_at": "2026-09-22T14:36:42Z", + "confirmation": null, + "delta_pct": null, + "id": "c15365614f02875a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jw.Booring 1.11", + "division": "roborumble", + "jar": "jw.Booring_1.11.jar", + "jar_sha256": "649cc72201c4dd224d09f39de7b10a941a39cccfab2aad46539af56928c06fa8", + "key": "roborumble/jw.Booring_1.11.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Booring 1.11 (Jimmi Wimmersj\u00f6) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6502.0, + "scores": [ + 3235.0, + 3267.0 + ], + "selected": "jw.Booring 1.11" + }, + "completed_at": "2026-09-22T14:49:48Z", + "confirmation": null, + "delta_pct": null, + "id": "1c0d5e5c5bd1b1aa", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jw.Booring 1.11", + "division": "roborumble", + "jar": "jw.Booring_1.11.jar", + "jar_sha256": "649cc72201c4dd224d09f39de7b10a941a39cccfab2aad46539af56928c06fa8", + "key": "roborumble/jw.Booring_1.11.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "jw.BulletCounter3.dodgedRange" + ] + ], + "elapsed": 4.1, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "jw.BulletCounter3.dodgedRange" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.target\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getDistance()\" because \"this.target\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/jwst.DAD.DarkAndDarker_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "jwst.DAD.DarkAndDarker 1.1", + "division": "roborumble", + "jar": "jwst.DAD.DarkAndDarker_1.1.jar", + "jar_sha256": "5c63cfaffbd456eec0169b138560f0b3cce67c02aa076d473b5e313632031e0e", + "key": "roborumble/jwst.DAD.DarkAndDarker_1.1.jar", + "kind": "robot" + }, + "latest_observation": "75967befc13ff72a", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6561.0, + "scores": [ + 3134.0, + 3427.0 + ], + "selected": "jwst.DAD.DarkAndDarker 1.1" + }, + "completed_at": "2026-09-12T21:32:55Z", + "confirmation": null, + "delta_pct": -15.4, + "id": "75967befc13ff72a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "jwst.DAD.DarkAndDarker 1.1", + "division": "roborumble", + "jar": "jwst.DAD.DarkAndDarker_1.1.jar", + "jar_sha256": "5c63cfaffbd456eec0169b138560f0b3cce67c02aa076d473b5e313632031e0e", + "key": "roborumble/jwst.DAD.DarkAndDarker_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5550.0, + "scores": [ + 2867.0, + 2683.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kanishk.Fr0z3n_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kanishk.Fr0z3n 1.1", + "division": "roborumble", + "jar": "kanishk.Fr0z3n_1.1.jar", + "jar_sha256": "dc8a18fbb8e948983086915cebb6f79314e8e071269993c4541338a7476a3f1f", + "key": "roborumble/kanishk.Fr0z3n_1.1.jar", + "kind": "robot" + }, + "latest_observation": "529babf01a0b4930", + "observations": [ + { + "classic": { + "elapsed": 133.9, + "error_count": 26, + "error_signatures": [], + "errors": [ + "Robot kanishk.Fr0z3n 1.1 (2) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (2)", + "Robot kanishk.Fr0z3n 1.1 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (1)", + "Robot kanishk.Fr0z3n 1.1 (2) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (2)", + "Robot kanishk.Fr0z3n 1.1 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (1)", + "Robot kanishk.Fr0z3n 1.1 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (1)", + "Robot kanishk.Fr0z3n 1.1 (2) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (2)", + "Robot kanishk.Fr0z3n 1.1 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (1)", + "Robot kanishk.Fr0z3n 1.1 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (1)", + "Robot kanishk.Fr0z3n 1.1 (2) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (2)", + "Robot kanishk.Fr0z3n 1.1 (2) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (2)", + "Robot kanishk.Fr0z3n 1.1 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (1)", + "Robot kanishk.Fr0z3n 1.1 (2) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (2)", + "Robot kanishk.Fr0z3n 1.1 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: kanishk.Fr0z3n 1.1 (1)" + ], + "has_log": true, + "ok": true, + "score": 5873.0, + "scores": [ + 3166.0, + 2707.0 + ], + "selected": "kanishk.Fr0z3n 1.1" + }, + "completed_at": "2026-09-12T21:39:14Z", + "confirmation": null, + "delta_pct": -16.0, + "id": "529babf01a0b4930", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kanishk.Fr0z3n 1.1", + "division": "roborumble", + "jar": "kanishk.Fr0z3n_1.1.jar", + "jar_sha256": "dc8a18fbb8e948983086915cebb6f79314e8e071269993c4541338a7476a3f1f", + "key": "roborumble/kanishk.Fr0z3n_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 245.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": true, + "ok": true, + "score": 4931.0, + "scores": [ + 2910.0, + 2021.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kano.gamma.KanoGamma_1.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kano.gamma.KanoGamma 1.8", + "division": "roborumble", + "jar": "kano.gamma.KanoGamma_1.8.jar", + "jar_sha256": "d28fc3fa02501e2f8fdbd212bb739799c46967b797f8943693088532e86dc7c5", + "key": "roborumble/kano.gamma.KanoGamma_1.8.jar", + "kind": "robot" + }, + "latest_observation": "78295d7324f7da2d", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5734.0, + "scores": [ + 2476.0, + 3258.0 + ], + "selected": "kano.gamma.KanoGamma 1.8" + }, + "completed_at": "2026-09-12T21:39:35Z", + "confirmation": null, + "delta_pct": -5.3, + "id": "78295d7324f7da2d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kano.gamma.KanoGamma 1.8", + "division": "roborumble", + "jar": "kano.gamma.KanoGamma_1.8.jar", + "jar_sha256": "d28fc3fa02501e2f8fdbd212bb739799c46967b797f8943693088532e86dc7c5", + "key": "roborumble/kano.gamma.KanoGamma_1.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5429.0, + "scores": [ + 2825.0, + 2604.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawam.kmBot9_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawam.kmBot9 1.0", + "division": "roborumble", + "jar": "kawam.kmBot9_1.0.jar", + "jar_sha256": "30c90aa30eb121b989cb6f855b5c0c130c75c52abc2d5b2b191e3a50cba7c0a5", + "key": "roborumble/kawam.kmBot9_1.0.jar", + "kind": "robot" + }, + "latest_observation": "acc0a8de12e6e0eb", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5989.0, + "scores": [ + 3169.0, + 2820.0 + ], + "selected": "kawam.kmBot9 1.0" + }, + "completed_at": "2026-09-12T21:40:03Z", + "confirmation": null, + "delta_pct": 1.7, + "id": "acc0a8de12e6e0eb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawam.kmBot9 1.0", + "division": "roborumble", + "jar": "kawam.kmBot9_1.0.jar", + "jar_sha256": "30c90aa30eb121b989cb6f855b5c0c130c75c52abc2d5b2b191e3a50cba7c0a5", + "key": "roborumble/kawam.kmBot9_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6089.0, + "scores": [ + 3157.0, + 2932.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawigi.f.FhqwhgadsMicro_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.f.FhqwhgadsMicro 1.0", + "division": "roborumble", + "jar": "kawigi.f.FhqwhgadsMicro_1.0.jar", + "jar_sha256": "eba751ff0a789af13881060817bc9ba779b5fca15f2009f8bf58738bf75311a3", + "key": "roborumble/kawigi.f.FhqwhgadsMicro_1.0.jar", + "kind": "robot" + }, + "latest_observation": "939360d33239dc93", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5286.0, + "scores": [ + 2612.0, + 2674.0 + ], + "selected": "kawigi.f.FhqwhgadsMicro 1.0" + }, + "completed_at": "2026-09-12T21:40:24Z", + "confirmation": null, + "delta_pct": -5.2, + "id": "939360d33239dc93", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.f.FhqwhgadsMicro 1.0", + "division": "roborumble", + "jar": "kawigi.f.FhqwhgadsMicro_1.0.jar", + "jar_sha256": "eba751ff0a789af13881060817bc9ba779b5fca15f2009f8bf58738bf75311a3", + "key": "roborumble/kawigi.f.FhqwhgadsMicro_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5012.0, + "scores": [ + 2652.0, + 2360.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawigi.micro.Shiz_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.micro.Shiz 1.1", + "division": "roborumble", + "jar": "kawigi.micro.Shiz_1.1.jar", + "jar_sha256": "c8f4d694bfc08c8f1634f3cc60efb7e5083163892447d824ac7873f1368823f0", + "key": "roborumble/kawigi.micro.Shiz_1.1.jar", + "kind": "robot" + }, + "latest_observation": "e2df7a9d6c23797e", + "observations": [ + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5231.0, + "scores": [ + 2212.0, + 3019.0 + ], + "selected": "kawigi.micro.Shiz 1.1" + }, + "completed_at": "2026-09-12T21:40:51Z", + "confirmation": null, + "delta_pct": -43.9, + "id": "e2df7a9d6c23797e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.micro.Shiz 1.1", + "division": "roborumble", + "jar": "kawigi.micro.Shiz_1.1.jar", + "jar_sha256": "c8f4d694bfc08c8f1634f3cc60efb7e5083163892447d824ac7873f1368823f0", + "key": "roborumble/kawigi.micro.Shiz_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2933.0, + "scores": [ + 1756.0, + 1177.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/kawigi.mini.Coriantumr_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.mini.Coriantumr 1.1", + "division": "roborumble", + "jar": "kawigi.mini.Coriantumr_1.1.jar", + "jar_sha256": "39d3b37cc9e7a9a2f244efcc526d756846e66a619730e75beb24cdce70194b5f", + "key": "roborumble/kawigi.mini.Coriantumr_1.1.jar", + "kind": "robot" + }, + "latest_observation": "28a7118ca364289e", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5756.0, + "scores": [ + 2800.0, + 2956.0 + ], + "selected": "kawigi.mini.Coriantumr 1.1" + }, + "completed_at": "2026-09-12T21:41:04Z", + "confirmation": null, + "delta_pct": null, + "id": "28a7118ca364289e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.mini.Coriantumr 1.1", + "division": "roborumble", + "jar": "kawigi.mini.Coriantumr_1.1.jar", + "jar_sha256": "39d3b37cc9e7a9a2f244efcc526d756846e66a619730e75beb24cdce70194b5f", + "key": "roborumble/kawigi.mini.Coriantumr_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "kawigi.mini.Coriantumr.onScannedRobot" + ] + ], + "elapsed": 8.6, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "kawigi.mini.Coriantumr.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/kawigi.mini.Fhqwhgads_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.mini.Fhqwhgads 1.1", + "division": "roborumble", + "jar": "kawigi.mini.Fhqwhgads_1.1.jar", + "jar_sha256": "8cb699f5691386a807b3e4a11b9722f5fb6ce1b62ac636d4fb330f7c8093ac33", + "key": "roborumble/kawigi.mini.Fhqwhgads_1.1.jar", + "kind": "robot" + }, + "latest_observation": "d4bf466a526e95db", + "observations": [ + { + "classic": { + "elapsed": 8.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5869.0, + "scores": [ + 3146.0, + 2723.0 + ], + "selected": "kawigi.mini.Fhqwhgads 1.1" + }, + "completed_at": "2026-09-12T21:41:21Z", + "confirmation": null, + "delta_pct": null, + "id": "d4bf466a526e95db", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.mini.Fhqwhgads 1.1", + "division": "roborumble", + "jar": "kawigi.mini.Fhqwhgads_1.1.jar", + "jar_sha256": "8cb699f5691386a807b3e4a11b9722f5fb6ce1b62ac636d4fb330f7c8093ac33", + "key": "roborumble/kawigi.mini.Fhqwhgads_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "kawigi.mini.Fhqwhgads.onScannedRobot" + ] + ], + "elapsed": 8.9, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "kawigi.mini.Fhqwhgads.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 4" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/kawigi.nano.FunkyChicken_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.nano.FunkyChicken 1.1", + "division": "roborumble", + "jar": "kawigi.nano.FunkyChicken_1.1.jar", + "jar_sha256": "ba3dfd385f67c0efb044000e66ba8282ec97ce0250c3e3ffbe7fc8aabc422812", + "key": "roborumble/kawigi.nano.FunkyChicken_1.1.jar", + "kind": "robot" + }, + "latest_observation": "291eab4972832579", + "observations": [ + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5641.0, + "scores": [ + 2698.0, + 2943.0 + ], + "selected": "kawigi.nano.FunkyChicken 1.1" + }, + "completed_at": "2026-09-12T21:41:42Z", + "confirmation": null, + "delta_pct": -15.6, + "id": "291eab4972832579", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.nano.FunkyChicken 1.1", + "division": "roborumble", + "jar": "kawigi.nano.FunkyChicken_1.1.jar", + "jar_sha256": "ba3dfd385f67c0efb044000e66ba8282ec97ce0250c3e3ffbe7fc8aabc422812", + "key": "roborumble/kawigi.nano.FunkyChicken_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4761.0, + "scores": [ + 2771.0, + 1990.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawigi.nano.ThnikkaBot_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.nano.ThnikkaBot 0.9", + "division": "roborumble", + "jar": "kawigi.nano.ThnikkaBot_0.9.jar", + "jar_sha256": "dbd3b7f5db346f198fd40c764f9a3335fe188f4278ff4336166a77536aafed66", + "key": "roborumble/kawigi.nano.ThnikkaBot_0.9.jar", + "kind": "robot" + }, + "latest_observation": "038ecd73c09d8b0d", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12934.0, + "scores": [ + 6716.0, + 6218.0 + ], + "selected": "kawigi.nano.ThnikkaBot 0.9" + }, + "completed_at": "2026-09-12T21:41:56Z", + "confirmation": null, + "delta_pct": -6.7, + "id": "038ecd73c09d8b0d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.nano.ThnikkaBot 0.9", + "division": "roborumble", + "jar": "kawigi.nano.ThnikkaBot_0.9.jar", + "jar_sha256": "dbd3b7f5db346f198fd40c764f9a3335fe188f4278ff4336166a77536aafed66", + "key": "roborumble/kawigi.nano.ThnikkaBot_0.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12064.0, + "scores": [ + 6099.0, + 5965.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawigi.robot.Girl_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.robot.Girl 1.2", + "division": "roborumble", + "jar": "kawigi.robot.Girl_1.2.jar", + "jar_sha256": "0a675ce6fec12505efbeb1eb346ed010976d8d6f2543aa944883a764b51949cd", + "key": "roborumble/kawigi.robot.Girl_1.2.jar", + "kind": "robot" + }, + "latest_observation": "7395d4249b4a692e", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5631.0, + "scores": [ + 2840.0, + 2791.0 + ], + "selected": "kawigi.robot.Girl 1.2" + }, + "completed_at": "2026-09-12T21:42:21Z", + "confirmation": null, + "delta_pct": -3.5, + "id": "7395d4249b4a692e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.robot.Girl 1.2", + "division": "roborumble", + "jar": "kawigi.robot.Girl_1.2.jar", + "jar_sha256": "0a675ce6fec12505efbeb1eb346ed010976d8d6f2543aa944883a764b51949cd", + "key": "roborumble/kawigi.robot.Girl_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5436.0, + "scores": [ + 2875.0, + 2561.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawigi.sbf.Barracuda_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.sbf.Barracuda 1.0", + "division": "roborumble", + "jar": "kawigi.sbf.Barracuda_1.0.jar", + "jar_sha256": "38cd887ca00191079ae946207985fb323aff22452076877e5544da1321fc2032", + "key": "roborumble/kawigi.sbf.Barracuda_1.0.jar", + "kind": "robot" + }, + "latest_observation": "d85142bfa8039f0d", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5119.0, + "scores": [ + 2489.0, + 2630.0 + ], + "selected": "kawigi.sbf.Barracuda 1.0" + }, + "completed_at": "2026-09-12T21:42:41Z", + "confirmation": null, + "delta_pct": 0.3, + "id": "d85142bfa8039f0d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.sbf.Barracuda 1.0", + "division": "roborumble", + "jar": "kawigi.sbf.Barracuda_1.0.jar", + "jar_sha256": "38cd887ca00191079ae946207985fb323aff22452076877e5544da1321fc2032", + "key": "roborumble/kawigi.sbf.Barracuda_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5136.0, + "scores": [ + 2932.0, + 2204.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawigi.sbf.FloodHT_0.9.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.sbf.FloodHT 0.9.2", + "division": "roborumble", + "jar": "kawigi.sbf.FloodHT_0.9.2.jar", + "jar_sha256": "e9634ff4dccd6c0518bdabf6d7d7147a5e8860a7357a3235a9bb6dee16415ca6", + "key": "roborumble/kawigi.sbf.FloodHT_0.9.2.jar", + "kind": "robot" + }, + "latest_observation": "dadcf7bf4e0ecb8c", + "observations": [ + { + "classic": { + "elapsed": 6.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4395.0, + "scores": [ + 2907.0, + 1488.0 + ], + "selected": "kawigi.sbf.FloodHT 0.9.2" + }, + "completed_at": "2026-09-12T21:43:16Z", + "confirmation": null, + "delta_pct": -6.3, + "id": "dadcf7bf4e0ecb8c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.sbf.FloodHT 0.9.2", + "division": "roborumble", + "jar": "kawigi.sbf.FloodHT_0.9.2.jar", + "jar_sha256": "e9634ff4dccd6c0518bdabf6d7d7147a5e8860a7357a3235a9bb6dee16415ca6", + "key": "roborumble/kawigi.sbf.FloodHT_0.9.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4117.0, + "scores": [ + 2639.0, + 1478.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawigi.sbf.FloodMicro_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.sbf.FloodMicro 1.5", + "division": "roborumble", + "jar": "kawigi.sbf.FloodMicro_1.5.jar", + "jar_sha256": "4f3549b99f11f1899b90e2d74460d245f3a79078444470824ecc03b5565900a8", + "key": "roborumble/kawigi.sbf.FloodMicro_1.5.jar", + "kind": "robot" + }, + "latest_observation": "c9c40370dcf10011", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5129.0, + "scores": [ + 3102.0, + 2027.0 + ], + "selected": "kawigi.sbf.FloodMicro 1.5" + }, + "completed_at": "2026-09-12T21:43:39Z", + "confirmation": null, + "delta_pct": -26.6, + "id": "c9c40370dcf10011", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.sbf.FloodMicro 1.5", + "division": "roborumble", + "jar": "kawigi.sbf.FloodMicro_1.5.jar", + "jar_sha256": "4f3549b99f11f1899b90e2d74460d245f3a79078444470824ecc03b5565900a8", + "key": "roborumble/kawigi.sbf.FloodMicro_1.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3765.0, + "scores": [ + 2561.0, + 1204.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/kawigi.sbf.FloodMini_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.sbf.FloodMini 1.4", + "division": "roborumble", + "jar": "kawigi.sbf.FloodMini_1.4.jar", + "jar_sha256": "20738f02721b92618b22914ecc328252dc219906232b9b3aa67ac77e3e0c61dd", + "key": "roborumble/kawigi.sbf.FloodMini_1.4.jar", + "kind": "robot" + }, + "latest_observation": "30197c435377ba69", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5173.0, + "scores": [ + 2808.0, + 2365.0 + ], + "selected": "kawigi.sbf.FloodMini 1.4" + }, + "completed_at": "2026-09-12T21:44:00Z", + "confirmation": null, + "delta_pct": -1.4, + "id": "30197c435377ba69", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.sbf.FloodMini 1.4", + "division": "roborumble", + "jar": "kawigi.sbf.FloodMini_1.4.jar", + "jar_sha256": "20738f02721b92618b22914ecc328252dc219906232b9b3aa67ac77e3e0c61dd", + "key": "roborumble/kawigi.sbf.FloodMini_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5098.0, + "scores": [ + 2656.0, + 2442.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawigi.sbf.FloodNano_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.sbf.FloodNano 1.2", + "division": "roborumble", + "jar": "kawigi.sbf.FloodNano_1.2.jar", + "jar_sha256": "6472039bac12030822589dd0dc4e0f2a2d657bc8cefdaec85c2b2142e6c638bb", + "key": "roborumble/kawigi.sbf.FloodNano_1.2.jar", + "kind": "robot" + }, + "latest_observation": "117a6d40be35854c", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4557.0, + "scores": [ + 2262.0, + 2295.0 + ], + "selected": "kawigi.sbf.FloodNano 1.2" + }, + "completed_at": "2026-09-12T21:44:15Z", + "confirmation": null, + "delta_pct": -38.2, + "id": "117a6d40be35854c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.sbf.FloodNano 1.2", + "division": "roborumble", + "jar": "kawigi.sbf.FloodNano_1.2.jar", + "jar_sha256": "6472039bac12030822589dd0dc4e0f2a2d657bc8cefdaec85c2b2142e6c638bb", + "key": "roborumble/kawigi.sbf.FloodNano_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2814.0, + "scores": [ + 1591.0, + 1223.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/kawigi.sbf.FloodSonnet_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.sbf.FloodSonnet 0.9", + "division": "roborumble", + "jar": "kawigi.sbf.FloodSonnet_0.9.jar", + "jar_sha256": "6a45446282ac369b0710769b5d9bfd5605e171c89e10f483cb9dc36ae6d54f8b", + "key": "roborumble/kawigi.sbf.FloodSonnet_0.9.jar", + "kind": "robot" + }, + "latest_observation": "01421e46ea8b0558", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6150.0, + "scores": [ + 3208.0, + 2942.0 + ], + "selected": "kawigi.sbf.FloodSonnet 0.9" + }, + "completed_at": "2026-09-12T21:44:24Z", + "confirmation": null, + "delta_pct": null, + "id": "01421e46ea8b0558", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.sbf.FloodSonnet 0.9", + "division": "roborumble", + "jar": "kawigi.sbf.FloodSonnet_0.9.jar", + "jar_sha256": "6a45446282ac369b0710769b5d9bfd5605e171c89e10f483cb9dc36ae6d54f8b", + "key": "roborumble/kawigi.sbf.FloodSonnet_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "kawigi.sbf.FloodSonnet.onScannedRobot" + ] + ], + "elapsed": 6.2, + "error_count": 10, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "kawigi.sbf.FloodSonnet.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"kawigi.sbf.FloodSonnet.nextMeleeLocation\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"kawigi.sbf.FloodSonnet.nextMeleeLocation\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"kawigi.sbf.FloodSonnet.nextMeleeLocation\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"kawigi.sbf.FloodSonnet.nextMeleeLocation\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"kawigi.sbf.FloodSonnet.nextMeleeLocation\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"kawigi.sbf.FloodSonnet.nextMeleeLocation\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"kawigi.sbf.FloodSonnet.nextMeleeLocation\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"kawigi.sbf.FloodSonnet.nextMeleeLocation\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"kawigi.sbf.FloodSonnet.nextMeleeLocation\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/kawigi.sbf.Teancum_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.sbf.Teancum 1.3", + "division": "roborumble", + "jar": "kawigi.sbf.Teancum_1.3.jar", + "jar_sha256": "d658099bb3f4e5c8afe3694a01d61b1a221ccfff3ad934307b659664833fa239", + "key": "roborumble/kawigi.sbf.Teancum_1.3.jar", + "kind": "robot" + }, + "latest_observation": "48f06e2fa8400492", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5771.0, + "scores": [ + 2080.0, + 3691.0 + ], + "selected": "kawigi.sbf.Teancum 1.3" + }, + "completed_at": "2026-09-12T21:44:49Z", + "confirmation": null, + "delta_pct": -12.4, + "id": "48f06e2fa8400492", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "1498474deb61276150ff079fe91ab801381a1920", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.sbf.Teancum 1.3", + "division": "roborumble", + "jar": "kawigi.sbf.Teancum_1.3.jar", + "jar_sha256": "d658099bb3f4e5c8afe3694a01d61b1a221ccfff3ad934307b659664833fa239", + "key": "roborumble/kawigi.sbf.Teancum_1.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5057.0, + "scores": [ + 2913.0, + 2144.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kawigi.spare.SpareParts_0.7.6nosnd.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kawigi.spare.SpareParts 0.7.6nosnd", + "division": "roborumble", + "jar": "kawigi.spare.SpareParts_0.7.6nosnd.jar", + "jar_sha256": "a89ca8c56833db8e3bb9ac2ee209f27fb0d8b0d14f9cf22cfbe4886b92b7a904", + "key": "roborumble/kawigi.spare.SpareParts_0.7.6nosnd.jar", + "kind": "robot" + }, + "latest_observation": "e6f5801c8dbb526a", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6700.0, + "scores": [ + 4172.0, + 2528.0 + ], + "selected": "kawigi.spare.SpareParts 0.7.6nosnd" + }, + "completed_at": "2026-09-12T21:45:42Z", + "confirmation": null, + "delta_pct": -17.9, + "id": "e6f5801c8dbb526a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kawigi.spare.SpareParts 0.7.6nosnd", + "division": "roborumble", + "jar": "kawigi.spare.SpareParts_0.7.6nosnd.jar", + "jar_sha256": "a89ca8c56833db8e3bb9ac2ee209f27fb0d8b0d14f9cf22cfbe4886b92b7a904", + "key": "roborumble/kawigi.spare.SpareParts_0.7.6nosnd.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5504.0, + "scores": [ + 4434.0, + 1070.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kc.mega.BeepBoop_1.21.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kc.mega.BeepBoop 1.21", + "division": "roborumble", + "jar": "kc.mega.BeepBoop_1.21.jar", + "jar_sha256": "34b6ebc0085bfaea4fe0ed11d63630ae562a6cc05f6c056c09476c9287bb4bb0", + "key": "roborumble/kc.mega.BeepBoop_1.21.jar", + "kind": "robot" + }, + "latest_observation": "17cd4cf14dcc2da7", + "observations": [ + { + "classic": { + "elapsed": 118.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3970.0, + "scores": [ + 1909.0, + 2061.0 + ], + "selected": "kc.mega.BeepBoop 1.21" + }, + "completed_at": "2026-09-12T21:47:46Z", + "confirmation": null, + "delta_pct": null, + "id": "17cd4cf14dcc2da7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.mega.BeepBoop 1.21", + "division": "roborumble", + "jar": "kc.mega.BeepBoop_1.21.jar", + "jar_sha256": "34b6ebc0085bfaea4fe0ed11d63630ae562a6cc05f6c056c09476c9287bb4bb0", + "key": "roborumble/kc.mega.BeepBoop_1.21.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "kc.mega.game.GameState.update" + ] + ], + "elapsed": 4.2, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "kc.mega.game.GameState.update" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getName()\" because \"e\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getName()\" because \"e\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getName()\" because \"e\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.ScannedRobotEvent.getName()\" because \"e\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/kc.micro.Needle_0.101.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kc.micro.Needle 0.101", + "division": "roborumble", + "jar": "kc.micro.Needle_0.101.jar", + "jar_sha256": "790c7d3e2f93d8e37d9de7c7c6bf6bba8b270c681ebdbfb4553431fac351cf29", + "key": "roborumble/kc.micro.Needle_0.101.jar", + "kind": "robot" + }, + "latest_observation": "08a9125a7c4f78c8", + "observations": [ + { + "classic": { + "elapsed": 13.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5595.0, + "scores": [ + 2704.0, + 2891.0 + ], + "selected": "kc.micro.Needle 0.101" + }, + "completed_at": "2026-09-12T21:48:43Z", + "confirmation": null, + "delta_pct": -7.0, + "id": "08a9125a7c4f78c8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.micro.Needle 0.101", + "division": "roborumble", + "jar": "kc.micro.Needle_0.101.jar", + "jar_sha256": "790c7d3e2f93d8e37d9de7c7c6bf6bba8b270c681ebdbfb4553431fac351cf29", + "key": "roborumble/kc.micro.Needle_0.101.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 44.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5202.0, + "scores": [ + 2841.0, + 2361.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kc.micro.Thorn_1.252.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kc.micro.Thorn 1.252", + "division": "roborumble", + "jar": "kc.micro.Thorn_1.252.jar", + "jar_sha256": "8d20e671cf15b32e27d1ea3435ba92a4bc38adc0bad03ce817656f031e4ce68a", + "key": "roborumble/kc.micro.Thorn_1.252.jar", + "kind": "robot" + }, + "latest_observation": "0c021dbb724f9eae", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4835.0, + "scores": [ + 1810.0, + 3025.0 + ], + "selected": "kc.micro.Thorn 1.252" + }, + "completed_at": "2026-09-12T21:49:17Z", + "confirmation": null, + "delta_pct": -5.0, + "id": "0c021dbb724f9eae", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.micro.Thorn 1.252", + "division": "roborumble", + "jar": "kc.micro.Thorn_1.252.jar", + "jar_sha256": "8d20e671cf15b32e27d1ea3435ba92a4bc38adc0bad03ce817656f031e4ce68a", + "key": "roborumble/kc.micro.Thorn_1.252.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4594.0, + "scores": [ + 2378.0, + 2216.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kc.micro.WaveShark_0.4.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "kc.micro.WaveShark 0.4", + "division": "roborumble", + "jar": "kc.micro.WaveShark_0.4.jar", + "jar_sha256": "f7093d8506004e69ca13dd62d988f8bacaa613688c484fae85d7d532ecf94c13", + "key": "roborumble/kc.micro.WaveShark_0.4.jar", + "kind": "robot" + }, + "latest_observation": "754ffb2e50872664", + "observations": [ + { + "classic": { + "elapsed": 4.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5328.0, + "scores": [ + 2309.0, + 3019.0 + ], + "selected": "kc.micro.WaveShark 0.4" + }, + "completed_at": "2026-09-12T21:49:55Z", + "confirmation": null, + "delta_pct": null, + "id": "57dd1774fc8cbf22", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.micro.WaveShark 0.4", + "division": "roborumble", + "jar": "kc.micro.WaveShark_0.4.jar", + "jar_sha256": "f7093d8506004e69ca13dd62d988f8bacaa613688c484fae85d7d532ecf94c13", + "key": "roborumble/kc.micro.WaveShark_0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [WaveShark 0.4 (Kev ) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5204.0, + "scores": [ + 2345.0, + 2859.0 + ], + "selected": "kc.micro.WaveShark 0.4" + }, + "completed_at": "2026-09-22T14:37:20Z", + "confirmation": null, + "delta_pct": null, + "id": "81a2fbe897f8d386", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.micro.WaveShark 0.4", + "division": "roborumble", + "jar": "kc.micro.WaveShark_0.4.jar", + "jar_sha256": "f7093d8506004e69ca13dd62d988f8bacaa613688c484fae85d7d532ecf94c13", + "key": "roborumble/kc.micro.WaveShark_0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [WaveShark 0.4 (Kev ) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5202.0, + "scores": [ + 2409.0, + 2793.0 + ], + "selected": "kc.micro.WaveShark 0.4" + }, + "completed_at": "2026-09-22T14:50:26Z", + "confirmation": null, + "delta_pct": null, + "id": "754ffb2e50872664", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.micro.WaveShark 0.4", + "division": "roborumble", + "jar": "kc.micro.WaveShark_0.4.jar", + "jar_sha256": "f7093d8506004e69ca13dd62d988f8bacaa613688c484fae85d7d532ecf94c13", + "key": "roborumble/kc.micro.WaveShark_0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [WaveShark 0.4 (Kev ) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/kc.micro.rammer.MaxRisk_0.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kc.micro.rammer.MaxRisk 0.6", + "division": "roborumble", + "jar": "kc.micro.rammer.MaxRisk_0.6.jar", + "jar_sha256": "5e3f9d6a66e4741fea1c0c26ee14e1bd7aa99bacc7bcb2a73a9b10d41df384fa", + "key": "roborumble/kc.micro.rammer.MaxRisk_0.6.jar", + "kind": "robot" + }, + "latest_observation": "1d7f127258dd610c", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10431.0, + "scores": [ + 5215.0, + 5216.0 + ], + "selected": "kc.micro.rammer.MaxRisk 0.6" + }, + "completed_at": "2026-09-12T21:48:56Z", + "confirmation": null, + "delta_pct": 63.1, + "id": "1d7f127258dd610c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.micro.rammer.MaxRisk 0.6", + "division": "roborumble", + "jar": "kc.micro.rammer.MaxRisk_0.6.jar", + "jar_sha256": "5e3f9d6a66e4741fea1c0c26ee14e1bd7aa99bacc7bcb2a73a9b10d41df384fa", + "key": "roborumble/kc.micro.rammer.MaxRisk_0.6.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 17011.0, + "scores": [ + 8666.0, + 8345.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/kc.mini.Vyper_0.311.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kc.mini.Vyper 0.311", + "division": "roborumble", + "jar": "kc.mini.Vyper_0.311.jar", + "jar_sha256": "5321c17fb423358e718b61c3a035d5690dcc5fb1afed8a1930765455fd72e229", + "key": "roborumble/kc.mini.Vyper_0.311.jar", + "kind": "robot" + }, + "latest_observation": "2a4e8fb340184b39", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5763.0, + "scores": [ + 2478.0, + 3285.0 + ], + "selected": "kc.mini.Vyper 0.311" + }, + "completed_at": "2026-09-12T21:50:23Z", + "confirmation": null, + "delta_pct": -21.6, + "id": "2a4e8fb340184b39", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.mini.Vyper 0.311", + "division": "roborumble", + "jar": "kc.mini.Vyper_0.311.jar", + "jar_sha256": "5321c17fb423358e718b61c3a035d5690dcc5fb1afed8a1930765455fd72e229", + "key": "roborumble/kc.mini.Vyper_0.311.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4518.0, + "scores": [ + 2749.0, + 1769.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kc.nano.Splinter_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kc.nano.Splinter 1.2", + "division": "roborumble", + "jar": "kc.nano.Splinter_1.2.jar", + "jar_sha256": "5633e36fe38b61a06d4c656ab919e9d00ba60881dcb978cd13a4f6d6b67054e9", + "key": "roborumble/kc.nano.Splinter_1.2.jar", + "kind": "robot" + }, + "latest_observation": "b397c0bf2d8d3823", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5139.0, + "scores": [ + 1577.0, + 3562.0 + ], + "selected": "kc.nano.Splinter 1.2" + }, + "completed_at": "2026-09-12T21:50:44Z", + "confirmation": null, + "delta_pct": -20.7, + "id": "b397c0bf2d8d3823", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.nano.Splinter 1.2", + "division": "roborumble", + "jar": "kc.nano.Splinter_1.2.jar", + "jar_sha256": "5633e36fe38b61a06d4c656ab919e9d00ba60881dcb978cd13a4f6d6b67054e9", + "key": "roborumble/kc.nano.Splinter_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4073.0, + "scores": [ + 2422.0, + 1651.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kc.serpent.Hydra_0.21.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kc.serpent.Hydra 0.21", + "division": "roborumble", + "jar": "kc.serpent.Hydra_0.21.jar", + "jar_sha256": "860487f1dda5a80dffa752216cff3214c88f43e78322421a9e3f2c1c5ec4734d", + "key": "roborumble/kc.serpent.Hydra_0.21.jar", + "kind": "robot" + }, + "latest_observation": "040ddc882beec0c8", + "observations": [ + { + "classic": { + "elapsed": 6.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4859.0, + "scores": [ + 2213.0, + 2646.0 + ], + "selected": "kc.serpent.Hydra 0.21" + }, + "completed_at": "2026-09-12T21:51:16Z", + "confirmation": null, + "delta_pct": 3.0, + "id": "040ddc882beec0c8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.serpent.Hydra 0.21", + "division": "roborumble", + "jar": "kc.serpent.Hydra_0.21.jar", + "jar_sha256": "860487f1dda5a80dffa752216cff3214c88f43e78322421a9e3f2c1c5ec4734d", + "key": "roborumble/kc.serpent.Hydra_0.21.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5003.0, + "scores": [ + 2518.0, + 2485.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kc.serpent.WaveSerpent_2.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kc.serpent.WaveSerpent 2.11", + "division": "roborumble", + "jar": "kc.serpent.WaveSerpent_2.11.jar", + "jar_sha256": "7ee88a4b0c65dc6eedb45541cac1acfed0cfa6f358c1f2ac2d7b42e6f9760fa5", + "key": "roborumble/kc.serpent.WaveSerpent_2.11.jar", + "kind": "robot" + }, + "latest_observation": "6aa4e89482f2aa31", + "observations": [ + { + "classic": { + "elapsed": 11.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5071.0, + "scores": [ + 2410.0, + 2661.0 + ], + "selected": "kc.serpent.WaveSerpent 2.11" + }, + "completed_at": "2026-09-12T21:52:02Z", + "confirmation": null, + "delta_pct": -6.9, + "id": "6aa4e89482f2aa31", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kc.serpent.WaveSerpent 2.11", + "division": "roborumble", + "jar": "kc.serpent.WaveSerpent_2.11.jar", + "jar_sha256": "7ee88a4b0c65dc6eedb45541cac1acfed0cfa6f358c1f2ac2d7b42e6f9760fa5", + "key": "roborumble/kc.serpent.WaveSerpent_2.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4721.0, + "scores": [ + 2424.0, + 2297.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kcn.percept.PerceptBot_2.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kcn.percept.PerceptBot 2.3", + "division": "roborumble", + "jar": "kcn.percept.PerceptBot_2.3.jar", + "jar_sha256": "c88779caade8e44304bf2f277d7d0dd0a9f1cb99570d12481a3131878f84a438", + "key": "roborumble/kcn.percept.PerceptBot_2.3.jar", + "kind": "robot" + }, + "latest_observation": "02d2572f64e2a5b4", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5103.0, + "scores": [ + 2211.0, + 2892.0 + ], + "selected": "kcn.percept.PerceptBot 2.3" + }, + "completed_at": "2026-09-12T21:52:36Z", + "confirmation": null, + "delta_pct": -11.3, + "id": "02d2572f64e2a5b4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kcn.percept.PerceptBot 2.3", + "division": "roborumble", + "jar": "kcn.percept.PerceptBot_2.3.jar", + "jar_sha256": "c88779caade8e44304bf2f277d7d0dd0a9f1cb99570d12481a3131878f84a438", + "key": "roborumble/kcn.percept.PerceptBot_2.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4527.0, + "scores": [ + 2372.0, + 2155.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kcn.unnamed.Unnamed_1.21.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kcn.unnamed.Unnamed 1.21", + "division": "roborumble", + "jar": "kcn.unnamed.Unnamed_1.21.jar", + "jar_sha256": "52159566458159e9b9584defd869191dc12f5918e39d23ed0d020219a0ddce85", + "key": "roborumble/kcn.unnamed.Unnamed_1.21.jar", + "kind": "robot" + }, + "latest_observation": "37c594ac3485e1e2", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4696.0, + "scores": [ + 1999.0, + 2697.0 + ], + "selected": "kcn.unnamed.Unnamed 1.21" + }, + "completed_at": "2026-09-12T21:53:03Z", + "confirmation": null, + "delta_pct": -9.6, + "id": "37c594ac3485e1e2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kcn.unnamed.Unnamed 1.21", + "division": "roborumble", + "jar": "kcn.unnamed.Unnamed_1.21.jar", + "jar_sha256": "52159566458159e9b9584defd869191dc12f5918e39d23ed0d020219a0ddce85", + "key": "roborumble/kcn.unnamed.Unnamed_1.21.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4244.0, + "scores": [ + 2363.0, + 1881.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kenran.Bakko_v1.0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kenran.Bakko v1.0.1", + "division": "roborumble", + "jar": "kenran.Bakko_v1.0.1.jar", + "jar_sha256": "4d00f7637a1d9d354bd70691bc8a2f14b2fb5f10b50970e52266697574ab1e6c", + "key": "roborumble/kenran.Bakko_v1.0.1.jar", + "kind": "robot" + }, + "latest_observation": "cac1aa587d78087c", + "observations": [ + { + "classic": { + "elapsed": 5.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5500.0, + "scores": [ + 2677.0, + 2823.0 + ], + "selected": "kenran.Bakko v1.0.1" + }, + "completed_at": "2026-09-12T21:53:33Z", + "confirmation": null, + "delta_pct": -13.4, + "id": "cac1aa587d78087c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kenran.Bakko v1.0.1", + "division": "roborumble", + "jar": "kenran.Bakko_v1.0.1.jar", + "jar_sha256": "4d00f7637a1d9d354bd70691bc8a2f14b2fb5f10b50970e52266697574ab1e6c", + "key": "roborumble/kenran.Bakko_v1.0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4764.0, + "scores": [ + 2570.0, + 2194.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kenran.mega.Pantheist_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kenran.mega.Pantheist 1.1", + "division": "roborumble", + "jar": "kenran.mega.Pantheist_1.1.jar", + "jar_sha256": "a3e7fca19554acd39542bbb02cd770e25cde7d0f7c8beac345ff2d7c20ae54e3", + "key": "roborumble/kenran.mega.Pantheist_1.1.jar", + "kind": "robot" + }, + "latest_observation": "484f8c7a96a8da34", + "observations": [ + { + "classic": { + "elapsed": 4.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5973.0, + "scores": [ + 2953.0, + 3020.0 + ], + "selected": "kenran.mega.Pantheist 1.1" + }, + "completed_at": "2026-09-12T21:54:04Z", + "confirmation": null, + "delta_pct": -7.7, + "id": "484f8c7a96a8da34", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kenran.mega.Pantheist 1.1", + "division": "roborumble", + "jar": "kenran.mega.Pantheist_1.1.jar", + "jar_sha256": "a3e7fca19554acd39542bbb02cd770e25cde7d0f7c8beac345ff2d7c20ae54e3", + "key": "roborumble/kenran.mega.Pantheist_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5512.0, + "scores": [ + 2830.0, + 2682.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kid.Gladiator_.7.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kid.Gladiator .7.2", + "division": "roborumble", + "jar": "kid.Gladiator_.7.2.jar", + "jar_sha256": "ba6253e2a542f12307fad47d0790dafb74ae6a52597ca94c3d4b3d3cc13da16f", + "key": "roborumble/kid.Gladiator_.7.2.jar", + "kind": "robot" + }, + "latest_observation": "8b525bd3f6b28dfa", + "observations": [ + { + "classic": { + "elapsed": 5.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4457.0, + "scores": [ + 2681.0, + 1776.0 + ], + "selected": "kid.Gladiator .7.2" + }, + "completed_at": "2026-09-12T21:54:42Z", + "confirmation": null, + "delta_pct": 2.1, + "id": "8b525bd3f6b28dfa", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kid.Gladiator .7.2", + "division": "roborumble", + "jar": "kid.Gladiator_.7.2.jar", + "jar_sha256": "ba6253e2a542f12307fad47d0790dafb74ae6a52597ca94c3d4b3d3cc13da16f", + "key": "roborumble/kid.Gladiator_.7.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4550.0, + "scores": [ + 2319.0, + 2231.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kid.Toa_.0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kid.Toa .0.5", + "division": "roborumble", + "jar": "kid.Toa_.0.5.jar", + "jar_sha256": "50de2526df0b43e1b883bb9c4cb0ea18a7dae5689dc44745c2e2c64082f6e711", + "key": "roborumble/kid.Toa_.0.5.jar", + "kind": "robot" + }, + "latest_observation": "fba256d882f5f68e", + "observations": [ + { + "classic": { + "elapsed": 7.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4769.0, + "scores": [ + 1818.0, + 2951.0 + ], + "selected": "kid.Toa .0.5" + }, + "completed_at": "2026-09-12T21:55:15Z", + "confirmation": null, + "delta_pct": -59.0, + "id": "fba256d882f5f68e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kid.Toa .0.5", + "division": "roborumble", + "jar": "kid.Toa_.0.5.jar", + "jar_sha256": "50de2526df0b43e1b883bb9c4cb0ea18a7dae5689dc44745c2e2c64082f6e711", + "key": "roborumble/kid.Toa_.0.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1957.0, + "scores": [ + 1046.0, + 911.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/kinsen.melee.Angsaichmophobia_1.8c.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kinsen.melee.Angsaichmophobia 1.8c", + "division": "roborumble", + "jar": "kinsen.melee.Angsaichmophobia_1.8c.jar", + "jar_sha256": "695a8d0520895efdf6aa3f27f240924a2ada2e60a37e5ca55f6fa2a2315865e2", + "key": "roborumble/kinsen.melee.Angsaichmophobia_1.8c.jar", + "kind": "robot" + }, + "latest_observation": "0ed7850cf0a262d8", + "observations": [ + { + "classic": { + "elapsed": 21.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4861.0, + "scores": [ + 2375.0, + 2486.0 + ], + "selected": "kinsen.melee.Angsaichmophobia 1.8c" + }, + "completed_at": "2026-09-12T21:56:53Z", + "confirmation": null, + "delta_pct": -6.9, + "id": "0ed7850cf0a262d8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kinsen.melee.Angsaichmophobia 1.8c", + "division": "roborumble", + "jar": "kinsen.melee.Angsaichmophobia_1.8c.jar", + "jar_sha256": "695a8d0520895efdf6aa3f27f240924a2ada2e60a37e5ca55f6fa2a2315865e2", + "key": "roborumble/kinsen.melee.Angsaichmophobia_1.8c.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 76.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4525.0, + "scores": [ + 2327.0, + 2198.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kinsen.nano.Charp_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kinsen.nano.Charp 1.0", + "division": "roborumble", + "jar": "kinsen.nano.Charp_1.0.jar", + "jar_sha256": "26378bf73f2975afbbe525735b328b63bf566b8d9e71a0afea9dcdbdc50f76b4", + "key": "roborumble/kinsen.nano.Charp_1.0.jar", + "kind": "robot" + }, + "latest_observation": "16fb9f8a0566af3d", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4823.0, + "scores": [ + 2551.0, + 2272.0 + ], + "selected": "kinsen.nano.Charp 1.0" + }, + "completed_at": "2026-09-12T21:57:09Z", + "confirmation": null, + "delta_pct": -44.7, + "id": "16fb9f8a0566af3d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kinsen.nano.Charp 1.0", + "division": "roborumble", + "jar": "kinsen.nano.Charp_1.0.jar", + "jar_sha256": "26378bf73f2975afbbe525735b328b63bf566b8d9e71a0afea9dcdbdc50f76b4", + "key": "roborumble/kinsen.nano.Charp_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2669.0, + "scores": [ + 1356.0, + 1313.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/kinsen.nano.Hoplomachy_1.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kinsen.nano.Hoplomachy 1.6", + "division": "roborumble", + "jar": "kinsen.nano.Hoplomachy_1.6.jar", + "jar_sha256": "dacf07e564cb271f4d53b67fd76ae82d28b2ea897d132379d9ae1f5727143e7c", + "key": "roborumble/kinsen.nano.Hoplomachy_1.6.jar", + "kind": "robot" + }, + "latest_observation": "1bee697b81a6f927", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5026.0, + "scores": [ + 2657.0, + 2369.0 + ], + "selected": "kinsen.nano.Hoplomachy 1.6" + }, + "completed_at": "2026-09-12T21:57:28Z", + "confirmation": null, + "delta_pct": -20.9, + "id": "1bee697b81a6f927", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kinsen.nano.Hoplomachy 1.6", + "division": "roborumble", + "jar": "kinsen.nano.Hoplomachy_1.6.jar", + "jar_sha256": "dacf07e564cb271f4d53b67fd76ae82d28b2ea897d132379d9ae1f5727143e7c", + "key": "roborumble/kinsen.nano.Hoplomachy_1.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3976.0, + "scores": [ + 2429.0, + 1547.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kinsen.nano.Quarrelet_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kinsen.nano.Quarrelet 1.0", + "division": "roborumble", + "jar": "kinsen.nano.Quarrelet_1.0.jar", + "jar_sha256": "240a6fbec20c1ef3aed660a9afd4d053be3b6be70292dfda9149150bd5acda1a", + "key": "roborumble/kinsen.nano.Quarrelet_1.0.jar", + "kind": "robot" + }, + "latest_observation": "392cc7b5ec68cfab", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5280.0, + "scores": [ + 2841.0, + 2439.0 + ], + "selected": "kinsen.nano.Quarrelet 1.0" + }, + "completed_at": "2026-09-12T21:57:43Z", + "confirmation": null, + "delta_pct": -46.6, + "id": "392cc7b5ec68cfab", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kinsen.nano.Quarrelet 1.0", + "division": "roborumble", + "jar": "kinsen.nano.Quarrelet_1.0.jar", + "jar_sha256": "240a6fbec20c1ef3aed660a9afd4d053be3b6be70292dfda9149150bd5acda1a", + "key": "roborumble/kinsen.nano.Quarrelet_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2818.0, + "scores": [ + 1580.0, + 1238.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/kinsen.nano.Senticous_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kinsen.nano.Senticous 1.0", + "division": "roborumble", + "jar": "kinsen.nano.Senticous_1.0.jar", + "jar_sha256": "cdf99b8519af8547931f3a5fff78d0440ace56824410066733d43b6c2efbb210", + "key": "roborumble/kinsen.nano.Senticous_1.0.jar", + "kind": "robot" + }, + "latest_observation": "2a603412d14a06c4", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5038.0, + "scores": [ + 2412.0, + 2626.0 + ], + "selected": "kinsen.nano.Senticous 1.0" + }, + "completed_at": "2026-09-12T21:58:02Z", + "confirmation": null, + "delta_pct": -15.2, + "id": "2a603412d14a06c4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "aafcebc48b5e283eae36becdfb120e2b66a9a6d5", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kinsen.nano.Senticous 1.0", + "division": "roborumble", + "jar": "kinsen.nano.Senticous_1.0.jar", + "jar_sha256": "cdf99b8519af8547931f3a5fff78d0440ace56824410066733d43b6c2efbb210", + "key": "roborumble/kinsen.nano.Senticous_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4274.0, + "scores": [ + 2731.0, + 1543.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kjc.Karaykan_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kjc.Karaykan 1.0", + "division": "roborumble", + "jar": "kjc.Karaykan_1.0.jar", + "jar_sha256": "46264381cc5b7fcb753b6b649db7febbc57d66bf9572facccf7ce8ca3fefa614", + "key": "roborumble/kjc.Karaykan_1.0.jar", + "kind": "robot" + }, + "latest_observation": "9fff8d83189d2ec9", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6682.0, + "scores": [ + 3441.0, + 3241.0 + ], + "selected": "kjc.Karaykan 1.0" + }, + "completed_at": "2026-09-12T22:00:37Z", + "confirmation": null, + "delta_pct": -1.0, + "id": "9fff8d83189d2ec9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kjc.Karaykan 1.0", + "division": "roborumble", + "jar": "kjc.Karaykan_1.0.jar", + "jar_sha256": "46264381cc5b7fcb753b6b649db7febbc57d66bf9572facccf7ce8ca3fefa614", + "key": "roborumble/kjc.Karaykan_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6614.0, + "scores": [ + 3483.0, + 3131.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kjc.MailManX_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kjc.MailManX 2.0", + "division": "roborumble", + "jar": "kjc.MailManX_2.0.jar", + "jar_sha256": "41cd11628dfe7d95a587dd11027aa78268fa9c3017eed9e55bab6d9c09cb18c9", + "key": "roborumble/kjc.MailManX_2.0.jar", + "kind": "robot" + }, + "latest_observation": "a82056c6ad2ad5d3", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5438.0, + "scores": [ + 2824.0, + 2614.0 + ], + "selected": "kjc.MailManX 2.0" + }, + "completed_at": "2026-09-12T22:01:05Z", + "confirmation": null, + "delta_pct": -7.2, + "id": "a82056c6ad2ad5d3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kjc.MailManX 2.0", + "division": "roborumble", + "jar": "kjc.MailManX_2.0.jar", + "jar_sha256": "41cd11628dfe7d95a587dd11027aa78268fa9c3017eed9e55bab6d9c09cb18c9", + "key": "roborumble/kjc.MailManX_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5048.0, + "scores": [ + 2553.0, + 2495.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kjc.etc.Dharok_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kjc.etc.Dharok 1.0", + "division": "roborumble", + "jar": "kjc.etc.Dharok_1.0.jar", + "jar_sha256": "b23cf24c24cd3ad76d4fae9f8513de5e1b1b4733ae1f7f211be40e3b28be72b5", + "key": "roborumble/kjc.etc.Dharok_1.0.jar", + "kind": "robot" + }, + "latest_observation": "6e18ec5d5036e689", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5783.0, + "scores": [ + 2886.0, + 2897.0 + ], + "selected": "kjc.etc.Dharok 1.0" + }, + "completed_at": "2026-09-12T22:00:21Z", + "confirmation": null, + "delta_pct": -5.6, + "id": "6e18ec5d5036e689", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kjc.etc.Dharok 1.0", + "division": "roborumble", + "jar": "kjc.etc.Dharok_1.0.jar", + "jar_sha256": "b23cf24c24cd3ad76d4fae9f8513de5e1b1b4733ae1f7f211be40e3b28be72b5", + "key": "roborumble/kjc.etc.Dharok_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5461.0, + "scores": [ + 3066.0, + 2395.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/klein.GottesKrieger_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "klein.GottesKrieger 1.1", + "division": "roborumble", + "jar": "klein.GottesKrieger_1.1.jar", + "jar_sha256": "33bcb35141a2cc38ceead907a2997682e07833f6a7d8061b5e35e9add1d4cdbd", + "key": "roborumble/klein.GottesKrieger_1.1.jar", + "kind": "robot" + }, + "latest_observation": "ca30b7c68b5b10fc", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7293.0, + "scores": [ + 4450.0, + 2843.0 + ], + "selected": "klein.GottesKrieger 1.1" + }, + "completed_at": "2026-09-12T22:01:12Z", + "confirmation": null, + "delta_pct": null, + "id": "ca30b7c68b5b10fc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "klein.GottesKrieger 1.1", + "division": "roborumble", + "jar": "klein.GottesKrieger_1.1.jar", + "jar_sha256": "33bcb35141a2cc38ceead907a2997682e07833f6a7d8061b5e35e9add1d4cdbd", + "key": "roborumble/klein.GottesKrieger_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "klein.GottesKrieger.guessFactorAnalyze" + ] + ], + "elapsed": 4.2, + "error_count": 19, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "klein.GottesKrieger.guessFactorAnalyze" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"e\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/kms.Golden_0.10.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kms.Golden 0.10", + "division": "roborumble", + "jar": "kms.Golden_0.10.jar", + "jar_sha256": "787293b2d0294b483b6862e2646c2259d28dd2ab00be208f8cdcaa13b8c0c19a", + "key": "roborumble/kms.Golden_0.10.jar", + "kind": "robot" + }, + "latest_observation": "b5d6900c92396f8b", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5421.0, + "scores": [ + 2258.0, + 3163.0 + ], + "selected": "kms.Golden 0.10" + }, + "completed_at": "2026-09-12T22:01:35Z", + "confirmation": null, + "delta_pct": -33.1, + "id": "b5d6900c92396f8b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kms.Golden 0.10", + "division": "roborumble", + "jar": "kms.Golden_0.10.jar", + "jar_sha256": "787293b2d0294b483b6862e2646c2259d28dd2ab00be208f8cdcaa13b8c0c19a", + "key": "roborumble/kms.Golden_0.10.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3626.0, + "scores": [ + 1832.0, + 1794.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/kms.Royal_0.15M.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kms.Royal 0.15M", + "division": "roborumble", + "jar": "kms.Royal_0.15M.jar", + "jar_sha256": "7111115c461bbf59b699432dd45fa1da8ce719c39f6dd281bbbddaeeb2ace4b2", + "key": "roborumble/kms.Royal_0.15M.jar", + "kind": "robot" + }, + "latest_observation": "eab60f1e9e2e0f3e", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8954.0, + "scores": [ + 4628.0, + 4326.0 + ], + "selected": "kms.Royal 0.15M" + }, + "completed_at": "2026-09-12T22:01:55Z", + "confirmation": null, + "delta_pct": -3.0, + "id": "eab60f1e9e2e0f3e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kms.Royal 0.15M", + "division": "roborumble", + "jar": "kms.Royal_0.15M.jar", + "jar_sha256": "7111115c461bbf59b699432dd45fa1da8ce719c39f6dd281bbbddaeeb2ace4b2", + "key": "roborumble/kms.Royal_0.15M.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8688.0, + "scores": [ + 4596.0, + 4092.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/knackibot.KnackOnOne_0.8.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "knackibot.KnackOnOne 0.8.1", + "division": "roborumble", + "jar": "knackibot.KnackOnOne_0.8.1.jar", + "jar_sha256": "d4c572b46119dcfdb25fa1547b0b1a0e129ff4c95f98c9fbc8dc8c8967b1b3ad", + "key": "roborumble/knackibot.KnackOnOne_0.8.1.jar", + "kind": "robot" + }, + "latest_observation": "624c9c4b63456f1e", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5071.0, + "scores": [ + 1852.0, + 3219.0 + ], + "selected": "knackibot.KnackOnOne 0.8.1" + }, + "completed_at": "2026-09-12T22:02:18Z", + "confirmation": null, + "delta_pct": 2.8, + "id": "624c9c4b63456f1e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "knackibot.KnackOnOne 0.8.1", + "division": "roborumble", + "jar": "knackibot.KnackOnOne_0.8.1.jar", + "jar_sha256": "d4c572b46119dcfdb25fa1547b0b1a0e129ff4c95f98c9fbc8dc8c8967b1b3ad", + "key": "roborumble/knackibot.KnackOnOne_0.8.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5215.0, + "scores": [ + 2908.0, + 2307.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kneels.ToNoone_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kneels.ToNoone 0.2", + "division": "roborumble", + "jar": "kneels.ToNoone_0.2.jar", + "jar_sha256": "364b38e3f238f906b9d9377085e6f0ac75abf2a16c6f34f3118ddccf1176817f", + "key": "roborumble/kneels.ToNoone_0.2.jar", + "kind": "robot" + }, + "latest_observation": "ae62db4724a7b736", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5587.0, + "scores": [ + 2762.0, + 2825.0 + ], + "selected": "kneels.ToNoone 0.2" + }, + "completed_at": "2026-09-12T22:03:04Z", + "confirmation": null, + "delta_pct": -48.0, + "id": "ae62db4724a7b736", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kneels.ToNoone 0.2", + "division": "roborumble", + "jar": "kneels.ToNoone_0.2.jar", + "jar_sha256": "364b38e3f238f906b9d9377085e6f0ac75abf2a16c6f34f3118ddccf1176817f", + "key": "roborumble/kneels.ToNoone_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2903.0, + "scores": [ + 1805.0, + 1098.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/kneels.nano.Derp_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kneels.nano.Derp 0.2", + "division": "roborumble", + "jar": "kneels.nano.Derp_0.2.jar", + "jar_sha256": "a7d4b85627bde12745484df0fcff7088a2c626c4e8f6c9588c84bb87c1e88c1c", + "key": "roborumble/kneels.nano.Derp_0.2.jar", + "kind": "robot" + }, + "latest_observation": "cd4748fb78080dd6", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 48, + "error_signatures": [ + { + "exception": "java.lang.StringIndexOutOfBoundsException", + "origin": "kneels.nano.Derp.onScannedRobot" + } + ], + "errors": [ + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 16", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 17", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 18", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 19", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 20", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 21", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 22", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 23", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 24", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 25", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 26", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 27", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 16", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 17", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 18", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 19", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 20", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 21", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 22", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 23", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 24", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 25", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 26", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 27" + ], + "has_log": true, + "ok": true, + "score": 5182.0, + "scores": [ + 2595.0, + 2587.0 + ], + "selected": "kneels.nano.Derp 0.2" + }, + "completed_at": "2026-09-12T22:02:35Z", + "confirmation": null, + "delta_pct": -29.9, + "id": "cd4748fb78080dd6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kneels.nano.Derp 0.2", + "division": "roborumble", + "jar": "kneels.nano.Derp_0.2.jar", + "jar_sha256": "a7d4b85627bde12745484df0fcff7088a2c626c4e8f6c9588c84bb87c1e88c1c", + "key": "roborumble/kneels.nano.Derp_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 14, + "error_signatures": [ + { + "exception": "java.lang.StringIndexOutOfBoundsException", + "origin": "kneels.nano.Derp.onScannedRobot" + } + ], + "errors": [ + "java.lang.StringIndexOutOfBoundsException: String index out of range: 16", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 17", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 18", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 19", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 20", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 21", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 22", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 16", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 17", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 18", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 19", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 20", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 21", + "java.lang.StringIndexOutOfBoundsException: String index out of range: 22" + ], + "has_log": true, + "ok": true, + "score": 3634.0, + "scores": [ + 1877.0, + 1757.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/krillr.mega.Psyche_0.0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "krillr.mega.Psyche 0.0.3", + "division": "roborumble", + "jar": "krillr.mega.Psyche_0.0.3.jar", + "jar_sha256": "843e33621f73b105c46c993abc96938a119d5595cffc3f5a965067cd5f310cf1", + "key": "roborumble/krillr.mega.Psyche_0.0.3.jar", + "kind": "robot" + }, + "latest_observation": "3809aeaf0c65634c", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5123.0, + "scores": [ + 2909.0, + 2214.0 + ], + "selected": "krillr.mega.Psyche 0.0.3" + }, + "completed_at": "2026-09-12T22:04:25Z", + "confirmation": null, + "delta_pct": -9.1, + "id": "3809aeaf0c65634c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "krillr.mega.Psyche 0.0.3", + "division": "roborumble", + "jar": "krillr.mega.Psyche_0.0.3.jar", + "jar_sha256": "843e33621f73b105c46c993abc96938a119d5595cffc3f5a965067cd5f310cf1", + "key": "roborumble/krillr.mega.Psyche_0.0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4657.0, + "scores": [ + 2339.0, + 2318.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/krillr.mini.JointStrike_2.0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "krillr.mini.JointStrike 2.0.0", + "division": "roborumble", + "jar": "krillr.mini.JointStrike_2.0.0.jar", + "jar_sha256": "752e6bfbd2ec642aa6e3a78eeb6e8ad4da60a7cf7d88b829da6c7cafc417bca9", + "key": "roborumble/krillr.mini.JointStrike_2.0.0.jar", + "kind": "robot" + }, + "latest_observation": "cd44968f3f411b9a", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5145.0, + "scores": [ + 2029.0, + 3116.0 + ], + "selected": "krillr.mini.JointStrike 2.0.0" + }, + "completed_at": "2026-09-12T22:04:46Z", + "confirmation": null, + "delta_pct": -10.0, + "id": "cd44968f3f411b9a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "krillr.mini.JointStrike 2.0.0", + "division": "roborumble", + "jar": "krillr.mini.JointStrike_2.0.0.jar", + "jar_sha256": "752e6bfbd2ec642aa6e3a78eeb6e8ad4da60a7cf7d88b829da6c7cafc417bca9", + "key": "roborumble/krillr.mini.JointStrike_2.0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4630.0, + "scores": [ + 2599.0, + 2031.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kronenthaler.Basilisk_1.0.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "kronenthaler.Basilisk 1.0", + "division": "roborumble", + "jar": "kronenthaler.Basilisk_1.0.jar", + "jar_sha256": "303ca7f685da16603f72cdf3e4905b949d16f37fc8b599777336148c92e5d750", + "key": "roborumble/kronenthaler.Basilisk_1.0.jar", + "kind": "robot" + }, + "latest_observation": "499659efa710a968", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4776.0, + "scores": [ + 2301.0, + 2475.0 + ], + "selected": "kronenthaler.Basilisk 1.0" + }, + "completed_at": "2026-09-12T22:05:24Z", + "confirmation": null, + "delta_pct": null, + "id": "6b8d1c60aef70f89", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kronenthaler.Basilisk 1.0", + "division": "roborumble", + "jar": "kronenthaler.Basilisk_1.0.jar", + "jar_sha256": "303ca7f685da16603f72cdf3e4905b949d16f37fc8b599777336148c92e5d750", + "key": "roborumble/kronenthaler.Basilisk_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Basilisk 1.0 (kronenthaler\t) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4319.0, + "scores": [ + 2213.0, + 2106.0 + ], + "selected": "kronenthaler.Basilisk 1.0" + }, + "completed_at": "2026-09-22T14:37:57Z", + "confirmation": null, + "delta_pct": null, + "id": "92c2b2ffd5f46e14", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kronenthaler.Basilisk 1.0", + "division": "roborumble", + "jar": "kronenthaler.Basilisk_1.0.jar", + "jar_sha256": "303ca7f685da16603f72cdf3e4905b949d16f37fc8b599777336148c92e5d750", + "key": "roborumble/kronenthaler.Basilisk_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Basilisk 1.0 (kronenthaler\t) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4084.0, + "scores": [ + 1758.0, + 2326.0 + ], + "selected": "kronenthaler.Basilisk 1.0" + }, + "completed_at": "2026-09-22T14:51:03Z", + "confirmation": null, + "delta_pct": null, + "id": "499659efa710a968", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kronenthaler.Basilisk 1.0", + "division": "roborumble", + "jar": "kronenthaler.Basilisk_1.0.jar", + "jar_sha256": "303ca7f685da16603f72cdf3e4905b949d16f37fc8b599777336148c92e5d750", + "key": "roborumble/kronenthaler.Basilisk_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Basilisk 1.0 (kronenthaler\t) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/krzysiek.robbo2.Robbo_1.0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "krzysiek.robbo2.Robbo 1.0.0", + "division": "roborumble", + "jar": "krzysiek.robbo2.Robbo_1.0.0.jar", + "jar_sha256": "876bb0035964899ab12c1b206948f4e943ffd3da48899ffe5e49b9733714ca26", + "key": "roborumble/krzysiek.robbo2.Robbo_1.0.0.jar", + "kind": "robot" + }, + "latest_observation": "f3397e3639521b5d", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6822.0, + "scores": [ + 3516.0, + 3306.0 + ], + "selected": "krzysiek.robbo2.Robbo 1.0.0" + }, + "completed_at": "2026-09-12T22:05:45Z", + "confirmation": null, + "delta_pct": -5.5, + "id": "f3397e3639521b5d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "krzysiek.robbo2.Robbo 1.0.0", + "division": "roborumble", + "jar": "krzysiek.robbo2.Robbo_1.0.0.jar", + "jar_sha256": "876bb0035964899ab12c1b206948f4e943ffd3da48899ffe5e49b9733714ca26", + "key": "roborumble/krzysiek.robbo2.Robbo_1.0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6444.0, + "scores": [ + 3234.0, + 3210.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/kvk.HebusLeTroll_0.41.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "kvk.HebusLeTroll 0.41", + "division": "roborumble", + "jar": "kvk.HebusLeTroll_0.41.jar", + "jar_sha256": "57766c7b0e6b100680a3348411fef3a8ae52290f0d20cfda33c331b692da4958", + "key": "roborumble/kvk.HebusLeTroll_0.41.jar", + "kind": "robot" + }, + "latest_observation": "a603f37930217598", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5374.0, + "scores": [ + 3289.0, + 2085.0 + ], + "selected": "kvk.HebusLeTroll 0.41" + }, + "completed_at": "2026-09-12T22:06:06Z", + "confirmation": null, + "delta_pct": 0.6, + "id": "a603f37930217598", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "kvk.HebusLeTroll 0.41", + "division": "roborumble", + "jar": "kvk.HebusLeTroll_0.41.jar", + "jar_sha256": "57766c7b0e6b100680a3348411fef3a8ae52290f0d20cfda33c331b692da4958", + "key": "roborumble/kvk.HebusLeTroll_0.41.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5406.0, + "scores": [ + 3022.0, + 2384.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/labg.Cataclysm_2.05.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "labg.Cataclysm 2.05", + "division": "roborumble", + "jar": "labg.Cataclysm_2.05.jar", + "jar_sha256": "58d3884b4920b28f5f1af63f7d496712384ceb8b0455919763a3bfb93d851946", + "key": "roborumble/labg.Cataclysm_2.05.jar", + "kind": "robot" + }, + "latest_observation": "a9a0290c0e4c2314", + "observations": [ + { + "classic": { + "elapsed": 4.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5935.0, + "scores": [ + 2728.0, + 3207.0 + ], + "selected": "labg.Cataclysm 2.05" + }, + "completed_at": "2026-09-12T22:06:35Z", + "confirmation": null, + "delta_pct": -3.7, + "id": "a9a0290c0e4c2314", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "labg.Cataclysm 2.05", + "division": "roborumble", + "jar": "labg.Cataclysm_2.05.jar", + "jar_sha256": "58d3884b4920b28f5f1af63f7d496712384ceb8b0455919763a3bfb93d851946", + "key": "roborumble/labg.Cataclysm_2.05.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5713.0, + "scores": [ + 2973.0, + 2740.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lancel.Lynx_1.09.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lancel.Lynx 1.09", + "division": "roborumble", + "jar": "lancel.Lynx_1.09.jar", + "jar_sha256": "a8e549d2f4cf825531916f3bea09c602551944bafc92fcd9a688e704f6eb5b1b", + "key": "roborumble/lancel.Lynx_1.09.jar", + "kind": "robot" + }, + "latest_observation": "14c27a857675b4a8", + "observations": [ + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5235.0, + "scores": [ + 2885.0, + 2350.0 + ], + "selected": "lancel.Lynx 1.09" + }, + "completed_at": "2026-09-12T22:07:08Z", + "confirmation": null, + "delta_pct": -6.2, + "id": "14c27a857675b4a8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lancel.Lynx 1.09", + "division": "roborumble", + "jar": "lancel.Lynx_1.09.jar", + "jar_sha256": "a8e549d2f4cf825531916f3bea09c602551944bafc92fcd9a688e704f6eb5b1b", + "key": "roborumble/lancel.Lynx_1.09.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4913.0, + "scores": [ + 2856.0, + 2057.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lazarecki.mega.PinkerStinker_0.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lazarecki.mega.PinkerStinker 0.7", + "division": "roborumble", + "jar": "lazarecki.mega.PinkerStinker_0.7.jar", + "jar_sha256": "6924c640accb0f17f1a5aba61905fe49ced403462421bba059fcb90d5e3534f4", + "key": "roborumble/lazarecki.mega.PinkerStinker_0.7.jar", + "kind": "robot" + }, + "latest_observation": "0e61361043708c08", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4721.0, + "scores": [ + 2079.0, + 2642.0 + ], + "selected": "lazarecki.mega.PinkerStinker 0.7" + }, + "completed_at": "2026-09-12T22:07:34Z", + "confirmation": null, + "delta_pct": 1.2, + "id": "0e61361043708c08", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lazarecki.mega.PinkerStinker 0.7", + "division": "roborumble", + "jar": "lazarecki.mega.PinkerStinker_0.7.jar", + "jar_sha256": "6924c640accb0f17f1a5aba61905fe49ced403462421bba059fcb90d5e3534f4", + "key": "roborumble/lazarecki.mega.PinkerStinker_0.7.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4780.0, + "scores": [ + 2663.0, + 2117.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/leb.ShootAnArrow_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "leb.ShootAnArrow 0.1", + "division": "roborumble", + "jar": "leb.ShootAnArrow_0.1.jar", + "jar_sha256": "cda587546a722389d0afcba2e6ea3b46d13699a5d95d528f8e316b9999f94b80", + "key": "roborumble/leb.ShootAnArrow_0.1.jar", + "kind": "robot" + }, + "latest_observation": "0698c06f0e3f3ad6", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5791.0, + "scores": [ + 3204.0, + 2587.0 + ], + "selected": "leb.ShootAnArrow 0.1" + }, + "completed_at": "2026-09-12T22:07:53Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "0698c06f0e3f3ad6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "leb.ShootAnArrow 0.1", + "division": "roborumble", + "jar": "leb.ShootAnArrow_0.1.jar", + "jar_sha256": "cda587546a722389d0afcba2e6ea3b46d13699a5d95d528f8e316b9999f94b80", + "key": "roborumble/leb.ShootAnArrow_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5683.0, + "scores": [ + 3091.0, + 2592.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lechu.Ala_0.0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lechu.Ala 0.0.4", + "division": "roborumble", + "jar": "lechu.Ala_0.0.4.jar", + "jar_sha256": "54a2d505e67b6a7393ed4ba00763754fa4c2e96f6435437a5c651732ca8b29a3", + "key": "roborumble/lechu.Ala_0.0.4.jar", + "kind": "robot" + }, + "latest_observation": "59668a0f570ebada", + "observations": [ + { + "classic": { + "elapsed": 9.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6034.0, + "scores": [ + 2603.0, + 3431.0 + ], + "selected": "lechu.Ala 0.0.4" + }, + "completed_at": "2026-09-12T22:08:47Z", + "confirmation": null, + "delta_pct": -5.2, + "id": "59668a0f570ebada", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lechu.Ala 0.0.4", + "division": "roborumble", + "jar": "lechu.Ala_0.0.4.jar", + "jar_sha256": "54a2d505e67b6a7393ed4ba00763754fa4c2e96f6435437a5c651732ca8b29a3", + "key": "roborumble/lechu.Ala_0.0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 44.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5723.0, + "scores": [ + 2897.0, + 2826.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lechu.Lechu_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lechu.Lechu 1.1", + "division": "roborumble", + "jar": "lechu.Lechu_1.1.jar", + "jar_sha256": "8533375040b9f858e480b423fff413460f20519ea11b41aeb0c1fae2367e3d0d", + "key": "roborumble/lechu.Lechu_1.1.jar", + "kind": "robot" + }, + "latest_observation": "f47bc92c4d2ff2ae", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 634.0, + "scores": [ + 482.0, + 152.0 + ], + "selected": "lechu.Lechu 1.1" + }, + "completed_at": "2026-09-12T22:09:14Z", + "confirmation": null, + "delta_pct": 261.8, + "id": "f47bc92c4d2ff2ae", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "07f66a1a2edceb2ac5f9350254c039775e045ebd", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lechu.Lechu 1.1", + "division": "roborumble", + "jar": "lechu.Lechu_1.1.jar", + "jar_sha256": "8533375040b9f858e480b423fff413460f20519ea11b41aeb0c1fae2367e3d0d", + "key": "roborumble/lechu.Lechu_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2294.0, + "scores": [ + 1158.0, + 1136.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/lessonz.robocode.Oz_0.5.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lessonz.robocode.Oz 0.5.0", + "division": "roborumble", + "jar": "lessonz.robocode.Oz_0.5.0.jar", + "jar_sha256": "4bd0078e14471f94a515e4d44b806a4e5cca3d65f75dc004d85ed802f25806fa", + "key": "roborumble/lessonz.robocode.Oz_0.5.0.jar", + "kind": "robot" + }, + "latest_observation": "3f66cee1b6bf3c7a", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6231.0, + "scores": [ + 2989.0, + 3242.0 + ], + "selected": "lessonz.robocode.Oz 0.5.0" + }, + "completed_at": "2026-09-12T22:11:49Z", + "confirmation": null, + "delta_pct": -38.9, + "id": "3f66cee1b6bf3c7a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lessonz.robocode.Oz 0.5.0", + "division": "roborumble", + "jar": "lessonz.robocode.Oz_0.5.0.jar", + "jar_sha256": "4bd0078e14471f94a515e4d44b806a4e5cca3d65f75dc004d85ed802f25806fa", + "key": "roborumble/lessonz.robocode.Oz_0.5.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3805.0, + "scores": [ + 2023.0, + 1782.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/lion.Kresnanano_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lion.Kresnanano 1.0", + "division": "roborumble", + "jar": "lion.Kresnanano_1.0.jar", + "jar_sha256": "cce45a74564ff8b9d8920955b54b0857fd3dcb4b16b070d3d236a6c519525c98", + "key": "roborumble/lion.Kresnanano_1.0.jar", + "kind": "robot" + }, + "latest_observation": "48ed3b0e1c077d70", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4834.0, + "scores": [ + 2429.0, + 2405.0 + ], + "selected": "lion.Kresnanano 1.0" + }, + "completed_at": "2026-09-12T22:12:10Z", + "confirmation": null, + "delta_pct": 0.9, + "id": "48ed3b0e1c077d70", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lion.Kresnanano 1.0", + "division": "roborumble", + "jar": "lion.Kresnanano_1.0.jar", + "jar_sha256": "cce45a74564ff8b9d8920955b54b0857fd3dcb4b16b070d3d236a6c519525c98", + "key": "roborumble/lion.Kresnanano_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4878.0, + "scores": [ + 2483.0, + 2395.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lk.nano.Avesnar_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lk.nano.Avesnar 1.1", + "division": "roborumble", + "jar": "lk.nano.Avesnar_1.1.jar", + "jar_sha256": "5e93a830aad46fd45eac1ecdd0774b6b0bb8246b96a6a199609a0c78a08fc44a", + "key": "roborumble/lk.nano.Avesnar_1.1.jar", + "kind": "robot" + }, + "latest_observation": "43dd6d385a5afa38", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4747.0, + "scores": [ + 2107.0, + 2640.0 + ], + "selected": "lk.nano.Avesnar 1.1" + }, + "completed_at": "2026-09-12T22:12:25Z", + "confirmation": null, + "delta_pct": -45.9, + "id": "43dd6d385a5afa38", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lk.nano.Avesnar 1.1", + "division": "roborumble", + "jar": "lk.nano.Avesnar_1.1.jar", + "jar_sha256": "5e93a830aad46fd45eac1ecdd0774b6b0bb8246b96a6a199609a0c78a08fc44a", + "key": "roborumble/lk.nano.Avesnar_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2568.0, + "scores": [ + 1520.0, + 1048.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/lmk.ACPFinal_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lmk.ACPFinal 0.2", + "division": "roborumble", + "jar": "lmk.ACPFinal_0.2.jar", + "jar_sha256": "6c4ab43731dcd0f838a10fcdb97cefbfccde6e4d37902fe9cb49d9790222aa3e", + "key": "roborumble/lmk.ACPFinal_0.2.jar", + "kind": "robot" + }, + "latest_observation": "c387423c5cc4d80c", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8056.0, + "scores": [ + 4454.0, + 3602.0 + ], + "selected": "lmk.ACPFinal 0.2" + }, + "completed_at": "2026-09-12T22:12:46Z", + "confirmation": null, + "delta_pct": 5.8, + "id": "c387423c5cc4d80c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lmk.ACPFinal 0.2", + "division": "roborumble", + "jar": "lmk.ACPFinal_0.2.jar", + "jar_sha256": "6c4ab43731dcd0f838a10fcdb97cefbfccde6e4d37902fe9cb49d9790222aa3e", + "key": "roborumble/lmk.ACPFinal_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8521.0, + "scores": [ + 4495.0, + 4026.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/logiblocs.Fire_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "logiblocs.Fire 1.0", + "division": "roborumble", + "jar": "logiblocs.Fire_1.0.jar", + "jar_sha256": "e7999754905f742a89d3b91a1574c3427f590262768b51c8c40088a7c387a3e6", + "key": "roborumble/logiblocs.Fire_1.0.jar", + "kind": "robot" + }, + "latest_observation": "4a263e819ee273fa", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1486.0, + "scores": [ + 610.0, + 876.0 + ], + "selected": "logiblocs.Fire 1.0" + }, + "completed_at": "2026-09-12T22:13:32Z", + "confirmation": null, + "delta_pct": 138.2, + "id": "4a263e819ee273fa", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "logiblocs.Fire 1.0", + "division": "roborumble", + "jar": "logiblocs.Fire_1.0.jar", + "jar_sha256": "e7999754905f742a89d3b91a1574c3427f590262768b51c8c40088a7c387a3e6", + "key": "roborumble/logiblocs.Fire_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3539.0, + "scores": [ + 1845.0, + 1694.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/logiblocs.SittingDroid_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "logiblocs.SittingDroid 1.0", + "division": "roborumble", + "jar": "logiblocs.SittingDroid_1.0.jar", + "jar_sha256": "e70415ac11e28151624b309c1006aab3dc7285e36083d6d5b98e3c31977c763c", + "key": "roborumble/logiblocs.SittingDroid_1.0.jar", + "kind": "robot" + }, + "latest_observation": "aad8e7c68a03e5dd", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "logiblocs.SittingDroid 1.0" + }, + "completed_at": "2026-09-12T22:14:08Z", + "confirmation": null, + "delta_pct": null, + "id": "aad8e7c68a03e5dd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "logiblocs.SittingDroid 1.0", + "division": "roborumble", + "jar": "logiblocs.SittingDroid_1.0.jar", + "jar_sha256": "e70415ac11e28151624b309c1006aab3dc7285e36083d6d5b98e3c31977c763c", + "key": "roborumble/logiblocs.SittingDroid_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/lorneswork.Predator_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lorneswork.Predator 1.0", + "division": "roborumble", + "jar": "lorneswork.Predator_1.0.jar", + "jar_sha256": "af75898eac7a0de312f3d96b701b8c1ae3c34152986b76fc4cd575c5a08ae07d", + "key": "roborumble/lorneswork.Predator_1.0.jar", + "kind": "robot" + }, + "latest_observation": "93c5ace4d4087b33", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6941.0, + "scores": [ + 3567.0, + 3374.0 + ], + "selected": "lorneswork.Predator 1.0" + }, + "completed_at": "2026-09-12T22:14:36Z", + "confirmation": null, + "delta_pct": -57.2, + "id": "93c5ace4d4087b33", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lorneswork.Predator 1.0", + "division": "roborumble", + "jar": "lorneswork.Predator_1.0.jar", + "jar_sha256": "af75898eac7a0de312f3d96b701b8c1ae3c34152986b76fc4cd575c5a08ae07d", + "key": "roborumble/lorneswork.Predator_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2974.0, + "scores": [ + 1547.0, + 1427.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/lrem.Spectre_0.4.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lrem.Spectre 0.4.4", + "division": "roborumble", + "jar": "lrem.Spectre_0.4.4.jar", + "jar_sha256": "13908701ac6fc031eb4f4e1161869f0d6879a3b51c727ebf1aab3afaee2bce0d", + "key": "roborumble/lrem.Spectre_0.4.4.jar", + "kind": "robot" + }, + "latest_observation": "1d0e2d5ce38f97d9", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5523.0, + "scores": [ + 3518.0, + 2005.0 + ], + "selected": "lrem.Spectre 0.4.4" + }, + "completed_at": "2026-09-12T22:16:23Z", + "confirmation": null, + "delta_pct": -3.6, + "id": "1d0e2d5ce38f97d9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lrem.Spectre 0.4.4", + "division": "roborumble", + "jar": "lrem.Spectre_0.4.4.jar", + "jar_sha256": "13908701ac6fc031eb4f4e1161869f0d6879a3b51c727ebf1aab3afaee2bce0d", + "key": "roborumble/lrem.Spectre_0.4.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5326.0, + "scores": [ + 2691.0, + 2635.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lrem.magic.TormentedAngel_Antiquitie.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lrem.magic.TormentedAngel Antiquitie", + "division": "roborumble", + "jar": "lrem.magic.TormentedAngel_Antiquitie.jar", + "jar_sha256": "13db20fad5b82429eeb12231bab993a821dc4d87fd0f2eb9e1da0d5bdc867026", + "key": "roborumble/lrem.magic.TormentedAngel_Antiquitie.jar", + "kind": "robot" + }, + "latest_observation": "1a3635553148abba", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4339.0, + "scores": [ + 2165.0, + 2174.0 + ], + "selected": "lrem.magic.TormentedAngel Antiquitie" + }, + "completed_at": "2026-09-12T22:14:51Z", + "confirmation": null, + "delta_pct": null, + "id": "1a3635553148abba", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lrem.magic.TormentedAngel Antiquitie", + "division": "roborumble", + "jar": "lrem.magic.TormentedAngel_Antiquitie.jar", + "jar_sha256": "13db20fad5b82429eeb12231bab993a821dc4d87fd0f2eb9e1da0d5bdc867026", + "key": "roborumble/lrem.magic.TormentedAngel_Antiquitie.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "lrem.magic.TormentedAngel.onScannedRobot" + ] + ], + "elapsed": 12.2, + "error_count": 38, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "lrem.magic.TormentedAngel.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 74 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 74 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 73 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 73 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 73 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 73 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 74 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 73 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 73 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 78 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 78 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 78 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 78 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 78 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 78 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 76 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 76 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 81 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 79 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 79 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 80 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 80 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 80 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 80 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 80 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 78 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 77 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 77 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 79 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 74 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 73", + "java.lang.ArrayIndexOutOfBoundsException: Index 75 out of bounds for length 73" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/lrem.micro.FalseProphet_Alpha.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lrem.micro.FalseProphet Alpha", + "division": "roborumble", + "jar": "lrem.micro.FalseProphet_Alpha.jar", + "jar_sha256": "462500d1b015a45ed23ee01b9cf2040f3ccf4c754231e6f44905fd5b8cee1c7e", + "key": "roborumble/lrem.micro.FalseProphet_Alpha.jar", + "kind": "robot" + }, + "latest_observation": "4b8e46bd1fa2a17e", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7617.0, + "scores": [ + 4170.0, + 3447.0 + ], + "selected": "lrem.micro.FalseProphet Alpha" + }, + "completed_at": "2026-09-12T22:15:11Z", + "confirmation": null, + "delta_pct": 4.5, + "id": "4b8e46bd1fa2a17e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lrem.micro.FalseProphet Alpha", + "division": "roborumble", + "jar": "lrem.micro.FalseProphet_Alpha.jar", + "jar_sha256": "462500d1b015a45ed23ee01b9cf2040f3ccf4c754231e6f44905fd5b8cee1c7e", + "key": "roborumble/lrem.micro.FalseProphet_Alpha.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7960.0, + "scores": [ + 4187.0, + 3773.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lrem.micro.MoggFanatic_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lrem.micro.MoggFanatic 0.2", + "division": "roborumble", + "jar": "lrem.micro.MoggFanatic_0.2.jar", + "jar_sha256": "d86851f162a0b4605b22eafc7ddb365c52914ad2ed05805a46bbc3ad8faedad5", + "key": "roborumble/lrem.micro.MoggFanatic_0.2.jar", + "kind": "robot" + }, + "latest_observation": "b7960b67823865c0", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10477.0, + "scores": [ + 5546.0, + 4931.0 + ], + "selected": "lrem.micro.MoggFanatic 0.2" + }, + "completed_at": "2026-09-12T22:15:25Z", + "confirmation": null, + "delta_pct": -0.4, + "id": "b7960b67823865c0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lrem.micro.MoggFanatic 0.2", + "division": "roborumble", + "jar": "lrem.micro.MoggFanatic_0.2.jar", + "jar_sha256": "d86851f162a0b4605b22eafc7ddb365c52914ad2ed05805a46bbc3ad8faedad5", + "key": "roborumble/lrem.micro.MoggFanatic_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10430.0, + "scores": [ + 5295.0, + 5135.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lrem.quickhack.QuickHack_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lrem.quickhack.QuickHack 1.0", + "division": "roborumble", + "jar": "lrem.quickhack.QuickHack_1.0.jar", + "jar_sha256": "507384805e1ed95a3223f56e2a054c1013ace180c561fd2b4260f2ff880a161f", + "key": "roborumble/lrem.quickhack.QuickHack_1.0.jar", + "kind": "robot" + }, + "latest_observation": "28eb9e453aea91dd", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6200.0, + "scores": [ + 3079.0, + 3121.0 + ], + "selected": "lrem.quickhack.QuickHack 1.0" + }, + "completed_at": "2026-09-12T22:15:53Z", + "confirmation": null, + "delta_pct": -36.7, + "id": "28eb9e453aea91dd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lrem.quickhack.QuickHack 1.0", + "division": "roborumble", + "jar": "lrem.quickhack.QuickHack_1.0.jar", + "jar_sha256": "507384805e1ed95a3223f56e2a054c1013ace180c561fd2b4260f2ff880a161f", + "key": "roborumble/lrem.quickhack.QuickHack_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3924.0, + "scores": [ + 2151.0, + 1773.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/lucasslf.Dodger_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lucasslf.Dodger 1.0", + "division": "roborumble", + "jar": "lucasslf.Dodger_1.0.jar", + "jar_sha256": "bfe4ab2ac20728b165653958203bfb9469d9bc66f5a8a9f44503863646ad3cc6", + "key": "roborumble/lucasslf.Dodger_1.0.jar", + "kind": "robot" + }, + "latest_observation": "7239cc6c0c46a0c8", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5165.0, + "scores": [ + 2708.0, + 2457.0 + ], + "selected": "lucasslf.Dodger 1.0" + }, + "completed_at": "2026-09-12T22:16:52Z", + "confirmation": null, + "delta_pct": -4.4, + "id": "7239cc6c0c46a0c8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lucasslf.Dodger 1.0", + "division": "roborumble", + "jar": "lucasslf.Dodger_1.0.jar", + "jar_sha256": "bfe4ab2ac20728b165653958203bfb9469d9bc66f5a8a9f44503863646ad3cc6", + "key": "roborumble/lucasslf.Dodger_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4937.0, + "scores": [ + 2511.0, + 2426.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lucasslf.HariSeldon_0.2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lucasslf.HariSeldon 0.2.1", + "division": "roborumble", + "jar": "lucasslf.HariSeldon_0.2.1.jar", + "jar_sha256": "cd019d8e91c8b0b8fa2e6952fc72e0a7b6c6bd82a0fb12ac6f47d8aab2fffd60", + "key": "roborumble/lucasslf.HariSeldon_0.2.1.jar", + "kind": "robot" + }, + "latest_observation": "28509d8468b5a013", + "observations": [ + { + "classic": { + "elapsed": 36.0, + "error_count": 8, + "error_signatures": [ + { + "exception": "java.lang.IllegalArgumentException", + "origin": "lucasslf.wavesurfing.BasicWaveSurfer.doSurfing" + } + ], + "errors": [ + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.ScannedRobotEvent", + "java.lang.IllegalArgumentException: Color parameter outside of expected range: Green Blue", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.ScannedRobotEvent", + "java.lang.IllegalArgumentException: Color parameter outside of expected range: Green Blue", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.ScannedRobotEvent", + "java.lang.IllegalArgumentException: Color parameter outside of expected range: Green Blue", + "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.ScannedRobotEvent", + "java.lang.IllegalArgumentException: Color parameter outside of expected range: Green Blue" + ], + "has_log": true, + "ok": true, + "score": 4832.0, + "scores": [ + 2794.0, + 2038.0 + ], + "selected": "lucasslf.HariSeldon 0.2.1" + }, + "completed_at": "2026-09-12T22:19:19Z", + "confirmation": null, + "delta_pct": -28.9, + "id": "28509d8468b5a013", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lucasslf.HariSeldon 0.2.1", + "division": "roborumble", + "jar": "lucasslf.HariSeldon_0.2.1.jar", + "jar_sha256": "cd019d8e91c8b0b8fa2e6952fc72e0a7b6c6bd82a0fb12ac6f47d8aab2fffd60", + "key": "roborumble/lucasslf.HariSeldon_0.2.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 110.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3437.0, + "scores": [ + 1929.0, + 1508.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/lucasslf.Wiggins_0.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lucasslf.Wiggins 0.6", + "division": "roborumble", + "jar": "lucasslf.Wiggins_0.6.jar", + "jar_sha256": "0d6e10cf5b35b4dc1ab39f5c4655dfcd3006066a02a6d864883abf848eaac623", + "key": "roborumble/lucasslf.Wiggins_0.6.jar", + "kind": "robot" + }, + "latest_observation": "b50943d38ca71c98", + "observations": [ + { + "classic": { + "elapsed": 5.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4737.0, + "scores": [ + 2861.0, + 1876.0 + ], + "selected": "lucasslf.Wiggins 0.6" + }, + "completed_at": "2026-09-12T22:19:59Z", + "confirmation": null, + "delta_pct": -12.7, + "id": "b50943d38ca71c98", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lucasslf.Wiggins 0.6", + "division": "roborumble", + "jar": "lucasslf.Wiggins_0.6.jar", + "jar_sha256": "0d6e10cf5b35b4dc1ab39f5c4655dfcd3006066a02a6d864883abf848eaac623", + "key": "roborumble/lucasslf.Wiggins_0.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4136.0, + "scores": [ + 2192.0, + 1944.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lunchie.Lunchbox_0.93.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lunchie.Lunchbox 0.93", + "division": "roborumble", + "jar": "lunchie.Lunchbox_0.93.jar", + "jar_sha256": "f18a594374d37eb1d25870aa5cb66991ce69e95f25bd6e2c0697615d74385a37", + "key": "roborumble/lunchie.Lunchbox_0.93.jar", + "kind": "robot" + }, + "latest_observation": "b31d8ac9eebc5fa9", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7198.0, + "scores": [ + 3382.0, + 3816.0 + ], + "selected": "lunchie.Lunchbox 0.93" + }, + "completed_at": "2026-09-12T22:20:21Z", + "confirmation": null, + "delta_pct": -21.3, + "id": "b31d8ac9eebc5fa9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lunchie.Lunchbox 0.93", + "division": "roborumble", + "jar": "lunchie.Lunchbox_0.93.jar", + "jar_sha256": "f18a594374d37eb1d25870aa5cb66991ce69e95f25bd6e2c0697615d74385a37", + "key": "roborumble/lunchie.Lunchbox_0.93.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5667.0, + "scores": [ + 2876.0, + 2791.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lundal.Mark8_2012.09.15.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lundal.Mark8 2012.09.15", + "division": "roborumble", + "jar": "lundal.Mark8_2012.09.15.jar", + "jar_sha256": "c9c34fad58960fff2f8ed9e446f946a8b19f47f78c7b016ca8c9af1fc847504c", + "key": "roborumble/lundal.Mark8_2012.09.15.jar", + "kind": "robot" + }, + "latest_observation": "d458f8fa15325d61", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3036.0, + "scores": [ + 1653.0, + 1383.0 + ], + "selected": "lundal.Mark8 2012.09.15" + }, + "completed_at": "2026-09-12T22:20:46Z", + "confirmation": null, + "delta_pct": -6.4, + "id": "d458f8fa15325d61", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lundal.Mark8 2012.09.15", + "division": "roborumble", + "jar": "lundal.Mark8_2012.09.15.jar", + "jar_sha256": "c9c34fad58960fff2f8ed9e446f946a8b19f47f78c7b016ca8c9af1fc847504c", + "key": "roborumble/lundal.Mark8_2012.09.15.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2843.0, + "scores": [ + 1588.0, + 1255.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lw.LuthersTest_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lw.LuthersTest 0.1", + "division": "roborumble", + "jar": "lw.LuthersTest_0.1.jar", + "jar_sha256": "5feab551a19acdfce6b99b1f18654fd917b5795ea9fe87fcc09dc9c2468b340f", + "key": "roborumble/lw.LuthersTest_0.1.jar", + "kind": "robot" + }, + "latest_observation": "11df5e06936f47fb", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10431.0, + "scores": [ + 5271.0, + 5160.0 + ], + "selected": "lw.LuthersTest 0.1" + }, + "completed_at": "2026-09-12T22:21:26Z", + "confirmation": null, + "delta_pct": -25.7, + "id": "11df5e06936f47fb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lw.LuthersTest 0.1", + "division": "roborumble", + "jar": "lw.LuthersTest_0.1.jar", + "jar_sha256": "5feab551a19acdfce6b99b1f18654fd917b5795ea9fe87fcc09dc9c2468b340f", + "key": "roborumble/lw.LuthersTest_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7751.0, + "scores": [ + 4175.0, + 3576.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/lxx.ConceptA_0.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lxx.ConceptA 0.8", + "division": "roborumble", + "jar": "lxx.ConceptA_0.8.jar", + "jar_sha256": "d11a47c7e403047f1402873a421d106d1dee72f7b678222e47eed08ce83ff9a2", + "key": "roborumble/lxx.ConceptA_0.8.jar", + "kind": "robot" + }, + "latest_observation": "b533f0655584641d", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3932.0, + "scores": [ + 2330.0, + 1602.0 + ], + "selected": "lxx.ConceptA 0.8" + }, + "completed_at": "2026-09-12T22:21:50Z", + "confirmation": null, + "delta_pct": 3.8, + "id": "b533f0655584641d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lxx.ConceptA 0.8", + "division": "roborumble", + "jar": "lxx.ConceptA_0.8.jar", + "jar_sha256": "d11a47c7e403047f1402873a421d106d1dee72f7b678222e47eed08ce83ff9a2", + "key": "roborumble/lxx.ConceptA_0.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4083.0, + "scores": [ + 2044.0, + 2039.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lxx.Emerald_0.6.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lxx.Emerald 0.6.5", + "division": "roborumble", + "jar": "lxx.Emerald_0.6.5.jar", + "jar_sha256": "77c49b0700265e1c9fffacddd55a78fefb2badbe60997284d27db31511064c92", + "key": "roborumble/lxx.Emerald_0.6.5.jar", + "kind": "robot" + }, + "latest_observation": "e1f2d59c5739168c", + "observations": [ + { + "classic": { + "elapsed": 7.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3981.0, + "scores": [ + 1577.0, + 2404.0 + ], + "selected": "lxx.Emerald 0.6.5" + }, + "completed_at": "2026-09-12T22:23:00Z", + "confirmation": null, + "delta_pct": -9.7, + "id": "e1f2d59c5739168c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lxx.Emerald 0.6.5", + "division": "roborumble", + "jar": "lxx.Emerald_0.6.5.jar", + "jar_sha256": "77c49b0700265e1c9fffacddd55a78fefb2badbe60997284d27db31511064c92", + "key": "roborumble/lxx.Emerald_0.6.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 62.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3594.0, + "scores": [ + 2252.0, + 1342.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/lxx.Tomcat_3.68.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "lxx.Tomcat 3.68", + "division": "roborumble", + "jar": "lxx.Tomcat_3.68.jar", + "jar_sha256": "c549c10c5958f19440734d51361ce84c1608ca473dcacad3dc3e5124c035ee55", + "key": "roborumble/lxx.Tomcat_3.68.jar", + "kind": "robot" + }, + "latest_observation": "e788aec118e82732", + "observations": [ + { + "classic": { + "elapsed": 15.8, + "error_count": 1, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "lxx.bullets.enemy.EnemyBulletManager.getBulletShadows" + } + ], + "errors": [ + "java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0" + ], + "has_log": true, + "ok": true, + "score": 4949.0, + "scores": [ + 2498.0, + 2451.0 + ], + "selected": "lxx.Tomcat 3.68" + }, + "completed_at": "2026-09-12T22:24:14Z", + "confirmation": null, + "delta_pct": -4.8, + "id": "e788aec118e82732", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "lxx.Tomcat 3.68", + "division": "roborumble", + "jar": "lxx.Tomcat_3.68.jar", + "jar_sha256": "c549c10c5958f19440734d51361ce84c1608ca473dcacad3dc3e5124c035ee55", + "key": "roborumble/lxx.Tomcat_3.68.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 58.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4712.0, + "scores": [ + 2420.0, + 2292.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/m3thos.Eva00_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "m3thos.Eva00 1.1", + "division": "roborumble", + "jar": "m3thos.Eva00_1.1.jar", + "jar_sha256": "b834a8def7ee3dd24725ebc7c2fa244c24185f898d4271e9de8905d3ff6d5ea1", + "key": "roborumble/m3thos.Eva00_1.1.jar", + "kind": "robot" + }, + "latest_observation": "dd5208c15051255e", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4455.0, + "scores": [ + 2086.0, + 2369.0 + ], + "selected": "m3thos.Eva00 1.1" + }, + "completed_at": "2026-09-12T22:24:31Z", + "confirmation": null, + "delta_pct": -16.8, + "id": "dd5208c15051255e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "3bcf7518cd5a07d1296e256ea4e102f9e3eabe38", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "m3thos.Eva00 1.1", + "division": "roborumble", + "jar": "m3thos.Eva00_1.1.jar", + "jar_sha256": "b834a8def7ee3dd24725ebc7c2fa244c24185f898d4271e9de8905d3ff6d5ea1", + "key": "roborumble/m3thos.Eva00_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3706.0, + "scores": [ + 1899.0, + 1807.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/m3thos.Eva02_0.7.1.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "m3thos.Eva02 0.7.1", + "division": "roborumble", + "jar": "m3thos.Eva02_0.7.1.jar", + "jar_sha256": "a701e12fadda3d024e39051efa6ea34a3b042dbe21243c566753d9877bfb273f", + "key": "roborumble/m3thos.Eva02_0.7.1.jar", + "kind": "robot" + }, + "latest_observation": "fac5aed9195e2513", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5803.0, + "scores": [ + 2701.0, + 3102.0 + ], + "selected": "m3thos.Eva02 0.7.1" + }, + "completed_at": "2026-09-12T22:25:34Z", + "confirmation": null, + "delta_pct": null, + "id": "5ff80459c930a46d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "m3thos.Eva02 0.7.1", + "division": "roborumble", + "jar": "m3thos.Eva02_0.7.1.jar", + "jar_sha256": "a701e12fadda3d024e39051efa6ea34a3b042dbe21243c566753d9877bfb273f", + "key": "roborumble/m3thos.Eva02_0.7.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Eva02 0.7.1 (Miguel S. Filipe (miguel.filipe@gmail.com) ) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5504.0, + "scores": [ + 2155.0, + 3349.0 + ], + "selected": "m3thos.Eva02 0.7.1" + }, + "completed_at": "2026-09-22T14:38:34Z", + "confirmation": null, + "delta_pct": null, + "id": "e467474760567ece", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "m3thos.Eva02 0.7.1", + "division": "roborumble", + "jar": "m3thos.Eva02_0.7.1.jar", + "jar_sha256": "a701e12fadda3d024e39051efa6ea34a3b042dbe21243c566753d9877bfb273f", + "key": "roborumble/m3thos.Eva02_0.7.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Eva02 0.7.1 (Miguel S. Filipe (miguel.filipe@gmail.com) ) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5415.0, + "scores": [ + 2493.0, + 2922.0 + ], + "selected": "m3thos.Eva02 0.7.1" + }, + "completed_at": "2026-09-22T14:51:40Z", + "confirmation": null, + "delta_pct": null, + "id": "fac5aed9195e2513", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "m3thos.Eva02 0.7.1", + "division": "roborumble", + "jar": "m3thos.Eva02_0.7.1.jar", + "jar_sha256": "a701e12fadda3d024e39051efa6ea34a3b042dbe21243c566753d9877bfb273f", + "key": "roborumble/m3thos.Eva02_0.7.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Eva02 0.7.1 (Miguel S. Filipe (miguel.filipe@gmail.com) ) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/m3thos.mini.Eva01_0.5.5.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "m3thos.mini.Eva01 0.5.5", + "division": "roborumble", + "jar": "m3thos.mini.Eva01_0.5.5.jar", + "jar_sha256": "79258e6872e2b3d905481f6dbb5686c32a14b1ae8531c79c881fdbb16e0754a2", + "key": "roborumble/m3thos.mini.Eva01_0.5.5.jar", + "kind": "robot" + }, + "latest_observation": "47eb30ecf7fb1625", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4884.0, + "scores": [ + 2370.0, + 2514.0 + ], + "selected": "m3thos.mini.Eva01 0.5.5" + }, + "completed_at": "2026-09-12T22:26:11Z", + "confirmation": null, + "delta_pct": null, + "id": "b9e4c8f459ecab10", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "m3thos.mini.Eva01 0.5.5", + "division": "roborumble", + "jar": "m3thos.mini.Eva01_0.5.5.jar", + "jar_sha256": "79258e6872e2b3d905481f6dbb5686c32a14b1ae8531c79c881fdbb16e0754a2", + "key": "roborumble/m3thos.mini.Eva01_0.5.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Eva01 0.5.5 (Miguel S. Filipe (miguel.filipe@gmail.com) ) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4920.0, + "scores": [ + 2336.0, + 2584.0 + ], + "selected": "m3thos.mini.Eva01 0.5.5" + }, + "completed_at": "2026-09-22T14:39:10Z", + "confirmation": null, + "delta_pct": null, + "id": "39923b11ca37b6ce", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "m3thos.mini.Eva01 0.5.5", + "division": "roborumble", + "jar": "m3thos.mini.Eva01_0.5.5.jar", + "jar_sha256": "79258e6872e2b3d905481f6dbb5686c32a14b1ae8531c79c881fdbb16e0754a2", + "key": "roborumble/m3thos.mini.Eva01_0.5.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Eva01 0.5.5 (Miguel S. Filipe (miguel.filipe@gmail.com) ) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4643.0, + "scores": [ + 2410.0, + 2233.0 + ], + "selected": "m3thos.mini.Eva01 0.5.5" + }, + "completed_at": "2026-09-22T14:52:16Z", + "confirmation": null, + "delta_pct": null, + "id": "47eb30ecf7fb1625", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "m3thos.mini.Eva01 0.5.5", + "division": "roborumble", + "jar": "m3thos.mini.Eva01_0.5.5.jar", + "jar_sha256": "79258e6872e2b3d905481f6dbb5686c32a14b1ae8531c79c881fdbb16e0754a2", + "key": "roborumble/m3thos.mini.Eva01_0.5.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Eva01 0.5.5 (Miguel S. Filipe (miguel.filipe@gmail.com) ) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/ma.is.fon.rs.RobotA_0.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ma.is.fon.rs.RobotA 0.01", + "division": "roborumble", + "jar": "ma.is.fon.rs.RobotA_0.01.jar", + "jar_sha256": "4462fc6c458c7a65d32345b0940116241c43416c7448dc02c7dd8c743c764f5b", + "key": "roborumble/ma.is.fon.rs.RobotA_0.01.jar", + "kind": "robot" + }, + "latest_observation": "a074520b2159b864", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12819.0, + "scores": [ + 6432.0, + 6387.0 + ], + "selected": "ma.is.fon.rs.RobotA 0.01" + }, + "completed_at": "2026-09-12T22:26:24Z", + "confirmation": null, + "delta_pct": -43.2, + "id": "a074520b2159b864", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ma.is.fon.rs.RobotA 0.01", + "division": "roborumble", + "jar": "ma.is.fon.rs.RobotA_0.01.jar", + "jar_sha256": "4462fc6c458c7a65d32345b0940116241c43416c7448dc02c7dd8c743c764f5b", + "key": "roborumble/ma.is.fon.rs.RobotA_0.01.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7283.0, + "scores": [ + 3907.0, + 3376.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/madmath.Cow_0.1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "madmath.Cow 0.1.1", + "division": "roborumble", + "jar": "madmath.Cow_0.1.1.jar", + "jar_sha256": "939c09b0fc2cd80d024bd286dd37cad3e78e0377b4d78a04ba29466c68d7d51c", + "key": "roborumble/madmath.Cow_0.1.1.jar", + "kind": "robot" + }, + "latest_observation": "25cbd1ecf5367e95", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6666.0, + "scores": [ + 3397.0, + 3269.0 + ], + "selected": "madmath.Cow 0.1.1" + }, + "completed_at": "2026-09-12T22:26:47Z", + "confirmation": null, + "delta_pct": -29.8, + "id": "25cbd1ecf5367e95", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "madmath.Cow 0.1.1", + "division": "roborumble", + "jar": "madmath.Cow_0.1.1.jar", + "jar_sha256": "939c09b0fc2cd80d024bd286dd37cad3e78e0377b4d78a04ba29466c68d7d51c", + "key": "roborumble/madmath.Cow_0.1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4679.0, + "scores": [ + 2368.0, + 2311.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mae.Mae1_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mae.Mae1 1.1", + "division": "roborumble", + "jar": "mae.Mae1_1.1.jar", + "jar_sha256": "afb700570624c8e756276070b5990e844d915a3adce280e7e8210c20007734a3", + "key": "roborumble/mae.Mae1_1.1.jar", + "kind": "robot" + }, + "latest_observation": "a5d90777e3acda8b", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4332.0, + "scores": [ + 1860.0, + 2472.0 + ], + "selected": "mae.Mae1 1.1" + }, + "completed_at": "2026-09-12T22:27:15Z", + "confirmation": null, + "delta_pct": 0.4, + "id": "a5d90777e3acda8b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mae.Mae1 1.1", + "division": "roborumble", + "jar": "mae.Mae1_1.1.jar", + "jar_sha256": "afb700570624c8e756276070b5990e844d915a3adce280e7e8210c20007734a3", + "key": "roborumble/mae.Mae1_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4348.0, + "scores": [ + 2260.0, + 2088.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mahrgell.mahrram_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mahrgell.mahrram 1.3", + "division": "roborumble", + "jar": "mahrgell.mahrram_1.3.jar", + "jar_sha256": "c247e3f74c6df857559b04caf7ceab0e84377b7337696d14ec390ad4508552d6", + "key": "roborumble/mahrgell.mahrram_1.3.jar", + "kind": "robot" + }, + "latest_observation": "8a064582ce83895d", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10530.0, + "scores": [ + 5158.0, + 5372.0 + ], + "selected": "mahrgell.mahrram 1.3" + }, + "completed_at": "2026-09-12T22:27:27Z", + "confirmation": null, + "delta_pct": 49.4, + "id": "8a064582ce83895d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mahrgell.mahrram 1.3", + "division": "roborumble", + "jar": "mahrgell.mahrram_1.3.jar", + "jar_sha256": "c247e3f74c6df857559b04caf7ceab0e84377b7337696d14ec390ad4508552d6", + "key": "roborumble/mahrgell.mahrram_1.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 15731.0, + "scores": [ + 7927.0, + 7804.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/marcinek.TopGun_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "marcinek.TopGun 1.3", + "division": "roborumble", + "jar": "marcinek.TopGun_1.3.jar", + "jar_sha256": "fda768f7f481f2b58fe981313406b3df237d1e11ed3fa7ac1685bbbcac4c5bb8", + "key": "roborumble/marcinek.TopGun_1.3.jar", + "kind": "robot" + }, + "latest_observation": "1753ac81f37305a4", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7527.0, + "scores": [ + 3574.0, + 3953.0 + ], + "selected": "marcinek.TopGun 1.3" + }, + "completed_at": "2026-09-12T22:27:44Z", + "confirmation": null, + "delta_pct": -1.0, + "id": "1753ac81f37305a4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "marcinek.TopGun 1.3", + "division": "roborumble", + "jar": "marcinek.TopGun_1.3.jar", + "jar_sha256": "fda768f7f481f2b58fe981313406b3df237d1e11ed3fa7ac1685bbbcac4c5bb8", + "key": "roborumble/marcinek.TopGun_1.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7449.0, + "scores": [ + 4277.0, + 3172.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/maribo.FollowFire_1.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "maribo.FollowFire 1.11", + "division": "roborumble", + "jar": "maribo.FollowFire_1.11.jar", + "jar_sha256": "967c1664e3ae827c9fcec77b419184f6f65e737e18eb568d4ca1c48eba6b205e", + "key": "roborumble/maribo.FollowFire_1.11.jar", + "kind": "robot" + }, + "latest_observation": "8c3f1a7c4da1872b", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10474.0, + "scores": [ + 4898.0, + 5576.0 + ], + "selected": "maribo.FollowFire 1.11" + }, + "completed_at": "2026-09-12T22:27:56Z", + "confirmation": null, + "delta_pct": 59.1, + "id": "8c3f1a7c4da1872b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "maribo.FollowFire 1.11", + "division": "roborumble", + "jar": "maribo.FollowFire_1.11.jar", + "jar_sha256": "967c1664e3ae827c9fcec77b419184f6f65e737e18eb568d4ca1c48eba6b205e", + "key": "roborumble/maribo.FollowFire_1.11.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 16664.0, + "scores": [ + 8452.0, + 8212.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/maribo.IotaCT_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "maribo.IotaCT 1.0", + "division": "roborumble", + "jar": "maribo.IotaCT_1.0.jar", + "jar_sha256": "a771a4cc8c31356a8af7e1125f9cfabd9622c98c007726f2aa39eb7ec77e17c8", + "key": "roborumble/maribo.IotaCT_1.0.jar", + "kind": "robot" + }, + "latest_observation": "99e8e67f560ef782", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8989.0, + "scores": [ + 4921.0, + 4068.0 + ], + "selected": "maribo.IotaCT 1.0" + }, + "completed_at": "2026-09-12T22:28:13Z", + "confirmation": null, + "delta_pct": -14.7, + "id": "99e8e67f560ef782", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "maribo.IotaCT 1.0", + "division": "roborumble", + "jar": "maribo.IotaCT_1.0.jar", + "jar_sha256": "a771a4cc8c31356a8af7e1125f9cfabd9622c98c007726f2aa39eb7ec77e17c8", + "key": "roborumble/maribo.IotaCT_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7666.0, + "scores": [ + 4014.0, + 3652.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/maribo.Omicron_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "maribo.Omicron 1.0", + "division": "roborumble", + "jar": "maribo.Omicron_1.0.jar", + "jar_sha256": "2079ad27794bd657b1e2aabe07afbb0e3800f05a9224b30a1aa4cb146d2ab922", + "key": "roborumble/maribo.Omicron_1.0.jar", + "kind": "robot" + }, + "latest_observation": "531052ecdf1582a2", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4613.0, + "scores": [ + 2166.0, + 2447.0 + ], + "selected": "maribo.Omicron 1.0" + }, + "completed_at": "2026-09-12T22:29:01Z", + "confirmation": null, + "delta_pct": -41.6, + "id": "531052ecdf1582a2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "maribo.Omicron 1.0", + "division": "roborumble", + "jar": "maribo.Omicron_1.0.jar", + "jar_sha256": "2079ad27794bd657b1e2aabe07afbb0e3800f05a9224b30a1aa4cb146d2ab922", + "key": "roborumble/maribo.Omicron_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2694.0, + "scores": [ + 1516.0, + 1178.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/maribo.melee.BMV_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "maribo.melee.BMV 0.1", + "division": "roborumble", + "jar": "maribo.melee.BMV_0.1.jar", + "jar_sha256": "e18ed995c065ffd9746f408154bafefa34a02ae60945abc5fb5b20bffec21dd1", + "key": "roborumble/maribo.melee.BMV_0.1.jar", + "kind": "robot" + }, + "latest_observation": "cd6390b2871f4e30", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6032.0, + "scores": [ + 2583.0, + 3449.0 + ], + "selected": "maribo.melee.BMV 0.1" + }, + "completed_at": "2026-09-12T22:28:32Z", + "confirmation": null, + "delta_pct": 8.6, + "id": "cd6390b2871f4e30", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "maribo.melee.BMV 0.1", + "division": "roborumble", + "jar": "maribo.melee.BMV_0.1.jar", + "jar_sha256": "e18ed995c065ffd9746f408154bafefa34a02ae60945abc5fb5b20bffec21dd1", + "key": "roborumble/maribo.melee.BMV_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6553.0, + "scores": [ + 3666.0, + 2887.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/marksteam.Phoenix_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "marksteam.Phoenix 1.0", + "division": "roborumble", + "jar": "marksteam.Phoenix_1.0.jar", + "jar_sha256": "0e76127d76efd6fd593c51ea42574cb573df18bf94cbf78c4bddad0e08a60ff9", + "key": "roborumble/marksteam.Phoenix_1.0.jar", + "kind": "robot" + }, + "latest_observation": "a07937e0978e74f3", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6195.0, + "scores": [ + 3182.0, + 3013.0 + ], + "selected": "marksteam.Phoenix 1.0" + }, + "completed_at": "2026-09-12T22:29:15Z", + "confirmation": null, + "delta_pct": 81.6, + "id": "a07937e0978e74f3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "marksteam.Phoenix 1.0", + "division": "roborumble", + "jar": "marksteam.Phoenix_1.0.jar", + "jar_sha256": "0e76127d76efd6fd593c51ea42574cb573df18bf94cbf78c4bddad0e08a60ff9", + "key": "roborumble/marksteam.Phoenix_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11249.0, + "scores": [ + 5631.0, + 5618.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/matt.BlueMind_0.8.00.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "matt.BlueMind 0.8.00", + "division": "roborumble", + "jar": "matt.BlueMind_0.8.00.jar", + "jar_sha256": "84de252b0cff76fe509e028185f385982f5a98d0330224e293dda027b8692b4b", + "key": "roborumble/matt.BlueMind_0.8.00.jar", + "kind": "robot" + }, + "latest_observation": "6a9e51857545b3d5", + "observations": [ + { + "classic": { + "elapsed": 12.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3556.0, + "scores": [ + 1629.0, + 1927.0 + ], + "selected": "matt.BlueMind 0.8.00" + }, + "completed_at": "2026-09-12T22:30:31Z", + "confirmation": null, + "delta_pct": 7.6, + "id": "6a9e51857545b3d5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "matt.BlueMind 0.8.00", + "division": "roborumble", + "jar": "matt.BlueMind_0.8.00.jar", + "jar_sha256": "84de252b0cff76fe509e028185f385982f5a98d0330224e293dda027b8692b4b", + "key": "roborumble/matt.BlueMind_0.8.00.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3828.0, + "scores": [ + 1966.0, + 1862.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/matt.UnderDark3_2.4.34.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "matt.UnderDark3 2.4.34", + "division": "roborumble", + "jar": "matt.UnderDark3_2.4.34.jar", + "jar_sha256": "81892db866c35728275e499c9e352dffbef5558376f9c32649e74ee98764ed7b", + "key": "roborumble/matt.UnderDark3_2.4.34.jar", + "kind": "robot" + }, + "latest_observation": "c992e509cf71f004", + "observations": [ + { + "classic": { + "elapsed": 4.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5248.0, + "scores": [ + 1926.0, + 3322.0 + ], + "selected": "matt.UnderDark3 2.4.34" + }, + "completed_at": "2026-09-12T22:31:06Z", + "confirmation": null, + "delta_pct": -92.0, + "id": "c992e509cf71f004", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "matt.UnderDark3 2.4.34", + "division": "roborumble", + "jar": "matt.UnderDark3_2.4.34.jar", + "jar_sha256": "81892db866c35728275e499c9e352dffbef5558376f9c32649e74ee98764ed7b", + "key": "roborumble/matt.UnderDark3_2.4.34.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 420.0, + "scores": [ + 240.0, + 180.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/matt.UnderDark4_0.4.00.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "matt.UnderDark4 0.4.00", + "division": "roborumble", + "jar": "matt.UnderDark4_0.4.00.jar", + "jar_sha256": "26b701c897d4152b5ae6acbe8f85bd3c006a06f1ff5f5f809fef6f2a6fcb111c", + "key": "roborumble/matt.UnderDark4_0.4.00.jar", + "kind": "robot" + }, + "latest_observation": "8ea191b9dc12b10f", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3737.0, + "scores": [ + 1552.0, + 2185.0 + ], + "selected": "matt.UnderDark4 0.4.00" + }, + "completed_at": "2026-09-12T22:31:29Z", + "confirmation": null, + "delta_pct": 13.4, + "id": "8ea191b9dc12b10f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "matt.UnderDark4 0.4.00", + "division": "roborumble", + "jar": "matt.UnderDark4_0.4.00.jar", + "jar_sha256": "26b701c897d4152b5ae6acbe8f85bd3c006a06f1ff5f5f809fef6f2a6fcb111c", + "key": "roborumble/matt.UnderDark4_0.4.00.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4239.0, + "scores": [ + 2281.0, + 1958.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/matt.advanced.Katana_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "matt.advanced.Katana 1.0", + "division": "roborumble", + "jar": "matt.advanced.Katana_1.0.jar", + "jar_sha256": "7d562adb3ddb785b168de1746fe4a02ac9033fe1cb2839cd5c3a84ff9208ff65", + "key": "roborumble/matt.advanced.Katana_1.0.jar", + "kind": "robot" + }, + "latest_observation": "86798553d9132d2c", + "observations": [ + { + "classic": { + "elapsed": 6.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6644.0, + "scores": [ + 2941.0, + 3703.0 + ], + "selected": "matt.advanced.Katana 1.0" + }, + "completed_at": "2026-09-12T22:29:44Z", + "confirmation": null, + "delta_pct": 9.0, + "id": "86798553d9132d2c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "matt.advanced.Katana 1.0", + "division": "roborumble", + "jar": "matt.advanced.Katana_1.0.jar", + "jar_sha256": "7d562adb3ddb785b168de1746fe4a02ac9033fe1cb2839cd5c3a84ff9208ff65", + "key": "roborumble/matt.advanced.Katana_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7240.0, + "scores": [ + 3788.0, + 3452.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/maye.SlashBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "maye.SlashBot 1.0", + "division": "roborumble", + "jar": "maye.SlashBot_1.0.jar", + "jar_sha256": "579543826757da37e36090fdd1ec57a4a1b13826fcb4a982405f36d1ee8fe4fb", + "key": "roborumble/maye.SlashBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "d823d1afaaf2dcff", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7348.0, + "scores": [ + 2511.0, + 4837.0 + ], + "selected": "maye.SlashBot 1.0" + }, + "completed_at": "2026-09-12T22:31:51Z", + "confirmation": null, + "delta_pct": -17.8, + "id": "d823d1afaaf2dcff", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "maye.SlashBot 1.0", + "division": "roborumble", + "jar": "maye.SlashBot_1.0.jar", + "jar_sha256": "579543826757da37e36090fdd1ec57a4a1b13826fcb4a982405f36d1ee8fe4fb", + "key": "roborumble/maye.SlashBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6041.0, + "scores": [ + 3286.0, + 2755.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mb.Beast_0.4.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mb.Beast 0.4.1", + "division": "roborumble", + "jar": "mb.Beast_0.4.1.jar", + "jar_sha256": "6a322f8ee9d004933c9db82d09e6e00eefd85536363ce32ecefba630a057dc2c", + "key": "roborumble/mb.Beast_0.4.1.jar", + "kind": "robot" + }, + "latest_observation": "2d62fbf2e5074786", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6090.0, + "scores": [ + 2414.0, + 3676.0 + ], + "selected": "mb.Beast 0.4.1" + }, + "completed_at": "2026-09-12T22:32:14Z", + "confirmation": null, + "delta_pct": -19.3, + "id": "2d62fbf2e5074786", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mb.Beast 0.4.1", + "division": "roborumble", + "jar": "mb.Beast_0.4.1.jar", + "jar_sha256": "6a322f8ee9d004933c9db82d09e6e00eefd85536363ce32ecefba630a057dc2c", + "key": "roborumble/mb.Beast_0.4.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4916.0, + "scores": [ + 2795.0, + 2121.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mb.Monte_0.1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mb.Monte 0.1.0", + "division": "roborumble", + "jar": "mb.Monte_0.1.0.jar", + "jar_sha256": "fcfc2b8af47f081d1c5de35a8c0ebc92109a74d78fa6e5d2716950894390ae73", + "key": "roborumble/mb.Monte_0.1.0.jar", + "kind": "robot" + }, + "latest_observation": "f52fa9153bebc76b", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6444.0, + "scores": [ + 4324.0, + 2120.0 + ], + "selected": "mb.Monte 0.1.0" + }, + "completed_at": "2026-09-12T22:32:37Z", + "confirmation": null, + "delta_pct": -44.1, + "id": "f52fa9153bebc76b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mb.Monte 0.1.0", + "division": "roborumble", + "jar": "mb.Monte_0.1.0.jar", + "jar_sha256": "fcfc2b8af47f081d1c5de35a8c0ebc92109a74d78fa6e5d2716950894390ae73", + "key": "roborumble/mb.Monte_0.1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3602.0, + "scores": [ + 1949.0, + 1653.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mbh.Mbh_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mbh.Mbh 0.1", + "division": "roborumble", + "jar": "mbh.Mbh_0.1.jar", + "jar_sha256": "e1799e6a6c996fb6c8464e38d6ff534339e297e306eef31f6db429d88696171a", + "key": "roborumble/mbh.Mbh_0.1.jar", + "kind": "robot" + }, + "latest_observation": "f93e22ed603d13d0", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6234.0, + "scores": [ + 2703.0, + 3531.0 + ], + "selected": "mbh.Mbh 0.1" + }, + "completed_at": "2026-09-12T22:32:56Z", + "confirmation": null, + "delta_pct": 12.0, + "id": "f93e22ed603d13d0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mbh.Mbh 0.1", + "division": "roborumble", + "jar": "mbh.Mbh_0.1.jar", + "jar_sha256": "e1799e6a6c996fb6c8464e38d6ff534339e297e306eef31f6db429d88696171a", + "key": "roborumble/mbh.Mbh_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6983.0, + "scores": [ + 3626.0, + 3357.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mbro.BelajarBot_0.0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mbro.BelajarBot 0.0.3", + "division": "roborumble", + "jar": "mbro.BelajarBot_0.0.3.jar", + "jar_sha256": "4a76b69c2e930cd6cf91c3d21af47c5bdd5b3878694b632ee205df7d185d158a", + "key": "roborumble/mbro.BelajarBot_0.0.3.jar", + "kind": "robot" + }, + "latest_observation": "533868a7667753bd", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7394.0, + "scores": [ + 3315.0, + 4079.0 + ], + "selected": "mbro.BelajarBot 0.0.3" + }, + "completed_at": "2026-09-12T22:33:21Z", + "confirmation": null, + "delta_pct": 9.6, + "id": "533868a7667753bd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mbro.BelajarBot 0.0.3", + "division": "roborumble", + "jar": "mbro.BelajarBot_0.0.3.jar", + "jar_sha256": "4a76b69c2e930cd6cf91c3d21af47c5bdd5b3878694b632ee205df7d185d158a", + "key": "roborumble/mbro.BelajarBot_0.0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8103.0, + "scores": [ + 4230.0, + 3873.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mbro.Detektor3_0.1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mbro.Detektor3 0.1.1", + "division": "roborumble", + "jar": "mbro.Detektor3_0.1.1.jar", + "jar_sha256": "42143bc477c1f1ba2428bb0e97b6ae7618ddbdf3089bb8ee44518b1b084d7a44", + "key": "roborumble/mbro.Detektor3_0.1.1.jar", + "kind": "robot" + }, + "latest_observation": "ee61ca6f09d190f8", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6284.0, + "scores": [ + 2942.0, + 3342.0 + ], + "selected": "mbro.Detektor3 0.1.1" + }, + "completed_at": "2026-09-12T22:33:51Z", + "confirmation": null, + "delta_pct": -19.0, + "id": "ee61ca6f09d190f8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mbro.Detektor3 0.1.1", + "division": "roborumble", + "jar": "mbro.Detektor3_0.1.1.jar", + "jar_sha256": "42143bc477c1f1ba2428bb0e97b6ae7618ddbdf3089bb8ee44518b1b084d7a44", + "key": "roborumble/mbro.Detektor3_0.1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5092.0, + "scores": [ + 2788.0, + 2304.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mc.Messapia_0.1.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mc.Messapia 0.1.8", + "division": "roborumble", + "jar": "mc.Messapia_0.1.8.jar", + "jar_sha256": "7cf3e05643b09c2673c0e28668923315b13bf05d7a8050c5e1a2c459a9e87666", + "key": "roborumble/mc.Messapia_0.1.8.jar", + "kind": "robot" + }, + "latest_observation": "d02c8b3b9aa53fe9", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11284.0, + "scores": [ + 5919.0, + 5365.0 + ], + "selected": "mc.Messapia 0.1.8" + }, + "completed_at": "2026-09-12T22:34:28Z", + "confirmation": null, + "delta_pct": -26.6, + "id": "d02c8b3b9aa53fe9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mc.Messapia 0.1.8", + "division": "roborumble", + "jar": "mc.Messapia_0.1.8.jar", + "jar_sha256": "7cf3e05643b09c2673c0e28668923315b13bf05d7a8050c5e1a2c459a9e87666", + "key": "roborumble/mc.Messapia_0.1.8.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8282.0, + "scores": [ + 4146.0, + 4136.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mc2.enemy.Original_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mc2.enemy.Original 0.9", + "division": "roborumble", + "jar": "mc2.enemy.Original_0.9.jar", + "jar_sha256": "ae1c21e590d274adabb63744faadac29d6fb8bf10e68cd4b2521d8cacea1f617", + "key": "roborumble/mc2.enemy.Original_0.9.jar", + "kind": "robot" + }, + "latest_observation": "d61d43fd7ce16b88", + "observations": [ + { + "classic": { + "elapsed": 14.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5192.0, + "scores": [ + 2815.0, + 2377.0 + ], + "selected": "mc2.enemy.Original 0.9" + }, + "completed_at": "2026-09-12T22:35:08Z", + "confirmation": null, + "delta_pct": null, + "id": "d61d43fd7ce16b88", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mc2.enemy.Original 0.9", + "division": "roborumble", + "jar": "mc2.enemy.Original_0.9.jar", + "jar_sha256": "ae1c21e590d274adabb63744faadac29d6fb8bf10e68cd4b2521d8cacea1f617", + "key": "roborumble/mc2.enemy.Original_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.util.ConcurrentModificationException", + "mc2.enemy.Original.PrintDebug" + ] + ], + "elapsed": 24.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.util.ConcurrentModificationException", + "origin": "mc2.enemy.Original.PrintDebug" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.util.ConcurrentModificationException", + "java.util.ConcurrentModificationException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/mcb.Audace_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mcb.Audace 1.3", + "division": "roborumble", + "jar": "mcb.Audace_1.3.jar", + "jar_sha256": "f0ca9f380e52d89d4ed2d3605d7c662015d59fb8dc536db16012e19a03ad43fd", + "key": "roborumble/mcb.Audace_1.3.jar", + "kind": "robot" + }, + "latest_observation": "279a31189d233c25", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9509.0, + "scores": [ + 4700.0, + 4809.0 + ], + "selected": "mcb.Audace 1.3" + }, + "completed_at": "2026-09-12T22:35:28Z", + "confirmation": null, + "delta_pct": -14.4, + "id": "279a31189d233c25", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "886afdcacd8ddb60c250bc4c7b00b518397968bf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mcb.Audace 1.3", + "division": "roborumble", + "jar": "mcb.Audace_1.3.jar", + "jar_sha256": "f0ca9f380e52d89d4ed2d3605d7c662015d59fb8dc536db16012e19a03ad43fd", + "key": "roborumble/mcb.Audace_1.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8136.0, + "scores": [ + 4096.0, + 4040.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/md.November_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "md.November 1.0", + "division": "roborumble", + "jar": "md.November_1.0.jar", + "jar_sha256": "0a7ef08b6a7ac31687828f073ecdb11b1f2ca949efbf7c38958e5cb08022ee91", + "key": "roborumble/md.November_1.0.jar", + "kind": "robot" + }, + "latest_observation": "7c7d30be72480d9b", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5550.0, + "scores": [ + 2592.0, + 2958.0 + ], + "selected": "md.November 1.0" + }, + "completed_at": "2026-09-12T22:36:48Z", + "confirmation": null, + "delta_pct": -10.9, + "id": "7c7d30be72480d9b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "md.November 1.0", + "division": "roborumble", + "jar": "md.November_1.0.jar", + "jar_sha256": "0a7ef08b6a7ac31687828f073ecdb11b1f2ca949efbf7c38958e5cb08022ee91", + "key": "roborumble/md.November_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4943.0, + "scores": [ + 2830.0, + 2113.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/md.Pasta_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "md.Pasta 1.1", + "division": "roborumble", + "jar": "md.Pasta_1.1.jar", + "jar_sha256": "72ecdabbcaaeb3b4a4349d9bb37289bf4bcb93efe12ea67ec0093ad0302bca07", + "key": "roborumble/md.Pasta_1.1.jar", + "kind": "robot" + }, + "latest_observation": "7b288b050cf6c12e", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5786.0, + "scores": [ + 2998.0, + 2788.0 + ], + "selected": "md.Pasta 1.1" + }, + "completed_at": "2026-09-12T22:37:07Z", + "confirmation": null, + "delta_pct": -8.8, + "id": "7b288b050cf6c12e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "md.Pasta 1.1", + "division": "roborumble", + "jar": "md.Pasta_1.1.jar", + "jar_sha256": "72ecdabbcaaeb3b4a4349d9bb37289bf4bcb93efe12ea67ec0093ad0302bca07", + "key": "roborumble/md.Pasta_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5274.0, + "scores": [ + 2737.0, + 2537.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/md.VelociRaptor_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "md.VelociRaptor 1.3", + "division": "roborumble", + "jar": "md.VelociRaptor_1.3.jar", + "jar_sha256": "cec3cfdcbc2d992cbdb16de07a68efc6c128a69a3acff120910767aa1a5ac791", + "key": "roborumble/md.VelociRaptor_1.3.jar", + "kind": "robot" + }, + "latest_observation": "57957c6dff810321", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8922.0, + "scores": [ + 4804.0, + 4118.0 + ], + "selected": "md.VelociRaptor 1.3" + }, + "completed_at": "2026-09-12T22:37:22Z", + "confirmation": null, + "delta_pct": -6.3, + "id": "57957c6dff810321", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "md.VelociRaptor 1.3", + "division": "roborumble", + "jar": "md.VelociRaptor_1.3.jar", + "jar_sha256": "cec3cfdcbc2d992cbdb16de07a68efc6c128a69a3acff120910767aa1a5ac791", + "key": "roborumble/md.VelociRaptor_1.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8362.0, + "scores": [ + 4308.0, + 4054.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mdouet.BotKicker_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mdouet.BotKicker 2.0", + "division": "roborumble", + "jar": "mdouet.BotKicker_2.0.jar", + "jar_sha256": "8d82136a5e1ccc0c4c028d38a2bbca7be9c55f428591be367bec5e033e5fbe99", + "key": "roborumble/mdouet.BotKicker_2.0.jar", + "kind": "robot" + }, + "latest_observation": "40c16d77c8c88342", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6108.0, + "scores": [ + 2856.0, + 3252.0 + ], + "selected": "mdouet.BotKicker 2.0" + }, + "completed_at": "2026-09-12T22:37:41Z", + "confirmation": null, + "delta_pct": -25.7, + "id": "40c16d77c8c88342", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mdouet.BotKicker 2.0", + "division": "roborumble", + "jar": "mdouet.BotKicker_2.0.jar", + "jar_sha256": "8d82136a5e1ccc0c4c028d38a2bbca7be9c55f428591be367bec5e033e5fbe99", + "key": "roborumble/mdouet.BotKicker_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4536.0, + "scores": [ + 2675.0, + 1861.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/metal.small.MCool_1.21.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "metal.small.MCool 1.21", + "division": "roborumble", + "jar": "metal.small.MCool_1.21.jar", + "jar_sha256": "cd1dd4593985a1a8f571acccf38afbc4ea9c45cf13bd9d9ad0d19c17bb9cd5f2", + "key": "roborumble/metal.small.MCool_1.21.jar", + "kind": "robot" + }, + "latest_observation": "2f3bc23f806cf0b6", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5031.0, + "scores": [ + 2721.0, + 2310.0 + ], + "selected": "metal.small.MCool 1.21" + }, + "completed_at": "2026-09-12T22:38:08Z", + "confirmation": null, + "delta_pct": 26.3, + "id": "2f3bc23f806cf0b6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "metal.small.MCool 1.21", + "division": "roborumble", + "jar": "metal.small.MCool_1.21.jar", + "jar_sha256": "cd1dd4593985a1a8f571acccf38afbc4ea9c45cf13bd9d9ad0d19c17bb9cd5f2", + "key": "roborumble/metal.small.MCool_1.21.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6356.0, + "scores": [ + 3295.0, + 3061.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/metal.small.dna2.MCoolDNA_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "metal.small.dna2.MCoolDNA 1.5", + "division": "roborumble", + "jar": "metal.small.dna2.MCoolDNA_1.5.jar", + "jar_sha256": "17bd952dcf63cfa2a5343ac8bf58772bd5086be5b79f727d17caf8856541a124", + "key": "roborumble/metal.small.dna2.MCoolDNA_1.5.jar", + "kind": "robot" + }, + "latest_observation": "0f8532e1d0c50b95", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 22, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 19.700 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 16.228 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 14.180 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null" + ], + "has_log": true, + "ok": true, + "score": 5837.0, + "scores": [ + 2575.0, + 3262.0 + ], + "selected": "metal.small.dna2.MCoolDNA 1.5" + }, + "completed_at": "2026-09-12T22:37:50Z", + "confirmation": null, + "delta_pct": null, + "id": "0f8532e1d0c50b95", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "metal.small.dna2.MCoolDNA 1.5", + "division": "roborumble", + "jar": "metal.small.dna2.MCoolDNA_1.5.jar", + "jar_sha256": "17bd952dcf63cfa2a5343ac8bf58772bd5086be5b79f727d17caf8856541a124", + "key": "roborumble/metal.small.dna2.MCoolDNA_1.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "metal.small.dna2.GunWave.mostVisited" + ], + [ + "java.lang.NullPointerException", + "metal.small.dna2.GunWave.mostVisited" + ] + ], + "elapsed": 6.1, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "metal.small.dna2.GunWave.mostVisited" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "metal.small.dna2.GunWave.mostVisited" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 5", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null", + "SYSTEM: Err: No bullets matched! 13.100 java.lang.NullPointerException: Cannot read field \"mySpeed\" because \"b\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/microtestbotpack.MicroTestBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "microtestbotpack.MicroTestBot 1.0", + "division": "roborumble", + "jar": "microtestbotpack.MicroTestBot_1.0.jar", + "jar_sha256": "f027d5f302ba6cf0948138dbd5ee16e09db3cb2bc21f3e96ec1226162ece3756", + "key": "roborumble/microtestbotpack.MicroTestBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "ce815daa6d066802", + "observations": [ + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5950.0, + "scores": [ + 3370.0, + 2580.0 + ], + "selected": "microtestbotpack.MicroTestBot 1.0" + }, + "completed_at": "2026-09-12T22:39:46Z", + "confirmation": null, + "delta_pct": -4.0, + "id": "ce815daa6d066802", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "microtestbotpack.MicroTestBot 1.0", + "division": "roborumble", + "jar": "microtestbotpack.MicroTestBot_1.0.jar", + "jar_sha256": "f027d5f302ba6cf0948138dbd5ee16e09db3cb2bc21f3e96ec1226162ece3756", + "key": "roborumble/microtestbotpack.MicroTestBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 92.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5712.0, + "scores": [ + 2985.0, + 2727.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mjhjd.MattHussey1_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mjhjd.MattHussey1 1.1", + "division": "roborumble", + "jar": "mjhjd.MattHussey1_1.1.jar", + "jar_sha256": "ba188ee67f25df6ec75e4845d0ec829bfee2f63db49e541d35aec4c42eadef88", + "key": "roborumble/mjhjd.MattHussey1_1.1.jar", + "kind": "robot" + }, + "latest_observation": "475b611d09ac7594", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3054.0, + "scores": [ + 1373.0, + 1681.0 + ], + "selected": "mjhjd.MattHussey1 1.1" + }, + "completed_at": "2026-09-12T22:40:20Z", + "confirmation": null, + "delta_pct": -13.7, + "id": "475b611d09ac7594", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mjhjd.MattHussey1 1.1", + "division": "roborumble", + "jar": "mjhjd.MattHussey1_1.1.jar", + "jar_sha256": "ba188ee67f25df6ec75e4845d0ec829bfee2f63db49e541d35aec4c42eadef88", + "key": "roborumble/mjhjd.MattHussey1_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2637.0, + "scores": [ + 1322.0, + 1315.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mk.Alpha_0.2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mk.Alpha 0.2.1", + "division": "roborumble", + "jar": "mk.Alpha_0.2.1.jar", + "jar_sha256": "b0c1973472f36b5e554e0e526841f6c16b66a043d3935567edb96ffd1d85b1af", + "key": "roborumble/mk.Alpha_0.2.1.jar", + "kind": "robot" + }, + "latest_observation": "71b934ed45a01855", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5218.0, + "scores": [ + 2501.0, + 2717.0 + ], + "selected": "mk.Alpha 0.2.1" + }, + "completed_at": "2026-09-12T22:40:48Z", + "confirmation": null, + "delta_pct": -2.4, + "id": "71b934ed45a01855", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mk.Alpha 0.2.1", + "division": "roborumble", + "jar": "mk.Alpha_0.2.1.jar", + "jar_sha256": "b0c1973472f36b5e554e0e526841f6c16b66a043d3935567edb96ffd1d85b1af", + "key": "roborumble/mk.Alpha_0.2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5092.0, + "scores": [ + 2791.0, + 2301.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mladjo.AIR_0.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mladjo.AIR 0.7", + "division": "roborumble", + "jar": "mladjo.AIR_0.7.jar", + "jar_sha256": "f4ea99871852823bfdc863adc7526a47ba7da0c05489f7594b4e3b48cc599ce6", + "key": "roborumble/mladjo.AIR_0.7.jar", + "kind": "robot" + }, + "latest_observation": "6861dd6a51c0545e", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5603.0, + "scores": [ + 2532.0, + 3071.0 + ], + "selected": "mladjo.AIR 0.7" + }, + "completed_at": "2026-09-12T22:41:15Z", + "confirmation": null, + "delta_pct": -6.1, + "id": "6861dd6a51c0545e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mladjo.AIR 0.7", + "division": "roborumble", + "jar": "mladjo.AIR_0.7.jar", + "jar_sha256": "f4ea99871852823bfdc863adc7526a47ba7da0c05489f7594b4e3b48cc599ce6", + "key": "roborumble/mladjo.AIR_0.7.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5262.0, + "scores": [ + 2707.0, + 2555.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mladjo.GnuKlub_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mladjo.GnuKlub 0.1", + "division": "roborumble", + "jar": "mladjo.GnuKlub_0.1.jar", + "jar_sha256": "fb5078072ff851d18e43064039a72ddc1ed1de1e4caa899dd6de76e8ad688cd7", + "key": "roborumble/mladjo.GnuKlub_0.1.jar", + "kind": "robot" + }, + "latest_observation": "23029b18ae3acd53", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4412.0, + "scores": [ + 2318.0, + 2094.0 + ], + "selected": "mladjo.GnuKlub 0.1" + }, + "completed_at": "2026-09-12T22:41:38Z", + "confirmation": null, + "delta_pct": -30.5, + "id": "23029b18ae3acd53", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mladjo.GnuKlub 0.1", + "division": "roborumble", + "jar": "mladjo.GnuKlub_0.1.jar", + "jar_sha256": "fb5078072ff851d18e43064039a72ddc1ed1de1e4caa899dd6de76e8ad688cd7", + "key": "roborumble/mladjo.GnuKlub_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3068.0, + "scores": [ + 1679.0, + 1389.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mladjo.Grrrrr_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mladjo.Grrrrr 0.9", + "division": "roborumble", + "jar": "mladjo.Grrrrr_0.9.jar", + "jar_sha256": "550962059ce61663f81f3285f4bffd247f68f28dd65d1cea44740c81eae08e60", + "key": "roborumble/mladjo.Grrrrr_0.9.jar", + "kind": "robot" + }, + "latest_observation": "0323d04c91b510a4", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5941.0, + "scores": [ + 3215.0, + 2726.0 + ], + "selected": "mladjo.Grrrrr 0.9" + }, + "completed_at": "2026-09-12T22:42:03Z", + "confirmation": null, + "delta_pct": -70.6, + "id": "0323d04c91b510a4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mladjo.Grrrrr 0.9", + "division": "roborumble", + "jar": "mladjo.Grrrrr_0.9.jar", + "jar_sha256": "550962059ce61663f81f3285f4bffd247f68f28dd65d1cea44740c81eae08e60", + "key": "roborumble/mladjo.Grrrrr_0.9.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1747.0, + "scores": [ + 1038.0, + 709.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mladjo.Startko_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mladjo.Startko 1.0", + "division": "roborumble", + "jar": "mladjo.Startko_1.0.jar", + "jar_sha256": "10af9c087dd7d2b5d1471dce8b1d2816266e2b728b27fd32aa565897f76bd95a", + "key": "roborumble/mladjo.Startko_1.0.jar", + "kind": "robot" + }, + "latest_observation": "6b642e781008ae25", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6357.0, + "scores": [ + 3114.0, + 3243.0 + ], + "selected": "mladjo.Startko 1.0" + }, + "completed_at": "2026-09-12T22:42:53Z", + "confirmation": null, + "delta_pct": -18.6, + "id": "6b642e781008ae25", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mladjo.Startko 1.0", + "division": "roborumble", + "jar": "mladjo.Startko_1.0.jar", + "jar_sha256": "10af9c087dd7d2b5d1471dce8b1d2816266e2b728b27fd32aa565897f76bd95a", + "key": "roborumble/mladjo.Startko_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5177.0, + "scores": [ + 2619.0, + 2558.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mladjo.iRobot_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mladjo.iRobot 0.3", + "division": "roborumble", + "jar": "mladjo.iRobot_0.3.jar", + "jar_sha256": "97438c6b46ff1d122975ec726f10291e23db8d9e21956241dcd490d4cdabb1e0", + "key": "roborumble/mladjo.iRobot_0.3.jar", + "kind": "robot" + }, + "latest_observation": "38dccf41ca9f4c06", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5629.0, + "scores": [ + 2402.0, + 3227.0 + ], + "selected": "mladjo.iRobot 0.3" + }, + "completed_at": "2026-09-12T22:42:30Z", + "confirmation": null, + "delta_pct": -33.4, + "id": "38dccf41ca9f4c06", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mladjo.iRobot 0.3", + "division": "roborumble", + "jar": "mladjo.iRobot_0.3.jar", + "jar_sha256": "97438c6b46ff1d122975ec726f10291e23db8d9e21956241dcd490d4cdabb1e0", + "key": "roborumble/mladjo.iRobot_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3750.0, + "scores": [ + 2074.0, + 1676.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mld.DustBunny_3.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mld.DustBunny 3.8", + "division": "roborumble", + "jar": "mld.DustBunny_3.8.jar", + "jar_sha256": "2ebc9519e346d2e2df59764f670bdedd131595cef3fc20719f6c1d6b1d603748", + "key": "roborumble/mld.DustBunny_3.8.jar", + "kind": "robot" + }, + "latest_observation": "0f2a548789a3aab5", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8464.0, + "scores": [ + 3894.0, + 4570.0 + ], + "selected": "mld.DustBunny 3.8" + }, + "completed_at": "2026-09-12T22:43:12Z", + "confirmation": null, + "delta_pct": -17.3, + "id": "0f2a548789a3aab5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mld.DustBunny 3.8", + "division": "roborumble", + "jar": "mld.DustBunny_3.8.jar", + "jar_sha256": "2ebc9519e346d2e2df59764f670bdedd131595cef3fc20719f6c1d6b1d603748", + "key": "roborumble/mld.DustBunny_3.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7000.0, + "scores": [ + 4111.0, + 2889.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mld.Infinity_2.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mld.Infinity 2.2", + "division": "roborumble", + "jar": "mld.Infinity_2.2.jar", + "jar_sha256": "c982f1fe1da7cc9dfd196d695c569695f110bd9147c5b428b261925691707fe4", + "key": "roborumble/mld.Infinity_2.2.jar", + "kind": "robot" + }, + "latest_observation": "e5b845799f252102", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6038.0, + "scores": [ + 2859.0, + 3179.0 + ], + "selected": "mld.Infinity 2.2" + }, + "completed_at": "2026-09-12T22:43:47Z", + "confirmation": null, + "delta_pct": -59.8, + "id": "e5b845799f252102", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mld.Infinity 2.2", + "division": "roborumble", + "jar": "mld.Infinity_2.2.jar", + "jar_sha256": "c982f1fe1da7cc9dfd196d695c569695f110bd9147c5b428b261925691707fe4", + "key": "roborumble/mld.Infinity_2.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2427.0, + "scores": [ + 1453.0, + 974.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mld.LittleBlackBook_1.69e.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mld.LittleBlackBook 1.69e", + "division": "roborumble", + "jar": "mld.LittleBlackBook_1.69e.jar", + "jar_sha256": "d0ed49835588ab6b2a4162870fb805e0a3a7e611928e54b7f8e20a71a161d183", + "key": "roborumble/mld.LittleBlackBook_1.69e.jar", + "kind": "robot" + }, + "latest_observation": "2974701ea33707c7", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1850.0, + "scores": [ + 1036.0, + 814.0 + ], + "selected": "mld.LittleBlackBook 1.69e" + }, + "completed_at": "2026-09-12T22:44:22Z", + "confirmation": null, + "delta_pct": 241.8, + "id": "2974701ea33707c7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mld.LittleBlackBook 1.69e", + "division": "roborumble", + "jar": "mld.LittleBlackBook_1.69e.jar", + "jar_sha256": "d0ed49835588ab6b2a4162870fb805e0a3a7e611928e54b7f8e20a71a161d183", + "key": "roborumble/mld.LittleBlackBook_1.69e.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6324.0, + "scores": [ + 4835.0, + 1489.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mld.Moebius_2.9.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mld.Moebius 2.9.3", + "division": "roborumble", + "jar": "mld.Moebius_2.9.3.jar", + "jar_sha256": "96ff4607e694de627eca531b7d1b4c588b05347ca7a681a7407ea926b8dcbe3f", + "key": "roborumble/mld.Moebius_2.9.3.jar", + "kind": "robot" + }, + "latest_observation": "a8e588a36ad8a74b", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6886.0, + "scores": [ + 4079.0, + 2807.0 + ], + "selected": "mld.Moebius 2.9.3" + }, + "completed_at": "2026-09-12T22:44:41Z", + "confirmation": null, + "delta_pct": -8.7, + "id": "a8e588a36ad8a74b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mld.Moebius 2.9.3", + "division": "roborumble", + "jar": "mld.Moebius_2.9.3.jar", + "jar_sha256": "96ff4607e694de627eca531b7d1b4c588b05347ca7a681a7407ea926b8dcbe3f", + "key": "roborumble/mld.Moebius_2.9.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6285.0, + "scores": [ + 3252.0, + 3033.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mld.Wisdom_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mld.Wisdom 1.0", + "division": "roborumble", + "jar": "mld.Wisdom_1.0.jar", + "jar_sha256": "f98eb1af9da5861e0afad2df1afff07642377ab8cea81a09c2860e489e186544", + "key": "roborumble/mld.Wisdom_1.0.jar", + "kind": "robot" + }, + "latest_observation": "47a73446157b9ff6", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2048.0, + "scores": [ + 1032.0, + 1016.0 + ], + "selected": "mld.Wisdom 1.0" + }, + "completed_at": "2026-09-12T22:45:00Z", + "confirmation": null, + "delta_pct": 37.5, + "id": "47a73446157b9ff6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mld.Wisdom 1.0", + "division": "roborumble", + "jar": "mld.Wisdom_1.0.jar", + "jar_sha256": "f98eb1af9da5861e0afad2df1afff07642377ab8cea81a09c2860e489e186544", + "key": "roborumble/mld.Wisdom_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2816.0, + "scores": [ + 1737.0, + 1079.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mld.jdc.nano.LittleBlackBook_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mld.jdc.nano.LittleBlackBook 1.0", + "division": "roborumble", + "jar": "mld.jdc.nano.LittleBlackBook_1.0.jar", + "jar_sha256": "0324ec4208586f2a3fdcae83be7a721448291a15ebb44da4bc3b861ea8ddaff7", + "key": "roborumble/mld.jdc.nano.LittleBlackBook_1.0.jar", + "kind": "robot" + }, + "latest_observation": "2ec30f004042b332", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2239.0, + "scores": [ + 1203.0, + 1036.0 + ], + "selected": "mld.jdc.nano.LittleBlackBook 1.0" + }, + "completed_at": "2026-09-12T22:44:04Z", + "confirmation": null, + "delta_pct": 191.8, + "id": "2ec30f004042b332", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mld.jdc.nano.LittleBlackBook 1.0", + "division": "roborumble", + "jar": "mld.jdc.nano.LittleBlackBook_1.0.jar", + "jar_sha256": "0324ec4208586f2a3fdcae83be7a721448291a15ebb44da4bc3b861ea8ddaff7", + "key": "roborumble/mld.jdc.nano.LittleBlackBook_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6533.0, + "scores": [ + 4921.0, + 1612.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mmb.Roskilde_0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mmb.Roskilde 0.5", + "division": "roborumble", + "jar": "mmb.Roskilde_0.5.jar", + "jar_sha256": "ee006f3e8c68fc138e9d52f5a8f61e56331ad7d5738b392d885c8567de1813d9", + "key": "roborumble/mmb.Roskilde_0.5.jar", + "kind": "robot" + }, + "latest_observation": "b23b95ce6ce7c9bf", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5768.0, + "scores": [ + 2945.0, + 2823.0 + ], + "selected": "mmb.Roskilde 0.5" + }, + "completed_at": "2026-09-12T22:45:38Z", + "confirmation": null, + "delta_pct": -7.3, + "id": "b23b95ce6ce7c9bf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mmb.Roskilde 0.5", + "division": "roborumble", + "jar": "mmb.Roskilde_0.5.jar", + "jar_sha256": "ee006f3e8c68fc138e9d52f5a8f61e56331ad7d5738b392d885c8567de1813d9", + "key": "roborumble/mmb.Roskilde_0.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5346.0, + "scores": [ + 2707.0, + 2639.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mme.NikeEnhanced_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mme.NikeEnhanced 2.0", + "division": "roborumble", + "jar": "mme.NikeEnhanced_2.0.jar", + "jar_sha256": "6a6c5762dd9c8c4bc47c8bf0fe9f8224534d7045ceaad3c79b969ebdf66d517a", + "key": "roborumble/mme.NikeEnhanced_2.0.jar", + "kind": "robot" + }, + "latest_observation": "82d3439e0edbe4b4", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3878.0, + "scores": [ + 1650.0, + 2228.0 + ], + "selected": "mme.NikeEnhanced 2.0" + }, + "completed_at": "2026-09-12T22:46:01Z", + "confirmation": null, + "delta_pct": 65.5, + "id": "82d3439e0edbe4b4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mme.NikeEnhanced 2.0", + "division": "roborumble", + "jar": "mme.NikeEnhanced_2.0.jar", + "jar_sha256": "6a6c5762dd9c8c4bc47c8bf0fe9f8224534d7045ceaad3c79b969ebdf66d517a", + "key": "roborumble/mme.NikeEnhanced_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6418.0, + "scores": [ + 3370.0, + 3048.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mn.Combat_3.25.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mn.Combat 3.25.0", + "division": "roborumble", + "jar": "mn.Combat_3.25.0.jar", + "jar_sha256": "48ee3e5181f21644e2a2f04c75d8359d189af0f519d8aef065398f60dce443db", + "key": "roborumble/mn.Combat_3.25.0.jar", + "kind": "robot" + }, + "latest_observation": "ec1cce937bc29b09", + "observations": [ + { + "classic": { + "elapsed": 36.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4469.0, + "scores": [ + 1795.0, + 2674.0 + ], + "selected": "mn.Combat 3.25.0" + }, + "completed_at": "2026-09-12T22:46:42Z", + "confirmation": null, + "delta_pct": null, + "id": "ec1cce937bc29b09", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mn.Combat 3.25.0", + "division": "roborumble", + "jar": "mn.Combat_3.25.0.jar", + "jar_sha256": "48ee3e5181f21644e2a2f04c75d8359d189af0f519d8aef065398f60dce443db", + "key": "roborumble/mn.Combat_3.25.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "mn.b.b.a" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "mn.b.b.a" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0", + "java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/mn.micro.perceptual.Mimic_1.0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mn.micro.perceptual.Mimic 1.0.0", + "division": "roborumble", + "jar": "mn.micro.perceptual.Mimic_1.0.0.jar", + "jar_sha256": "cdcd1e94be5288329d499a0dc3bad0524e9eb60fba4358d8c28933c94c7635ac", + "key": "roborumble/mn.micro.perceptual.Mimic_1.0.0.jar", + "kind": "robot" + }, + "latest_observation": "fa21dbaf21a76e1c", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6048.0, + "scores": [ + 2928.0, + 3120.0 + ], + "selected": "mn.micro.perceptual.Mimic 1.0.0" + }, + "completed_at": "2026-09-12T22:47:12Z", + "confirmation": null, + "delta_pct": -11.5, + "id": "fa21dbaf21a76e1c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d177578b2a187aa1dbe524ffbb02f362b0241cfc", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mn.micro.perceptual.Mimic 1.0.0", + "division": "roborumble", + "jar": "mn.micro.perceptual.Mimic_1.0.0.jar", + "jar_sha256": "cdcd1e94be5288329d499a0dc3bad0524e9eb60fba4358d8c28933c94c7635ac", + "key": "roborumble/mn.micro.perceptual.Mimic_1.0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5350.0, + "scores": [ + 2990.0, + 2360.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mn.nano.SkippedTurns_1.1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mn.nano.SkippedTurns 1.1.0", + "division": "roborumble", + "jar": "mn.nano.SkippedTurns_1.1.0.jar", + "jar_sha256": "bbecf5479a0a5697cab6ca0dc03a290732ae5b304cb28eb450948e1941621e9b", + "key": "roborumble/mn.nano.SkippedTurns_1.1.0.jar", + "kind": "robot" + }, + "latest_observation": "6575d76867504d26", + "observations": [ + { + "classic": { + "elapsed": 15.5, + "error_count": 70, + "error_signatures": [], + "errors": [ + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (2)", + "Unable to stop thread: mn.nano.SkippedTurns 1.1.0 (1)" + ], + "has_log": true, + "ok": true, + "score": 2040.0, + "scores": [ + 960.0, + 1080.0 + ], + "selected": "mn.nano.SkippedTurns 1.1.0" + }, + "completed_at": "2026-09-12T22:48:05Z", + "confirmation": null, + "delta_pct": null, + "id": "6575d76867504d26", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mn.nano.SkippedTurns 1.1.0", + "division": "roborumble", + "jar": "mn.nano.SkippedTurns_1.1.0.jar", + "jar_sha256": "bbecf5479a0a5697cab6ca0dc03a290732ae5b304cb28eb450948e1941621e9b", + "key": "roborumble/mn.nano.SkippedTurns_1.1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.IllegalArgumentException", + "mn.nano.SkippedTurns.run" + ] + ], + "elapsed": 6.1, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.lang.IllegalArgumentException", + "origin": "mn.nano.SkippedTurns.run" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.IllegalArgumentException: nanosecond timeout value out of range", + "java.lang.IllegalArgumentException: nanosecond timeout value out of range", + "java.lang.IllegalArgumentException: nanosecond timeout value out of range", + "java.lang.IllegalArgumentException: nanosecond timeout value out of range" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/mn.nano.perceptual.Impact_1.3.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mn.nano.perceptual.Impact 1.3.0", + "division": "roborumble", + "jar": "mn.nano.perceptual.Impact_1.3.0.jar", + "jar_sha256": "eafd877adc4d334a5c6543360fe34cb5c6a2f17c31c32dc7ab0cfcef6e071f15", + "key": "roborumble/mn.nano.perceptual.Impact_1.3.0.jar", + "kind": "robot" + }, + "latest_observation": "3eaffb97ae957a2d", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10564.0, + "scores": [ + 5052.0, + 5512.0 + ], + "selected": "mn.nano.perceptual.Impact 1.3.0" + }, + "completed_at": "2026-09-12T22:47:43Z", + "confirmation": null, + "delta_pct": 56.7, + "id": "3eaffb97ae957a2d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mn.nano.perceptual.Impact 1.3.0", + "division": "roborumble", + "jar": "mn.nano.perceptual.Impact_1.3.0.jar", + "jar_sha256": "eafd877adc4d334a5c6543360fe34cb5c6a2f17c31c32dc7ab0cfcef6e071f15", + "key": "roborumble/mn.nano.perceptual.Impact_1.3.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 16559.0, + "scores": [ + 8451.0, + 8108.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mnt.AHEB_0.6a.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mnt.AHEB 0.6a", + "division": "roborumble", + "jar": "mnt.AHEB_0.6a.jar", + "jar_sha256": "67649dbd7f93cddb1af7ff35fe2a48b51c6319b5d613415867b8b6037d1c0bac", + "key": "roborumble/mnt.AHEB_0.6a.jar", + "kind": "robot" + }, + "latest_observation": "f17bdd7a3c104b3c", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6328.0, + "scores": [ + 3018.0, + 3310.0 + ], + "selected": "mnt.AHEB 0.6a" + }, + "completed_at": "2026-09-12T22:48:34Z", + "confirmation": null, + "delta_pct": -60.4, + "id": "f17bdd7a3c104b3c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mnt.AHEB 0.6a", + "division": "roborumble", + "jar": "mnt.AHEB_0.6a.jar", + "jar_sha256": "67649dbd7f93cddb1af7ff35fe2a48b51c6319b5d613415867b8b6037d1c0bac", + "key": "roborumble/mnt.AHEB_0.6a.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2503.0, + "scores": [ + 1386.0, + 1117.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mnt.SurferBot_0.2.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mnt.SurferBot 0.2.5", + "division": "roborumble", + "jar": "mnt.SurferBot_0.2.5.jar", + "jar_sha256": "ef04532f1870591c78022863e369cf2af44f688f23969eb1a56a865c162f7d24", + "key": "roborumble/mnt.SurferBot_0.2.5.jar", + "kind": "robot" + }, + "latest_observation": "47a1e08efb5ca58c", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6255.0, + "scores": [ + 3099.0, + 3156.0 + ], + "selected": "mnt.SurferBot 0.2.5" + }, + "completed_at": "2026-09-12T22:48:49Z", + "confirmation": null, + "delta_pct": null, + "id": "47a1e08efb5ca58c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mnt.SurferBot 0.2.5", + "division": "roborumble", + "jar": "mnt.SurferBot_0.2.5.jar", + "jar_sha256": "ef04532f1870591c78022863e369cf2af44f688f23969eb1a56a865c162f7d24", + "key": "roborumble/mnt.SurferBot_0.2.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "mnt.utils.WaveGun.onScannedRobot" + ] + ], + "elapsed": 10.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "mnt.utils.WaveGun.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 4" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/morbid.MorbidPriest_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "morbid.MorbidPriest 1.0", + "division": "roborumble", + "jar": "morbid.MorbidPriest_1.0.jar", + "jar_sha256": "5d3d7e516e50c6a8a31b65867ebc3e0a6ae212d85e8f0cff6b8ed76a843a5af2", + "key": "roborumble/morbid.MorbidPriest_1.0.jar", + "kind": "robot" + }, + "latest_observation": "fc177c15b82ca872", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8364.0, + "scores": [ + 4105.0, + 4259.0 + ], + "selected": "morbid.MorbidPriest 1.0" + }, + "completed_at": "2026-09-12T22:49:09Z", + "confirmation": null, + "delta_pct": 7.4, + "id": "fc177c15b82ca872", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "morbid.MorbidPriest 1.0", + "division": "roborumble", + "jar": "morbid.MorbidPriest_1.0.jar", + "jar_sha256": "5d3d7e516e50c6a8a31b65867ebc3e0a6ae212d85e8f0cff6b8ed76a843a5af2", + "key": "roborumble/morbid.MorbidPriest_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8987.0, + "scores": [ + 5027.0, + 3960.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mrm.MightyMoose_.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mrm.MightyMoose .2", + "division": "roborumble", + "jar": "mrm.MightyMoose_.2.jar", + "jar_sha256": "e2654d99116488b64c2f250748331472846cdeef6034fee6f86b5bcabe111b1b", + "key": "roborumble/mrm.MightyMoose_.2.jar", + "kind": "robot" + }, + "latest_observation": "87529bbdc6c32027", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4296.0, + "scores": [ + 1941.0, + 2355.0 + ], + "selected": "mrm.MightyMoose .2" + }, + "completed_at": "2026-09-12T22:49:28Z", + "confirmation": null, + "delta_pct": 30.2, + "id": "87529bbdc6c32027", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mrm.MightyMoose .2", + "division": "roborumble", + "jar": "mrm.MightyMoose_.2.jar", + "jar_sha256": "e2654d99116488b64c2f250748331472846cdeef6034fee6f86b5bcabe111b1b", + "key": "roborumble/mrm.MightyMoose_.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5593.0, + "scores": [ + 3174.0, + 2419.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ms.Ares_0.19.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ms.Ares 0.19", + "division": "roborumble", + "jar": "ms.Ares_0.19.jar", + "jar_sha256": "29ac270fec16a09695a9ed0022f2d33b07adc7dce3fd11391ea458bb181c26a4", + "key": "roborumble/ms.Ares_0.19.jar", + "kind": "robot" + }, + "latest_observation": "d8663236bffd6ec7", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5983.0, + "scores": [ + 2916.0, + 3067.0 + ], + "selected": "ms.Ares 0.19" + }, + "completed_at": "2026-09-12T22:49:57Z", + "confirmation": null, + "delta_pct": -7.7, + "id": "d8663236bffd6ec7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ms.Ares 0.19", + "division": "roborumble", + "jar": "ms.Ares_0.19.jar", + "jar_sha256": "29ac270fec16a09695a9ed0022f2d33b07adc7dce3fd11391ea458bb181c26a4", + "key": "roborumble/ms.Ares_0.19.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5522.0, + "scores": [ + 3670.0, + 1852.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mue.Ascendant_1.2.27.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mue.Ascendant 1.2.27", + "division": "roborumble", + "jar": "mue.Ascendant_1.2.27.jar", + "jar_sha256": "66705bfbd6daa2b1f7470e9e17846a238b752fc3829227ddc7e67612c33117ff", + "key": "roborumble/mue.Ascendant_1.2.27.jar", + "kind": "robot" + }, + "latest_observation": "5707fc085104a700", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5483.0, + "scores": [ + 2571.0, + 2912.0 + ], + "selected": "mue.Ascendant 1.2.27" + }, + "completed_at": "2026-09-12T22:50:19Z", + "confirmation": null, + "delta_pct": 28.0, + "id": "5707fc085104a700", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mue.Ascendant 1.2.27", + "division": "roborumble", + "jar": "mue.Ascendant_1.2.27.jar", + "jar_sha256": "66705bfbd6daa2b1f7470e9e17846a238b752fc3829227ddc7e67612c33117ff", + "key": "roborumble/mue.Ascendant_1.2.27.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7017.0, + "scores": [ + 3557.0, + 3460.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mue.Hyperion_0.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mue.Hyperion 0.8", + "division": "roborumble", + "jar": "mue.Hyperion_0.8.jar", + "jar_sha256": "60efa86eaad475ff5f6216be62d714659c3c69a094019434441302d4efcfff1b", + "key": "roborumble/mue.Hyperion_0.8.jar", + "kind": "robot" + }, + "latest_observation": "46f8b66bc9b65f98", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6068.0, + "scores": [ + 2830.0, + 3238.0 + ], + "selected": "mue.Hyperion 0.8" + }, + "completed_at": "2026-09-12T22:50:39Z", + "confirmation": null, + "delta_pct": 50.3, + "id": "46f8b66bc9b65f98", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mue.Hyperion 0.8", + "division": "roborumble", + "jar": "mue.Hyperion_0.8.jar", + "jar_sha256": "60efa86eaad475ff5f6216be62d714659c3c69a094019434441302d4efcfff1b", + "key": "roborumble/mue.Hyperion_0.8.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9122.0, + "scores": [ + 5265.0, + 3857.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/muf.CrazyKitten_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "muf.CrazyKitten 0.9", + "division": "roborumble", + "jar": "muf.CrazyKitten_0.9.jar", + "jar_sha256": "f9e5f441fc73f2b878b613615632b20eb82b2b03dc54da4f39695300a2a9686b", + "key": "roborumble/muf.CrazyKitten_0.9.jar", + "kind": "robot" + }, + "latest_observation": "24ebb83f1f83c891", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5365.0, + "scores": [ + 2116.0, + 3249.0 + ], + "selected": "muf.CrazyKitten 0.9" + }, + "completed_at": "2026-09-12T22:51:02Z", + "confirmation": null, + "delta_pct": -10.4, + "id": "24ebb83f1f83c891", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "muf.CrazyKitten 0.9", + "division": "roborumble", + "jar": "muf.CrazyKitten_0.9.jar", + "jar_sha256": "f9e5f441fc73f2b878b613615632b20eb82b2b03dc54da4f39695300a2a9686b", + "key": "roborumble/muf.CrazyKitten_0.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4806.0, + "scores": [ + 2483.0, + 2323.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mwj.A1176183_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mwj.A1176183 1.0", + "division": "roborumble", + "jar": "mwj.A1176183_1.0.jar", + "jar_sha256": "f8ce952d18336b068f10ebb1eeed74639937a2fedfdcb95467c610542c885415", + "key": "roborumble/mwj.A1176183_1.0.jar", + "kind": "robot" + }, + "latest_observation": "4e51a38a4bc47576", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8628.0, + "scores": [ + 4240.0, + 4388.0 + ], + "selected": "mwj.A1176183 1.0" + }, + "completed_at": "2026-09-12T22:51:30Z", + "confirmation": null, + "delta_pct": -52.5, + "id": "4e51a38a4bc47576", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mwj.A1176183 1.0", + "division": "roborumble", + "jar": "mwj.A1176183_1.0.jar", + "jar_sha256": "f8ce952d18336b068f10ebb1eeed74639937a2fedfdcb95467c610542c885415", + "key": "roborumble/mwj.A1176183_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4096.0, + "scores": [ + 2113.0, + 1983.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/myl.micro.Avipes_1.00.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "myl.micro.Avipes 1.00", + "division": "roborumble", + "jar": "myl.micro.Avipes_1.00.jar", + "jar_sha256": "0b745ae90c1cf9b6cd4d280095858bae3b70866acc139975f5ed0bc19a87ae5e", + "key": "roborumble/myl.micro.Avipes_1.00.jar", + "kind": "robot" + }, + "latest_observation": "032e896324fbf636", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4921.0, + "scores": [ + 2989.0, + 1932.0 + ], + "selected": "myl.micro.Avipes 1.00" + }, + "completed_at": "2026-09-12T22:51:58Z", + "confirmation": null, + "delta_pct": -8.0, + "id": "032e896324fbf636", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "myl.micro.Avipes 1.00", + "division": "roborumble", + "jar": "myl.micro.Avipes_1.00.jar", + "jar_sha256": "0b745ae90c1cf9b6cd4d280095858bae3b70866acc139975f5ed0bc19a87ae5e", + "key": "roborumble/myl.micro.Avipes_1.00.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4527.0, + "scores": [ + 2710.0, + 1817.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/myl.micro.NekoNinja_1.30.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "myl.micro.NekoNinja 1.30", + "division": "roborumble", + "jar": "myl.micro.NekoNinja_1.30.jar", + "jar_sha256": "714d47481bf300a1c83ecda527ba4bdc6c00c48cc7150993dc1bc5fb92b120c0", + "key": "roborumble/myl.micro.NekoNinja_1.30.jar", + "kind": "robot" + }, + "latest_observation": "9d230e4afbe3b6b4", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5044.0, + "scores": [ + 2655.0, + 2389.0 + ], + "selected": "myl.micro.NekoNinja 1.30" + }, + "completed_at": "2026-09-12T22:52:25Z", + "confirmation": null, + "delta_pct": -9.0, + "id": "9d230e4afbe3b6b4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "myl.micro.NekoNinja 1.30", + "division": "roborumble", + "jar": "myl.micro.NekoNinja_1.30.jar", + "jar_sha256": "714d47481bf300a1c83ecda527ba4bdc6c00c48cc7150993dc1bc5fb92b120c0", + "key": "roborumble/myl.micro.NekoNinja_1.30.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4588.0, + "scores": [ + 2502.0, + 2086.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/myl.micro.Predator_1.50.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "myl.micro.Predator 1.50", + "division": "roborumble", + "jar": "myl.micro.Predator_1.50.jar", + "jar_sha256": "06511e01c940a7091a5fa9b94a1f584ba09864262cb4976349bc25a7f6d6ce8a", + "key": "roborumble/myl.micro.Predator_1.50.jar", + "kind": "robot" + }, + "latest_observation": "0b94d58e2efb335f", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4874.0, + "scores": [ + 2563.0, + 2311.0 + ], + "selected": "myl.micro.Predator 1.50" + }, + "completed_at": "2026-09-12T22:52:46Z", + "confirmation": null, + "delta_pct": -4.3, + "id": "0b94d58e2efb335f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "myl.micro.Predator 1.50", + "division": "roborumble", + "jar": "myl.micro.Predator_1.50.jar", + "jar_sha256": "06511e01c940a7091a5fa9b94a1f584ba09864262cb4976349bc25a7f6d6ce8a", + "key": "roborumble/myl.micro.Predator_1.50.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4662.0, + "scores": [ + 2836.0, + 1826.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/myl.micro.Troodon_1.10.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "myl.micro.Troodon 1.10", + "division": "roborumble", + "jar": "myl.micro.Troodon_1.10.jar", + "jar_sha256": "78734fa04f764c9668c41ff1dbee9838863f829a506dbc21b8949f9195b72dbf", + "key": "roborumble/myl.micro.Troodon_1.10.jar", + "kind": "robot" + }, + "latest_observation": "7e319cec019dd57c", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4359.0, + "scores": [ + 2168.0, + 2191.0 + ], + "selected": "myl.micro.Troodon 1.10" + }, + "completed_at": "2026-09-12T22:53:10Z", + "confirmation": null, + "delta_pct": -27.6, + "id": "7e319cec019dd57c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "myl.micro.Troodon 1.10", + "division": "roborumble", + "jar": "myl.micro.Troodon_1.10.jar", + "jar_sha256": "78734fa04f764c9668c41ff1dbee9838863f829a506dbc21b8949f9195b72dbf", + "key": "roborumble/myl.micro.Troodon_1.10.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3158.0, + "scores": [ + 1667.0, + 1491.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/myl.nano.Graviton_1.10.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "myl.nano.Graviton 1.10", + "division": "roborumble", + "jar": "myl.nano.Graviton_1.10.jar", + "jar_sha256": "4c6f85e03f5f67e918674e9ef0b5ec259998422e354c8e95ee33a3347fbcc212", + "key": "roborumble/myl.nano.Graviton_1.10.jar", + "kind": "robot" + }, + "latest_observation": "42f21d05faa46521", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3417.0, + "scores": [ + 1503.0, + 1914.0 + ], + "selected": "myl.nano.Graviton 1.10" + }, + "completed_at": "2026-09-12T22:53:35Z", + "confirmation": null, + "delta_pct": 281.5, + "id": "42f21d05faa46521", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "myl.nano.Graviton 1.10", + "division": "roborumble", + "jar": "myl.nano.Graviton_1.10.jar", + "jar_sha256": "4c6f85e03f5f67e918674e9ef0b5ec259998422e354c8e95ee33a3347fbcc212", + "key": "roborumble/myl.nano.Graviton_1.10.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13037.0, + "scores": [ + 7165.0, + 5872.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/myl.nano.Kakuru_1.20.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "myl.nano.Kakuru 1.20", + "division": "roborumble", + "jar": "myl.nano.Kakuru_1.20.jar", + "jar_sha256": "053895d398527b04cfdcf527598ca547429566279511b93445e61c7eda72ab30", + "key": "roborumble/myl.nano.Kakuru_1.20.jar", + "kind": "robot" + }, + "latest_observation": "e3aebeeba9256a4e", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4633.0, + "scores": [ + 2610.0, + 2023.0 + ], + "selected": "myl.nano.Kakuru 1.20" + }, + "completed_at": "2026-09-12T22:53:55Z", + "confirmation": null, + "delta_pct": 6.2, + "id": "e3aebeeba9256a4e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "myl.nano.Kakuru 1.20", + "division": "roborumble", + "jar": "myl.nano.Kakuru_1.20.jar", + "jar_sha256": "053895d398527b04cfdcf527598ca547429566279511b93445e61c7eda72ab30", + "key": "roborumble/myl.nano.Kakuru_1.20.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4919.0, + "scores": [ + 2716.0, + 2203.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/myl.nano.KomoriNinja_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "myl.nano.KomoriNinja 1.1", + "division": "roborumble", + "jar": "myl.nano.KomoriNinja_1.1.jar", + "jar_sha256": "d44ca5734824a7f7f7396016c47ed7d474751e775b1be11f1a6c22053db82f1b", + "key": "roborumble/myl.nano.KomoriNinja_1.1.jar", + "kind": "robot" + }, + "latest_observation": "6a75615f456acc97", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6461.0, + "scores": [ + 2840.0, + 3621.0 + ], + "selected": "myl.nano.KomoriNinja 1.1" + }, + "completed_at": "2026-09-12T22:54:28Z", + "confirmation": null, + "delta_pct": -70.8, + "id": "6a75615f456acc97", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "myl.nano.KomoriNinja 1.1", + "division": "roborumble", + "jar": "myl.nano.KomoriNinja_1.1.jar", + "jar_sha256": "d44ca5734824a7f7f7396016c47ed7d474751e775b1be11f1a6c22053db82f1b", + "key": "roborumble/myl.nano.KomoriNinja_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1886.0, + "scores": [ + 994.0, + 892.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/mym.EdgeStalker_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mym.EdgeStalker 1.0", + "division": "roborumble", + "jar": "mym.EdgeStalker_1.0.jar", + "jar_sha256": "3b5ee5c8982f2d8eb32b0d60476a78163b478423dcb6676ff6e4ecbb959cfaa3", + "key": "roborumble/mym.EdgeStalker_1.0.jar", + "kind": "robot" + }, + "latest_observation": "032038ab1ca0e462", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10464.0, + "scores": [ + 5691.0, + 4773.0 + ], + "selected": "mym.EdgeStalker 1.0" + }, + "completed_at": "2026-09-12T22:54:36Z", + "confirmation": null, + "delta_pct": null, + "id": "032038ab1ca0e462", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mym.EdgeStalker 1.0", + "division": "roborumble", + "jar": "mym.EdgeStalker_1.0.jar", + "jar_sha256": "3b5ee5c8982f2d8eb32b0d60476a78163b478423dcb6676ff6e4ecbb959cfaa3", + "key": "roborumble/mym.EdgeStalker_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.UnsupportedOperationException", + "mym.EdgeStalker.wallScan" + ] + ], + "elapsed": 4.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.UnsupportedOperationException", + "origin": "mym.EdgeStalker.wallScan" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.UnsupportedOperationException: stop(overwrite=true) is unsupported. Contact Robocode Tank Royale author for support", + "java.lang.UnsupportedOperationException: stop(overwrite=true) is unsupported. Contact Robocode Tank Royale author for support" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/mz.AdeptBSB_1.03.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mz.AdeptBSB 1.03", + "division": "roborumble", + "jar": "mz.AdeptBSB_1.03.jar", + "jar_sha256": "1b99f20dbc7ac14aa09dfcd38c95efdebcfebe16bc80927e277dd8c0a0f326b8", + "key": "roborumble/mz.AdeptBSB_1.03.jar", + "kind": "robot" + }, + "latest_observation": "25ee22f1da166676", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7441.0, + "scores": [ + 4102.0, + 3339.0 + ], + "selected": "mz.AdeptBSB 1.03" + }, + "completed_at": "2026-09-12T22:55:19Z", + "confirmation": null, + "delta_pct": -15.3, + "id": "25ee22f1da166676", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mz.AdeptBSB 1.03", + "division": "roborumble", + "jar": "mz.AdeptBSB_1.03.jar", + "jar_sha256": "1b99f20dbc7ac14aa09dfcd38c95efdebcfebe16bc80927e277dd8c0a0f326b8", + "key": "roborumble/mz.AdeptBSB_1.03.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6303.0, + "scores": [ + 3398.0, + 2905.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mz.Adept_2.65.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mz.Adept 2.65", + "division": "roborumble", + "jar": "mz.Adept_2.65.jar", + "jar_sha256": "32cd2ab01f017a2b01e28f9e3572f433d72113d06acdd1e00992f35f8ac36a79", + "key": "roborumble/mz.Adept_2.65.jar", + "kind": "robot" + }, + "latest_observation": "e3afcb98c1cb92f6", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5680.0, + "scores": [ + 3026.0, + 2654.0 + ], + "selected": "mz.Adept 2.65" + }, + "completed_at": "2026-09-12T22:54:56Z", + "confirmation": null, + "delta_pct": -9.4, + "id": "e3afcb98c1cb92f6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mz.Adept 2.65", + "division": "roborumble", + "jar": "mz.Adept_2.65.jar", + "jar_sha256": "32cd2ab01f017a2b01e28f9e3572f433d72113d06acdd1e00992f35f8ac36a79", + "key": "roborumble/mz.Adept_2.65.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5145.0, + "scores": [ + 2824.0, + 2321.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mz.Movement_1.8.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mz.Movement 1.8", + "division": "roborumble", + "jar": "mz.Movement_1.8.jar", + "jar_sha256": "63e5e41ced069d0069838a76f026084edb20efb436ae107b0356d413003da059", + "key": "roborumble/mz.Movement_1.8.jar", + "kind": "robot" + }, + "latest_observation": "4f0a6caf21085d4b", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5615.0, + "scores": [ + 2611.0, + 3004.0 + ], + "selected": "mz.Movement 1.8" + }, + "completed_at": "2026-09-12T22:55:40Z", + "confirmation": null, + "delta_pct": -14.7, + "id": "4f0a6caf21085d4b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mz.Movement 1.8", + "division": "roborumble", + "jar": "mz.Movement_1.8.jar", + "jar_sha256": "63e5e41ced069d0069838a76f026084edb20efb436ae107b0356d413003da059", + "key": "roborumble/mz.Movement_1.8.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4787.0, + "scores": [ + 2539.0, + 2248.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mz.NanoDeath_2.56.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mz.NanoDeath 2.56", + "division": "roborumble", + "jar": "mz.NanoDeath_2.56.jar", + "jar_sha256": "932367d197007cea416947bb4c183c5dd10e25e40da2d6d364b818fa6261fbe8", + "key": "roborumble/mz.NanoDeath_2.56.jar", + "kind": "robot" + }, + "latest_observation": "03396c3d89c24579", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11058.0, + "scores": [ + 5284.0, + 5774.0 + ], + "selected": "mz.NanoDeath 2.56" + }, + "completed_at": "2026-09-12T22:55:53Z", + "confirmation": null, + "delta_pct": -5.1, + "id": "03396c3d89c24579", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mz.NanoDeath 2.56", + "division": "roborumble", + "jar": "mz.NanoDeath_2.56.jar", + "jar_sha256": "932367d197007cea416947bb4c183c5dd10e25e40da2d6d364b818fa6261fbe8", + "key": "roborumble/mz.NanoDeath_2.56.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10490.0, + "scores": [ + 5598.0, + 4892.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/mz.NanoGod_2.02.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "mz.NanoGod 2.02", + "division": "roborumble", + "jar": "mz.NanoGod_2.02.jar", + "jar_sha256": "d2cc19a6395dd52f3f11a9a2265568b23bd836c710b1c0eeff7d6262d7e05e8a", + "key": "roborumble/mz.NanoGod_2.02.jar", + "kind": "robot" + }, + "latest_observation": "a6855f8135b53cb0", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9667.0, + "scores": [ + 5285.0, + 4382.0 + ], + "selected": "mz.NanoGod 2.02" + }, + "completed_at": "2026-09-12T22:56:09Z", + "confirmation": null, + "delta_pct": -2.6, + "id": "a6855f8135b53cb0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "mz.NanoGod 2.02", + "division": "roborumble", + "jar": "mz.NanoGod_2.02.jar", + "jar_sha256": "d2cc19a6395dd52f3f11a9a2265568b23bd836c710b1c0eeff7d6262d7e05e8a", + "key": "roborumble/mz.NanoGod_2.02.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9411.0, + "scores": [ + 4991.0, + 4420.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nammyung.ModelT_0.23.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nammyung.ModelT 0.23", + "division": "roborumble", + "jar": "nammyung.ModelT_0.23.jar", + "jar_sha256": "256c7541c76e78adec4a300e8c3c0934dd42fdd681ea75bc79922efb57011bb8", + "key": "roborumble/nammyung.ModelT_0.23.jar", + "kind": "robot" + }, + "latest_observation": "4c8a112e7dc35bd7", + "observations": [ + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7742.0, + "scores": [ + 3871.0, + 3871.0 + ], + "selected": "nammyung.ModelT 0.23" + }, + "completed_at": "2026-09-12T22:56:40Z", + "confirmation": null, + "delta_pct": -28.8, + "id": "4c8a112e7dc35bd7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "d30d1b3ceb92e6635d372a95dcf3f76a73bdd363", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nammyung.ModelT 0.23", + "division": "roborumble", + "jar": "nammyung.ModelT_0.23.jar", + "jar_sha256": "256c7541c76e78adec4a300e8c3c0934dd42fdd681ea75bc79922efb57011bb8", + "key": "roborumble/nammyung.ModelT_0.23.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5516.0, + "scores": [ + 3280.0, + 2236.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/nan.Ihivatar_Mk_1_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nan.Ihivatar_Mk_1 1.0", + "division": "roborumble", + "jar": "nan.Ihivatar_Mk_1_1.0.jar", + "jar_sha256": "39e4a8100d3449e2887c11d3bfc5f49b1f17b8b1db639d5ff3b3525cf175bfa2", + "key": "roborumble/nan.Ihivatar_Mk_1_1.0.jar", + "kind": "robot" + }, + "latest_observation": "eb5fed405cab9789", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4695.0, + "scores": [ + 1925.0, + 2770.0 + ], + "selected": "nan.Ihivatar_Mk_1 1.0" + }, + "completed_at": "2026-09-12T22:57:30Z", + "confirmation": null, + "delta_pct": -4.9, + "id": "eb5fed405cab9789", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nan.Ihivatar_Mk_1 1.0", + "division": "roborumble", + "jar": "nan.Ihivatar_Mk_1_1.0.jar", + "jar_sha256": "39e4a8100d3449e2887c11d3bfc5f49b1f17b8b1db639d5ff3b3525cf175bfa2", + "key": "roborumble/nan.Ihivatar_Mk_1_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4464.0, + "scores": [ + 2668.0, + 1796.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nanoskank.NanoSkank_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nanoskank.NanoSkank 1.0", + "division": "roborumble", + "jar": "nanoskank.NanoSkank_1.0.jar", + "jar_sha256": "ff25e7106afa24ddb8aa3734df633aee53d3477a9b85f5af7a55059eed0f4867", + "key": "roborumble/nanoskank.NanoSkank_1.0.jar", + "kind": "robot" + }, + "latest_observation": "7e4a1ed5b2f0f40e", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4898.0, + "scores": [ + 1888.0, + 3010.0 + ], + "selected": "nanoskank.NanoSkank 1.0" + }, + "completed_at": "2026-09-12T22:57:49Z", + "confirmation": null, + "delta_pct": -5.6, + "id": "7e4a1ed5b2f0f40e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nanoskank.NanoSkank 1.0", + "division": "roborumble", + "jar": "nanoskank.NanoSkank_1.0.jar", + "jar_sha256": "ff25e7106afa24ddb8aa3734df633aee53d3477a9b85f5af7a55059eed0f4867", + "key": "roborumble/nanoskank.NanoSkank_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4624.0, + "scores": [ + 2898.0, + 1726.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nat.BlackHole_2.0gamma.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nat.BlackHole 2.0gamma", + "division": "roborumble", + "jar": "nat.BlackHole_2.0gamma.jar", + "jar_sha256": "beb0c6b240ff14085f2c2689879eaf962f59e4842cda14ccb2f4905901065460", + "key": "roborumble/nat.BlackHole_2.0gamma.jar", + "kind": "robot" + }, + "latest_observation": "fdc28b7d03672f1d", + "observations": [ + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4918.0, + "scores": [ + 2454.0, + 2464.0 + ], + "selected": "nat.BlackHole 2.0gamma" + }, + "completed_at": "2026-09-12T22:58:19Z", + "confirmation": null, + "delta_pct": -0.5, + "id": "fdc28b7d03672f1d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nat.BlackHole 2.0gamma", + "division": "roborumble", + "jar": "nat.BlackHole_2.0gamma.jar", + "jar_sha256": "beb0c6b240ff14085f2c2689879eaf962f59e4842cda14ccb2f4905901065460", + "key": "roborumble/nat.BlackHole_2.0gamma.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4893.0, + "scores": [ + 2746.0, + 2147.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nat.Hikari_dev0001.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nat.Hikari dev0001", + "division": "roborumble", + "jar": "nat.Hikari_dev0001.jar", + "jar_sha256": "7de4b6596b0c31f08a09531fab2e87dd864dac978a25228b0ebba7d7e083d44e", + "key": "roborumble/nat.Hikari_dev0001.jar", + "kind": "robot" + }, + "latest_observation": "b8ce5e69e7e53f66", + "observations": [ + { + "classic": { + "elapsed": 4.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5306.0, + "scores": [ + 3268.0, + 2038.0 + ], + "selected": "nat.Hikari dev0001" + }, + "completed_at": "2026-09-12T22:58:50Z", + "confirmation": null, + "delta_pct": -44.9, + "id": "b8ce5e69e7e53f66", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nat.Hikari dev0001", + "division": "roborumble", + "jar": "nat.Hikari_dev0001.jar", + "jar_sha256": "7de4b6596b0c31f08a09531fab2e87dd864dac978a25228b0ebba7d7e083d44e", + "key": "roborumble/nat.Hikari_dev0001.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2925.0, + "scores": [ + 1699.0, + 1226.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/nat.Samekh_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nat.Samekh 0.4", + "division": "roborumble", + "jar": "nat.Samekh_0.4.jar", + "jar_sha256": "eb83caeea9b7523193c003769787dc71bcb4fa524ab644d6a99ae3098d086cee", + "key": "roborumble/nat.Samekh_0.4.jar", + "kind": "robot" + }, + "latest_observation": "bee07aa4157f7d5c", + "observations": [ + { + "classic": { + "elapsed": 4.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4673.0, + "scores": [ + 2815.0, + 1858.0 + ], + "selected": "nat.Samekh 0.4" + }, + "completed_at": "2026-09-12T23:00:40Z", + "confirmation": null, + "delta_pct": -3.9, + "id": "bee07aa4157f7d5c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nat.Samekh 0.4", + "division": "roborumble", + "jar": "nat.Samekh_0.4.jar", + "jar_sha256": "eb83caeea9b7523193c003769787dc71bcb4fa524ab644d6a99ae3098d086cee", + "key": "roborumble/nat.Samekh_0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4492.0, + "scores": [ + 2692.0, + 1800.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nat.micro.Reepicheep_0.1a.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nat.micro.Reepicheep 0.1a", + "division": "roborumble", + "jar": "nat.micro.Reepicheep_0.1a.jar", + "jar_sha256": "d9c178a796a2505cf20eedc476fce5eabfd6bdeda5b776f40e623d3800307871", + "key": "roborumble/nat.micro.Reepicheep_0.1a.jar", + "kind": "robot" + }, + "latest_observation": "6c7f7a58d66f1262", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7374.0, + "scores": [ + 3655.0, + 3719.0 + ], + "selected": "nat.micro.Reepicheep 0.1a" + }, + "completed_at": "2026-09-12T22:59:07Z", + "confirmation": null, + "delta_pct": -15.8, + "id": "6c7f7a58d66f1262", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nat.micro.Reepicheep 0.1a", + "division": "roborumble", + "jar": "nat.micro.Reepicheep_0.1a.jar", + "jar_sha256": "d9c178a796a2505cf20eedc476fce5eabfd6bdeda5b776f40e623d3800307871", + "key": "roborumble/nat.micro.Reepicheep_0.1a.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6210.0, + "scores": [ + 3879.0, + 2331.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nat.nano.OcnirpPM_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nat.nano.OcnirpPM 1.0", + "division": "roborumble", + "jar": "nat.nano.OcnirpPM_1.0.jar", + "jar_sha256": "b884a1df0a5f1928a52a2c44d64f06cb9311a52da8d878a5a50c4d9f0c974215", + "key": "roborumble/nat.nano.OcnirpPM_1.0.jar", + "kind": "robot" + }, + "latest_observation": "90c0cc386bc2e573", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4464.0, + "scores": [ + 1956.0, + 2508.0 + ], + "selected": "nat.nano.OcnirpPM 1.0" + }, + "completed_at": "2026-09-12T22:59:47Z", + "confirmation": null, + "delta_pct": -2.9, + "id": "90c0cc386bc2e573", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nat.nano.OcnirpPM 1.0", + "division": "roborumble", + "jar": "nat.nano.OcnirpPM_1.0.jar", + "jar_sha256": "b884a1df0a5f1928a52a2c44d64f06cb9311a52da8d878a5a50c4d9f0c974215", + "key": "roborumble/nat.nano.OcnirpPM_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4334.0, + "scores": [ + 2287.0, + 2047.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nat.nano.OcnirpSNG_1.0b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nat.nano.OcnirpSNG 1.0b", + "division": "roborumble", + "jar": "nat.nano.OcnirpSNG_1.0b.jar", + "jar_sha256": "4d6a5c5544ca504c660e68918464f33a9a05b069e036d6afadc493daf4221f52", + "key": "roborumble/nat.nano.OcnirpSNG_1.0b.jar", + "kind": "robot" + }, + "latest_observation": "22d06f5de04df3f6", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4941.0, + "scores": [ + 2073.0, + 2868.0 + ], + "selected": "nat.nano.OcnirpSNG 1.0b" + }, + "completed_at": "2026-09-12T23:00:09Z", + "confirmation": null, + "delta_pct": -4.8, + "id": "22d06f5de04df3f6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nat.nano.OcnirpSNG 1.0b", + "division": "roborumble", + "jar": "nat.nano.OcnirpSNG_1.0b.jar", + "jar_sha256": "4d6a5c5544ca504c660e68918464f33a9a05b069e036d6afadc493daf4221f52", + "key": "roborumble/nat.nano.OcnirpSNG_1.0b.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4703.0, + "scores": [ + 2639.0, + 2064.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nat.nano.Ocnirp_1.73.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nat.nano.Ocnirp 1.73", + "division": "roborumble", + "jar": "nat.nano.Ocnirp_1.73.jar", + "jar_sha256": "c77d88209563972389d374f4d927380ac026da76db0b8129bf9458bbb542ba26", + "key": "roborumble/nat.nano.Ocnirp_1.73.jar", + "kind": "robot" + }, + "latest_observation": "20ec467791831d64", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4705.0, + "scores": [ + 2729.0, + 1976.0 + ], + "selected": "nat.nano.Ocnirp 1.73" + }, + "completed_at": "2026-09-12T22:59:26Z", + "confirmation": null, + "delta_pct": -12.7, + "id": "20ec467791831d64", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nat.nano.Ocnirp 1.73", + "division": "roborumble", + "jar": "nat.nano.Ocnirp_1.73.jar", + "jar_sha256": "c77d88209563972389d374f4d927380ac026da76db0b8129bf9458bbb542ba26", + "key": "roborumble/nat.nano.Ocnirp_1.73.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4106.0, + "scores": [ + 2271.0, + 1835.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ncj.MoxieBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ncj.MoxieBot 1.0", + "division": "roborumble", + "jar": "ncj.MoxieBot_1.0.jar", + "jar_sha256": "b8f6b2bcd2039b665d29a300a30d7c405bc90a332463af5350113b5d4545fa4d", + "key": "roborumble/ncj.MoxieBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "1a1bd5dc5e9ba681", + "observations": [ + { + "classic": { + "elapsed": 28.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1147.0, + "scores": [ + 482.0, + 665.0 + ], + "selected": "ncj.MoxieBot 1.0" + }, + "completed_at": "2026-09-12T23:02:01Z", + "confirmation": null, + "delta_pct": 30.9, + "id": "1a1bd5dc5e9ba681", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ncj.MoxieBot 1.0", + "division": "roborumble", + "jar": "ncj.MoxieBot_1.0.jar", + "jar_sha256": "b8f6b2bcd2039b665d29a300a30d7c405bc90a332463af5350113b5d4545fa4d", + "key": "roborumble/ncj.MoxieBot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 52.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1501.0, + "scores": [ + 781.0, + 720.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ndn.DyslexicMonkey_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ndn.DyslexicMonkey 1.1", + "division": "roborumble", + "jar": "ndn.DyslexicMonkey_1.1.jar", + "jar_sha256": "b9a7aaf79bc18b3482cfb350c2f8f64be79fd5baccd10fa4a8a4942c87a0b706", + "key": "roborumble/ndn.DyslexicMonkey_1.1.jar", + "kind": "robot" + }, + "latest_observation": "aaffdedf8580c2bb", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4331.0, + "scores": [ + 2101.0, + 2230.0 + ], + "selected": "ndn.DyslexicMonkey 1.1" + }, + "completed_at": "2026-09-12T23:02:47Z", + "confirmation": null, + "delta_pct": 6.8, + "id": "aaffdedf8580c2bb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ndn.DyslexicMonkey 1.1", + "division": "roborumble", + "jar": "ndn.DyslexicMonkey_1.1.jar", + "jar_sha256": "b9a7aaf79bc18b3482cfb350c2f8f64be79fd5baccd10fa4a8a4942c87a0b706", + "key": "roborumble/ndn.DyslexicMonkey_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4624.0, + "scores": [ + 2491.0, + 2133.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ne.Chimera_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ne.Chimera 1.2", + "division": "roborumble", + "jar": "ne.Chimera_1.2.jar", + "jar_sha256": "7cf5fbc2478a55e7e648fefe8f59e720bee17ed869fcb5e661e8a1af2ab35a54", + "key": "roborumble/ne.Chimera_1.2.jar", + "kind": "robot" + }, + "latest_observation": "4b2e6452c51ec17c", + "observations": [ + { + "classic": { + "elapsed": 4.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7159.0, + "scores": [ + 3398.0, + 3761.0 + ], + "selected": "ne.Chimera 1.2" + }, + "completed_at": "2026-09-12T23:03:06Z", + "confirmation": null, + "delta_pct": null, + "id": "4b2e6452c51ec17c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ne.Chimera 1.2", + "division": "roborumble", + "jar": "ne.Chimera_1.2.jar", + "jar_sha256": "7cf5fbc2478a55e7e648fefe8f59e720bee17ed869fcb5e661e8a1af2ab35a54", + "key": "roborumble/ne.Chimera_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.io.IOException", + "unknown" + ] + ], + "elapsed": 14.2, + "error_count": 7, + "error_signatures": [ + { + "exception": "java.io.IOException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "Error writing Object:java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Error writing Object:java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Error writing Object:java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Error writing Object:java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Error writing Object:java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", + "Error writing Object:java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/nexus.Experimental_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nexus.Experimental 0.2", + "division": "roborumble", + "jar": "nexus.Experimental_0.2.jar", + "jar_sha256": "4b6c922cd552aa8ae43c268df05121fa69f2ef903f4d2dfbfdef3da818740ff8", + "key": "roborumble/nexus.Experimental_0.2.jar", + "kind": "robot" + }, + "latest_observation": "c7a8e0fdd71f81b9", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3477.0, + "scores": [ + 1906.0, + 1571.0 + ], + "selected": "nexus.Experimental 0.2" + }, + "completed_at": "2026-09-12T23:03:23Z", + "confirmation": null, + "delta_pct": -6.7, + "id": "c7a8e0fdd71f81b9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nexus.Experimental 0.2", + "division": "roborumble", + "jar": "nexus.Experimental_0.2.jar", + "jar_sha256": "4b6c922cd552aa8ae43c268df05121fa69f2ef903f4d2dfbfdef3da818740ff8", + "key": "roborumble/nexus.Experimental_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3244.0, + "scores": [ + 1753.0, + 1491.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nexus.One_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nexus.One 1.0", + "division": "roborumble", + "jar": "nexus.One_1.0.jar", + "jar_sha256": "f55c857ccfac5d48c7c0c38ed37d68b89549633c56e116efd0a712a362f68b7e", + "key": "roborumble/nexus.One_1.0.jar", + "kind": "robot" + }, + "latest_observation": "be225d1536d87a30", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2771.0, + "scores": [ + 1888.0, + 883.0 + ], + "selected": "nexus.One 1.0" + }, + "completed_at": "2026-09-12T23:03:44Z", + "confirmation": null, + "delta_pct": -24.9, + "id": "be225d1536d87a30", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nexus.One 1.0", + "division": "roborumble", + "jar": "nexus.One_1.0.jar", + "jar_sha256": "f55c857ccfac5d48c7c0c38ed37d68b89549633c56e116efd0a712a362f68b7e", + "key": "roborumble/nexus.One_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2080.0, + "scores": [ + 1100.0, + 980.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nexus.Prototype_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nexus.Prototype 1.0", + "division": "roborumble", + "jar": "nexus.Prototype_1.0.jar", + "jar_sha256": "a2a7e695391135cefcbdcc5bf701910449b546988643ea8450defe918ea7b84c", + "key": "roborumble/nexus.Prototype_1.0.jar", + "kind": "robot" + }, + "latest_observation": "771ce88613c6fbc6", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7625.0, + "scores": [ + 3768.0, + 3857.0 + ], + "selected": "nexus.Prototype 1.0" + }, + "completed_at": "2026-09-12T23:04:15Z", + "confirmation": null, + "delta_pct": -50.0, + "id": "771ce88613c6fbc6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nexus.Prototype 1.0", + "division": "roborumble", + "jar": "nexus.Prototype_1.0.jar", + "jar_sha256": "a2a7e695391135cefcbdcc5bf701910449b546988643ea8450defe918ea7b84c", + "key": "roborumble/nexus.Prototype_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3811.0, + "scores": [ + 1908.0, + 1903.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/nexus.Two_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nexus.Two 0.2", + "division": "roborumble", + "jar": "nexus.Two_0.2.jar", + "jar_sha256": "156aa2641cfd499cb2b8c80e4684d25d556424db64596776828ecd4ab28cbafb", + "key": "roborumble/nexus.Two_0.2.jar", + "kind": "robot" + }, + "latest_observation": "faf8e5dab6252c46", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3173.0, + "scores": [ + 1591.0, + 1582.0 + ], + "selected": "nexus.Two 0.2" + }, + "completed_at": "2026-09-12T23:04:28Z", + "confirmation": null, + "delta_pct": -28.7, + "id": "faf8e5dab6252c46", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nexus.Two 0.2", + "division": "roborumble", + "jar": "nexus.Two_0.2.jar", + "jar_sha256": "156aa2641cfd499cb2b8c80e4684d25d556424db64596776828ecd4ab28cbafb", + "key": "roborumble/nexus.Two_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2262.0, + "scores": [ + 1390.0, + 872.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ngf.nano.Sparky_0.1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ngf.nano.Sparky 0.1.5", + "division": "roborumble", + "jar": "ngf.nano.Sparky_0.1.5.jar", + "jar_sha256": "5756ae2ace8349776f4c1cefdefabc6aad575736993a7862f7e7ac57cc34c335", + "key": "roborumble/ngf.nano.Sparky_0.1.5.jar", + "kind": "robot" + }, + "latest_observation": "b634538fb008be6f", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6180.0, + "scores": [ + 3204.0, + 2976.0 + ], + "selected": "ngf.nano.Sparky 0.1.5" + }, + "completed_at": "2026-09-12T23:05:08Z", + "confirmation": null, + "delta_pct": -50.1, + "id": "b634538fb008be6f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ngf.nano.Sparky 0.1.5", + "division": "roborumble", + "jar": "ngf.nano.Sparky_0.1.5.jar", + "jar_sha256": "5756ae2ace8349776f4c1cefdefabc6aad575736993a7862f7e7ac57cc34c335", + "key": "roborumble/ngf.nano.Sparky_0.1.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3082.0, + "scores": [ + 1543.0, + 1539.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/nic.Nicator_2.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nic.Nicator 2.4", + "division": "roborumble", + "jar": "nic.Nicator_2.4.jar", + "jar_sha256": "b95c3c76451969efe65a8c874e6bf45afc0bb5d6ed3de50493db9d74103ccc6f", + "key": "roborumble/nic.Nicator_2.4.jar", + "kind": "robot" + }, + "latest_observation": "67338d8403618fc6", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11009.0, + "scores": [ + 5109.0, + 5900.0 + ], + "selected": "nic.Nicator 2.4" + }, + "completed_at": "2026-09-12T23:05:15Z", + "confirmation": null, + "delta_pct": null, + "id": "67338d8403618fc6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nic.Nicator 2.4", + "division": "roborumble", + "jar": "nic.Nicator_2.4.jar", + "jar_sha256": "b95c3c76451969efe65a8c874e6bf45afc0bb5d6ed3de50493db9d74103ccc6f", + "key": "roborumble/nic.Nicator_2.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "nic.FireControlManager.bullethit" + ] + ], + "elapsed": 4.2, + "error_count": 9, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "nic.FireControlManager.bullethit" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot read field \"target\" because \"b\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"b\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"b\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"b\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"b\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"b\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"b\" is null", + "java.lang.NullPointerException: Cannot read field \"target\" because \"b\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/nic.SnippetBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nic.SnippetBot 1.0", + "division": "roborumble", + "jar": "nic.SnippetBot_1.0.jar", + "jar_sha256": "46ff983712f2ef6cae27780563dfcc1a6ec04662e2e728a7c70f7e46519c48ed", + "key": "roborumble/nic.SnippetBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "0c261ee7291c16e5", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4229.0, + "scores": [ + 2325.0, + 1904.0 + ], + "selected": "nic.SnippetBot 1.0" + }, + "completed_at": "2026-09-12T23:05:41Z", + "confirmation": null, + "delta_pct": 198.0, + "id": "0c261ee7291c16e5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nic.SnippetBot 1.0", + "division": "roborumble", + "jar": "nic.SnippetBot_1.0.jar", + "jar_sha256": "46ff983712f2ef6cae27780563dfcc1a6ec04662e2e728a7c70f7e46519c48ed", + "key": "roborumble/nic.SnippetBot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12603.0, + "scores": [ + 6471.0, + 6132.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/nkn.mini.Jskr0_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nkn.mini.Jskr0 0.1", + "division": "roborumble", + "jar": "nkn.mini.Jskr0_0.1.jar", + "jar_sha256": "df2140c3759d5946eef47e1362b3b27c6a3e8e096c78a86d590e0634536b7c92", + "key": "roborumble/nkn.mini.Jskr0_0.1.jar", + "kind": "robot" + }, + "latest_observation": "c273fc1b4d424de2", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4352.0, + "scores": [ + 2333.0, + 2019.0 + ], + "selected": "nkn.mini.Jskr0 0.1" + }, + "completed_at": "2026-09-12T23:06:01Z", + "confirmation": null, + "delta_pct": 31.7, + "id": "c273fc1b4d424de2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nkn.mini.Jskr0 0.1", + "division": "roborumble", + "jar": "nkn.mini.Jskr0_0.1.jar", + "jar_sha256": "df2140c3759d5946eef47e1362b3b27c6a3e8e096c78a86d590e0634536b7c92", + "key": "roborumble/nkn.mini.Jskr0_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5733.0, + "scores": [ + 3463.0, + 2270.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/non.mega.NaN_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "non.mega.NaN 0.1", + "division": "roborumble", + "jar": "non.mega.NaN_0.1.jar", + "jar_sha256": "d235d806c2e9c4d8b34898892b426ac62ee08d909e7917cb9d17245df10c8b65", + "key": "roborumble/non.mega.NaN_0.1.jar", + "kind": "robot" + }, + "latest_observation": "8a21454d7a135902", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11541.0, + "scores": [ + 5565.0, + 5976.0 + ], + "selected": "non.mega.NaN 0.1" + }, + "completed_at": "2026-09-12T23:06:20Z", + "confirmation": null, + "delta_pct": 2.4, + "id": "8a21454d7a135902", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "non.mega.NaN 0.1", + "division": "roborumble", + "jar": "non.mega.NaN_0.1.jar", + "jar_sha256": "d235d806c2e9c4d8b34898892b426ac62ee08d909e7917cb9d17245df10c8b65", + "key": "roborumble/non.mega.NaN_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11814.0, + "scores": [ + 6023.0, + 5791.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/non.mega.NoName_0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "non.mega.NoName 0.0", + "division": "roborumble", + "jar": "non.mega.NoName_0.0.jar", + "jar_sha256": "b57e6ba44039daf6e8f04d981dd3b9a1bdea158654b954633daf508b0feaee0f", + "key": "roborumble/non.mega.NoName_0.0.jar", + "kind": "robot" + }, + "latest_observation": "41bc7d5ccd53bdbf", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5867.0, + "scores": [ + 2521.0, + 3346.0 + ], + "selected": "non.mega.NoName 0.0" + }, + "completed_at": "2026-09-12T23:06:37Z", + "confirmation": null, + "delta_pct": 22.0, + "id": "41bc7d5ccd53bdbf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "5bb235600b59f7239457a12c387984264fe914285f8d7b8655c0373947ef8125" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "eb9dd703d38041effb1c16d683502c797f9f95eb", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "875f517f7d3a7a49b458c2164088d44058496f55", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "non.mega.NoName 0.0", + "division": "roborumble", + "jar": "non.mega.NoName_0.0.jar", + "jar_sha256": "b57e6ba44039daf6e8f04d981dd3b9a1bdea158654b954633daf508b0feaee0f", + "key": "roborumble/non.mega.NoName_0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7159.0, + "scores": [ + 4249.0, + 2910.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nosteel.Welby_0.0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nosteel.Welby 0.0.3", + "division": "roborumble", + "jar": "nosteel.Welby_0.0.3.jar", + "jar_sha256": "8cccd629c4d15075136fbb05764d66c237babfc6378213892855e0d2f2d9f8c1", + "key": "roborumble/nosteel.Welby_0.0.3.jar", + "kind": "robot" + }, + "latest_observation": "ca4d97b1dc09be6c", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7686.0, + "scores": [ + 3542.0, + 4144.0 + ], + "selected": "nosteel.Welby 0.0.3" + }, + "completed_at": "2026-09-12T23:08:38Z", + "confirmation": null, + "delta_pct": -5.8, + "id": "ca4d97b1dc09be6c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "14e9cb0fa33771e606a79eb154b096b84ca5b56e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nosteel.Welby 0.0.3", + "division": "roborumble", + "jar": "nosteel.Welby_0.0.3.jar", + "jar_sha256": "8cccd629c4d15075136fbb05764d66c237babfc6378213892855e0d2f2d9f8c1", + "key": "roborumble/nosteel.Welby_0.0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7243.0, + "scores": [ + 3978.0, + 3265.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nova.Snow_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nova.Snow 1.0", + "division": "roborumble", + "jar": "nova.Snow_1.0.jar", + "jar_sha256": "5532467b69c50d0cef42ec168f6328b09995d4a16ea56569b35fde7e29692858", + "key": "roborumble/nova.Snow_1.0.jar", + "kind": "robot" + }, + "latest_observation": "6e203ee5f5f8269e", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7731.0, + "scores": [ + 3752.0, + 3979.0 + ], + "selected": "nova.Snow 1.0" + }, + "completed_at": "2026-09-12T23:08:57Z", + "confirmation": null, + "delta_pct": 7.6, + "id": "6e203ee5f5f8269e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "14e9cb0fa33771e606a79eb154b096b84ca5b56e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nova.Snow 1.0", + "division": "roborumble", + "jar": "nova.Snow_1.0.jar", + "jar_sha256": "5532467b69c50d0cef42ec168f6328b09995d4a16ea56569b35fde7e29692858", + "key": "roborumble/nova.Snow_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8317.0, + "scores": [ + 4526.0, + 3791.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ntc.Cannon_1.12test.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ntc.Cannon 1.12test", + "division": "roborumble", + "jar": "ntc.Cannon_1.12test.jar", + "jar_sha256": "7681acc223bc567c915beb98afc7c04e79d03dd6443887ef7760fcc81b7a9509", + "key": "roborumble/ntc.Cannon_1.12test.jar", + "kind": "robot" + }, + "latest_observation": "36e5089f4b6cb63d", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5979.0, + "scores": [ + 3265.0, + 2714.0 + ], + "selected": "ntc.Cannon 1.12test" + }, + "completed_at": "2026-09-21T17:18:46Z", + "confirmation": null, + "delta_pct": -22.6, + "id": "36e5089f4b6cb63d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ntc.Cannon 1.12test", + "division": "roborumble", + "jar": "ntc.Cannon_1.12test.jar", + "jar_sha256": "7681acc223bc567c915beb98afc7c04e79d03dd6443887ef7760fcc81b7a9509", + "key": "roborumble/ntc.Cannon_1.12test.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4626.0, + "scores": [ + 3280.0, + 1346.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ntc.Evader_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ntc.Evader 1.2", + "division": "roborumble", + "jar": "ntc.Evader_1.2.jar", + "jar_sha256": "ce3a45d75ff30e81468127a00a0140484089d737ae750d1b7fc551cfe27cc50b", + "key": "roborumble/ntc.Evader_1.2.jar", + "kind": "robot" + }, + "latest_observation": "3f731c8a8747c5cf", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3114.0, + "scores": [ + 1251.0, + 1863.0 + ], + "selected": "ntc.Evader 1.2" + }, + "completed_at": "2026-09-21T17:19:03Z", + "confirmation": null, + "delta_pct": 116.2, + "id": "3f731c8a8747c5cf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ntc.Evader 1.2", + "division": "roborumble", + "jar": "ntc.Evader_1.2.jar", + "jar_sha256": "ce3a45d75ff30e81468127a00a0140484089d737ae750d1b7fc551cfe27cc50b", + "key": "roborumble/ntc.Evader_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6731.0, + "scores": [ + 3472.0, + 3259.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ntc.Knowledge_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ntc.Knowledge 1.1", + "division": "roborumble", + "jar": "ntc.Knowledge_1.1.jar", + "jar_sha256": "ee4ba1880542b02bc175a63943ee9e7f4840c733ba1dd3ea49a814223d895895", + "key": "roborumble/ntc.Knowledge_1.1.jar", + "kind": "robot" + }, + "latest_observation": "9452daca84f0292a", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4152.0, + "scores": [ + 2063.0, + 2089.0 + ], + "selected": "ntc.Knowledge 1.1" + }, + "completed_at": "2026-09-21T17:19:21Z", + "confirmation": null, + "delta_pct": 46.7, + "id": "9452daca84f0292a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ntc.Knowledge 1.1", + "division": "roborumble", + "jar": "ntc.Knowledge_1.1.jar", + "jar_sha256": "ee4ba1880542b02bc175a63943ee9e7f4840c733ba1dd3ea49a814223d895895", + "key": "roborumble/ntc.Knowledge_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6089.0, + "scores": [ + 3770.0, + 2319.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ntc.Lasers.Lasers_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ntc.Lasers.Lasers 0.9", + "division": "roborumble", + "jar": "ntc.Lasers.Lasers_0.9.jar", + "jar_sha256": "802ea6ef095657d439dc511b5df61f7e221dce7c096b3b29699892101a1642d8", + "key": "roborumble/ntc.Lasers.Lasers_0.9.jar", + "kind": "robot" + }, + "latest_observation": "36926b65fbedc235", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9711.0, + "scores": [ + 5183.0, + 4528.0 + ], + "selected": "ntc.Lasers.Lasers 0.9" + }, + "completed_at": "2026-09-21T17:19:36Z", + "confirmation": null, + "delta_pct": -6.0, + "id": "36926b65fbedc235", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ntc.Lasers.Lasers 0.9", + "division": "roborumble", + "jar": "ntc.Lasers.Lasers_0.9.jar", + "jar_sha256": "802ea6ef095657d439dc511b5df61f7e221dce7c096b3b29699892101a1642d8", + "key": "roborumble/ntc.Lasers.Lasers_0.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9127.0, + "scores": [ + 4776.0, + 4351.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ntc.Plains_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ntc.Plains 0.9", + "division": "roborumble", + "jar": "ntc.Plains_0.9.jar", + "jar_sha256": "ce4fb7bafe4b14b30387343b1c3cc3d36ae1866a3c1c9486ae87905d806278e5", + "key": "roborumble/ntc.Plains_0.9.jar", + "kind": "robot" + }, + "latest_observation": "77ac0912a1c577e5", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5968.0, + "scores": [ + 3211.0, + 2757.0 + ], + "selected": "ntc.Plains 0.9" + }, + "completed_at": "2026-09-21T17:19:53Z", + "confirmation": null, + "delta_pct": 14.0, + "id": "77ac0912a1c577e5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ntc.Plains 0.9", + "division": "roborumble", + "jar": "ntc.Plains_0.9.jar", + "jar_sha256": "ce4fb7bafe4b14b30387343b1c3cc3d36ae1866a3c1c9486ae87905d806278e5", + "key": "roborumble/ntc.Plains_0.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6806.0, + "scores": [ + 3662.0, + 3144.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ntc.Swim_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ntc.Swim 0.9", + "division": "roborumble", + "jar": "ntc.Swim_0.9.jar", + "jar_sha256": "08419bc90164831cff2b5e6a21741b668a83a146af18f2d92ef281d670fa5883", + "key": "roborumble/ntc.Swim_0.9.jar", + "kind": "robot" + }, + "latest_observation": "384d2e24f7af5759", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4104.0, + "scores": [ + 2009.0, + 2095.0 + ], + "selected": "ntc.Swim 0.9" + }, + "completed_at": "2026-09-21T17:20:24Z", + "confirmation": null, + "delta_pct": -4.9, + "id": "384d2e24f7af5759", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ntc.Swim 0.9", + "division": "roborumble", + "jar": "ntc.Swim_0.9.jar", + "jar_sha256": "08419bc90164831cff2b5e6a21741b668a83a146af18f2d92ef281d670fa5883", + "key": "roborumble/ntc.Swim_0.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3902.0, + "scores": [ + 2122.0, + 1780.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ntw.Sighup_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ntw.Sighup 1.5", + "division": "roborumble", + "jar": "ntw.Sighup_1.5.jar", + "jar_sha256": "2e4009e104d7ea5953b3dac00ef17a4595eeab1c46e60a3901721492fa18c544", + "key": "roborumble/ntw.Sighup_1.5.jar", + "kind": "robot" + }, + "latest_observation": "06f0609f44683821", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "ntw.Sighup 1.5" + }, + "completed_at": "2026-09-21T17:20:47Z", + "confirmation": null, + "delta_pct": null, + "id": "06f0609f44683821", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ntw.Sighup 1.5", + "division": "roborumble", + "jar": "ntw.Sighup_1.5.jar", + "jar_sha256": "2e4009e104d7ea5953b3dac00ef17a4595eeab1c46e60a3901721492fa18c544", + "key": "roborumble/ntw.Sighup_1.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2688.0, + "scores": [ + 1344.0, + 1344.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/ntw.Sigsys_1.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ntw.Sigsys 1.6", + "division": "roborumble", + "jar": "ntw.Sigsys_1.6.jar", + "jar_sha256": "44595c91e605d9bd385175eb710889c9ee7266972572f3e8eec07e9917008fda", + "key": "roborumble/ntw.Sigsys_1.6.jar", + "kind": "robot" + }, + "latest_observation": "d3899da4a30cb913", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6705.0, + "scores": [ + 2859.0, + 3846.0 + ], + "selected": "ntw.Sigsys 1.6" + }, + "completed_at": "2026-09-21T17:21:04Z", + "confirmation": null, + "delta_pct": -9.5, + "id": "d3899da4a30cb913", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ntw.Sigsys 1.6", + "division": "roborumble", + "jar": "ntw.Sigsys_1.6.jar", + "jar_sha256": "44595c91e605d9bd385175eb710889c9ee7266972572f3e8eec07e9917008fda", + "key": "roborumble/ntw.Sigsys_1.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6067.0, + "scores": [ + 3394.0, + 2673.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nz.A7Ibwenape_A7Ibwen1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.A7Ibwenape A7Ibwen1.0", + "division": "roborumble", + "jar": "nz.A7Ibwenape_A7Ibwen1.0.jar", + "jar_sha256": "46c46d8c5155825dd6fa825ece4d6641065bbf0422c800705da9418adf434777", + "key": "roborumble/nz.A7Ibwenape_A7Ibwen1.0.jar", + "kind": "robot" + }, + "latest_observation": "b10b78ad67f42a75", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5975.0, + "scores": [ + 2771.0, + 3204.0 + ], + "selected": "nz.A7Ibwenape A7Ibwen1.0" + }, + "completed_at": "2026-09-21T17:21:36Z", + "confirmation": null, + "delta_pct": -14.1, + "id": "b10b78ad67f42a75", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.A7Ibwenape A7Ibwen1.0", + "division": "roborumble", + "jar": "nz.A7Ibwenape_A7Ibwen1.0.jar", + "jar_sha256": "46c46d8c5155825dd6fa825ece4d6641065bbf0422c800705da9418adf434777", + "key": "roborumble/nz.A7Ibwenape_A7Ibwen1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5134.0, + "scores": [ + 3092.0, + 2042.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nz.jdc.micro.HedgehogGF_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.jdc.micro.HedgehogGF 1.5", + "division": "roborumble", + "jar": "nz.jdc.micro.HedgehogGF_1.5.jar", + "jar_sha256": "ec09b0e0c878d286ab72bf03e5821ee55e35056762387c79f2c0f870e9edf22b", + "key": "roborumble/nz.jdc.micro.HedgehogGF_1.5.jar", + "kind": "robot" + }, + "latest_observation": "9c026df336f09e6d", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5568.0, + "scores": [ + 2428.0, + 3140.0 + ], + "selected": "nz.jdc.micro.HedgehogGF 1.5" + }, + "completed_at": "2026-09-21T17:22:01Z", + "confirmation": null, + "delta_pct": -64.0, + "id": "9c026df336f09e6d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.jdc.micro.HedgehogGF 1.5", + "division": "roborumble", + "jar": "nz.jdc.micro.HedgehogGF_1.5.jar", + "jar_sha256": "ec09b0e0c878d286ab72bf03e5821ee55e35056762387c79f2c0f870e9edf22b", + "key": "roborumble/nz.jdc.micro.HedgehogGF_1.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2003.0, + "scores": [ + 1173.0, + 830.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/nz.jdc.micro.HedgehogP_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.jdc.micro.HedgehogP 1.2", + "division": "roborumble", + "jar": "nz.jdc.micro.HedgehogP_1.2.jar", + "jar_sha256": "27a322e18ccd1d674e416b9fc97ad5601d93dce0d647c118f474dc3d504e9f3c", + "key": "roborumble/nz.jdc.micro.HedgehogP_1.2.jar", + "kind": "robot" + }, + "latest_observation": "8b7ec46b9d6d77ca", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7092.0, + "scores": [ + 3124.0, + 3968.0 + ], + "selected": "nz.jdc.micro.HedgehogP 1.2" + }, + "completed_at": "2026-09-21T17:22:24Z", + "confirmation": null, + "delta_pct": -18.2, + "id": "8b7ec46b9d6d77ca", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.jdc.micro.HedgehogP 1.2", + "division": "roborumble", + "jar": "nz.jdc.micro.HedgehogP_1.2.jar", + "jar_sha256": "27a322e18ccd1d674e416b9fc97ad5601d93dce0d647c118f474dc3d504e9f3c", + "key": "roborumble/nz.jdc.micro.HedgehogP_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5798.0, + "scores": [ + 2903.0, + 2895.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nz.jdc.nano.AralR_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.jdc.nano.AralR 1.1", + "division": "roborumble", + "jar": "nz.jdc.nano.AralR_1.1.jar", + "jar_sha256": "97fcae8007ce847a893543b2b7efd5ba3e14c4cf775f45731947630950ad9c55", + "key": "roborumble/nz.jdc.nano.AralR_1.1.jar", + "kind": "robot" + }, + "latest_observation": "2139d0683144dd5c", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6898.0, + "scores": [ + 3549.0, + 3349.0 + ], + "selected": "nz.jdc.nano.AralR 1.1" + }, + "completed_at": "2026-09-21T17:22:44Z", + "confirmation": null, + "delta_pct": -12.6, + "id": "2139d0683144dd5c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.jdc.nano.AralR 1.1", + "division": "roborumble", + "jar": "nz.jdc.nano.AralR_1.1.jar", + "jar_sha256": "97fcae8007ce847a893543b2b7efd5ba3e14c4cf775f45731947630950ad9c55", + "key": "roborumble/nz.jdc.nano.AralR_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6029.0, + "scores": [ + 3426.0, + 2603.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nz.jdc.nano.AralT_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.jdc.nano.AralT 1.1", + "division": "roborumble", + "jar": "nz.jdc.nano.AralT_1.1.jar", + "jar_sha256": "447005deddabca70a2f7fc5b71ae135240031678a0cf236683e6287ed1355c31", + "key": "roborumble/nz.jdc.nano.AralT_1.1.jar", + "kind": "robot" + }, + "latest_observation": "831f93f3a5a2dc24", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8508.0, + "scores": [ + 3940.0, + 4568.0 + ], + "selected": "nz.jdc.nano.AralT 1.1" + }, + "completed_at": "2026-09-21T17:23:01Z", + "confirmation": null, + "delta_pct": -15.2, + "id": "831f93f3a5a2dc24", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.jdc.nano.AralT 1.1", + "division": "roborumble", + "jar": "nz.jdc.nano.AralT_1.1.jar", + "jar_sha256": "447005deddabca70a2f7fc5b71ae135240031678a0cf236683e6287ed1355c31", + "key": "roborumble/nz.jdc.nano.AralT_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7213.0, + "scores": [ + 3696.0, + 3517.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nz.jdc.nano.NeophytePRAL_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.jdc.nano.NeophytePRAL 1.4", + "division": "roborumble", + "jar": "nz.jdc.nano.NeophytePRAL_1.4.jar", + "jar_sha256": "510023ee3d18b698a8fa9afd910664691106a3fed68691fc6eacd2b11d0ac1a1", + "key": "roborumble/nz.jdc.nano.NeophytePRAL_1.4.jar", + "kind": "robot" + }, + "latest_observation": "3b4123477dade9eb", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6638.0, + "scores": [ + 2950.0, + 3688.0 + ], + "selected": "nz.jdc.nano.NeophytePRAL 1.4" + }, + "completed_at": "2026-09-21T17:23:44Z", + "confirmation": null, + "delta_pct": -2.0, + "id": "3b4123477dade9eb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.jdc.nano.NeophytePRAL 1.4", + "division": "roborumble", + "jar": "nz.jdc.nano.NeophytePRAL_1.4.jar", + "jar_sha256": "510023ee3d18b698a8fa9afd910664691106a3fed68691fc6eacd2b11d0ac1a1", + "key": "roborumble/nz.jdc.nano.NeophytePRAL_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6504.0, + "scores": [ + 3425.0, + 3079.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nz.jdc.nano.NeophytePattern_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.jdc.nano.NeophytePattern 1.1", + "division": "roborumble", + "jar": "nz.jdc.nano.NeophytePattern_1.1.jar", + "jar_sha256": "8041811605579133ed799488ddf146eaec5650077a2d71114bb3f4d5ee02cfd1", + "key": "roborumble/nz.jdc.nano.NeophytePattern_1.1.jar", + "kind": "robot" + }, + "latest_observation": "ab528f974dd26d98", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6475.0, + "scores": [ + 3532.0, + 2943.0 + ], + "selected": "nz.jdc.nano.NeophytePattern 1.1" + }, + "completed_at": "2026-09-21T17:23:23Z", + "confirmation": null, + "delta_pct": -8.1, + "id": "ab528f974dd26d98", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.jdc.nano.NeophytePattern 1.1", + "division": "roborumble", + "jar": "nz.jdc.nano.NeophytePattern_1.1.jar", + "jar_sha256": "8041811605579133ed799488ddf146eaec5650077a2d71114bb3f4d5ee02cfd1", + "key": "roborumble/nz.jdc.nano.NeophytePattern_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5952.0, + "scores": [ + 3187.0, + 2765.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nz.jdc.nano.NeophyteSRAL_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.jdc.nano.NeophyteSRAL 1.3", + "division": "roborumble", + "jar": "nz.jdc.nano.NeophyteSRAL_1.3.jar", + "jar_sha256": "09ffd3f3880fd9379ae1414d8a35fa0af88af7f80bde4c829bc70cab2d8e4530", + "key": "roborumble/nz.jdc.nano.NeophyteSRAL_1.3.jar", + "kind": "robot" + }, + "latest_observation": "4b8a0820ce25f76a", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2615.0, + "scores": [ + 1071.0, + 1544.0 + ], + "selected": "nz.jdc.nano.NeophyteSRAL 1.3" + }, + "completed_at": "2026-09-21T17:24:09Z", + "confirmation": null, + "delta_pct": 76.3, + "id": "4b8a0820ce25f76a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.jdc.nano.NeophyteSRAL 1.3", + "division": "roborumble", + "jar": "nz.jdc.nano.NeophyteSRAL_1.3.jar", + "jar_sha256": "09ffd3f3880fd9379ae1414d8a35fa0af88af7f80bde4c829bc70cab2d8e4530", + "key": "roborumble/nz.jdc.nano.NeophyteSRAL_1.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4611.0, + "scores": [ + 2447.0, + 2164.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/nz.jdc.nano.PatternAdept_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.jdc.nano.PatternAdept 1.0", + "division": "roborumble", + "jar": "nz.jdc.nano.PatternAdept_1.0.jar", + "jar_sha256": "a7cbe7e480fc338bfc3e727505d49047b6710ab129c7d1083173d3af09d2e2c9", + "key": "roborumble/nz.jdc.nano.PatternAdept_1.0.jar", + "kind": "robot" + }, + "latest_observation": "825e66153ef0ff1e", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7150.0, + "scores": [ + 3412.0, + 3738.0 + ], + "selected": "nz.jdc.nano.PatternAdept 1.0" + }, + "completed_at": "2026-09-21T17:24:28Z", + "confirmation": null, + "delta_pct": -12.3, + "id": "825e66153ef0ff1e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.jdc.nano.PatternAdept 1.0", + "division": "roborumble", + "jar": "nz.jdc.nano.PatternAdept_1.0.jar", + "jar_sha256": "a7cbe7e480fc338bfc3e727505d49047b6710ab129c7d1083173d3af09d2e2c9", + "key": "roborumble/nz.jdc.nano.PatternAdept_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6273.0, + "scores": [ + 3147.0, + 3126.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nz.jdc.nano.PralDeGuerre_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nz.jdc.nano.PralDeGuerre 1.2", + "division": "roborumble", + "jar": "nz.jdc.nano.PralDeGuerre_1.2.jar", + "jar_sha256": "571d2d87860cd9af21eb3f9bac465d274a945ce25a60a6b8e14ab38cb09c7b83", + "key": "roborumble/nz.jdc.nano.PralDeGuerre_1.2.jar", + "kind": "robot" + }, + "latest_observation": "88186390fc6a4a9e", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6493.0, + "scores": [ + 2970.0, + 3523.0 + ], + "selected": "nz.jdc.nano.PralDeGuerre 1.2" + }, + "completed_at": "2026-09-21T17:24:45Z", + "confirmation": null, + "delta_pct": -14.5, + "id": "88186390fc6a4a9e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nz.jdc.nano.PralDeGuerre 1.2", + "division": "roborumble", + "jar": "nz.jdc.nano.PralDeGuerre_1.2.jar", + "jar_sha256": "571d2d87860cd9af21eb3f9bac465d274a945ce25a60a6b8e14ab38cb09c7b83", + "key": "roborumble/nz.jdc.nano.PralDeGuerre_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5552.0, + "scores": [ + 2922.0, + 2630.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/nzeemin.Izh_0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "nzeemin.Izh 0.5", + "division": "roborumble", + "jar": "nzeemin.Izh_0.5.jar", + "jar_sha256": "63ea4dd2a21895fb0c18c7358614d5a8e7412f62f2cc8415ca8314d5dd3cf63d", + "key": "roborumble/nzeemin.Izh_0.5.jar", + "kind": "robot" + }, + "latest_observation": "5fff4d895921e0de", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9239.0, + "scores": [ + 4582.0, + 4657.0 + ], + "selected": "nzeemin.Izh 0.5" + }, + "completed_at": "2026-09-21T17:25:06Z", + "confirmation": null, + "delta_pct": -7.3, + "id": "5fff4d895921e0de", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "nzeemin.Izh 0.5", + "division": "roborumble", + "jar": "nzeemin.Izh_0.5.jar", + "jar_sha256": "63ea4dd2a21895fb0c18c7358614d5a8e7412f62f2cc8415ca8314d5dd3cf63d", + "key": "roborumble/nzeemin.Izh_0.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8560.0, + "scores": [ + 4404.0, + 4156.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oa.weak.BotherBot_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oa.weak.BotherBot 0.1", + "division": "roborumble", + "jar": "oa.weak.BotherBot_0.1.jar", + "jar_sha256": "f1fa0dd93d874318fd7c68412e861ae943ed95612f847aeb05432a1305f882b2", + "key": "roborumble/oa.weak.BotherBot_0.1.jar", + "kind": "robot" + }, + "latest_observation": "c5b39a356c8932c7", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7331.0, + "scores": [ + 3129.0, + 4202.0 + ], + "selected": "oa.weak.BotherBot 0.1" + }, + "completed_at": "2026-09-21T17:25:25Z", + "confirmation": null, + "delta_pct": -41.6, + "id": "c5b39a356c8932c7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oa.weak.BotherBot 0.1", + "division": "roborumble", + "jar": "oa.weak.BotherBot_0.1.jar", + "jar_sha256": "f1fa0dd93d874318fd7c68412e861ae943ed95612f847aeb05432a1305f882b2", + "key": "roborumble/oa.weak.BotherBot_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4281.0, + "scores": [ + 2175.0, + 2106.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/oa.weak.FlyMk1_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oa.weak.FlyMk1 0.1", + "division": "roborumble", + "jar": "oa.weak.FlyMk1_0.1.jar", + "jar_sha256": "e475f93fba499018ff924d57b5d55c1409f184d0fe09bcdbd5489f07f13eed32", + "key": "roborumble/oa.weak.FlyMk1_0.1.jar", + "kind": "robot" + }, + "latest_observation": "533db4d94bcdc41d", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8939.0, + "scores": [ + 4213.0, + 4726.0 + ], + "selected": "oa.weak.FlyMk1 0.1" + }, + "completed_at": "2026-09-21T17:25:41Z", + "confirmation": null, + "delta_pct": -50.7, + "id": "533db4d94bcdc41d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oa.weak.FlyMk1 0.1", + "division": "roborumble", + "jar": "oa.weak.FlyMk1_0.1.jar", + "jar_sha256": "e475f93fba499018ff924d57b5d55c1409f184d0fe09bcdbd5489f07f13eed32", + "key": "roborumble/oa.weak.FlyMk1_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4405.0, + "scores": [ + 2534.0, + 1871.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ola.Puffin_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ola.Puffin 1.0", + "division": "roborumble", + "jar": "ola.Puffin_1.0.jar", + "jar_sha256": "75f7533b07d485852dd2c04e6269560fb82167b1fb102424671ccfd756c5e7b7", + "key": "roborumble/ola.Puffin_1.0.jar", + "kind": "robot" + }, + "latest_observation": "375de569515bb7cd", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11959.0, + "scores": [ + 5828.0, + 6131.0 + ], + "selected": "ola.Puffin 1.0" + }, + "completed_at": "2026-09-21T17:26:54Z", + "confirmation": null, + "delta_pct": -33.9, + "id": "375de569515bb7cd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ola.Puffin 1.0", + "division": "roborumble", + "jar": "ola.Puffin_1.0.jar", + "jar_sha256": "75f7533b07d485852dd2c04e6269560fb82167b1fb102424671ccfd756c5e7b7", + "key": "roborumble/ola.Puffin_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 68.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7909.0, + "scores": [ + 4039.0, + 3870.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/omens.CannonfodderMicro_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "omens.CannonfodderMicro 1.4", + "division": "roborumble", + "jar": "omens.CannonfodderMicro_1.4.jar", + "jar_sha256": "729cb54d83336f088af876e701254ec308151fc90f1e51e6bbd0cd13adf74547", + "key": "roborumble/omens.CannonfodderMicro_1.4.jar", + "kind": "robot" + }, + "latest_observation": "4affc00289d4e403", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8921.0, + "scores": [ + 4042.0, + 4879.0 + ], + "selected": "omens.CannonfodderMicro 1.4" + }, + "completed_at": "2026-09-21T17:27:13Z", + "confirmation": null, + "delta_pct": -3.1, + "id": "4affc00289d4e403", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "omens.CannonfodderMicro 1.4", + "division": "roborumble", + "jar": "omens.CannonfodderMicro_1.4.jar", + "jar_sha256": "729cb54d83336f088af876e701254ec308151fc90f1e51e6bbd0cd13adf74547", + "key": "roborumble/omens.CannonfodderMicro_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8646.0, + "scores": [ + 5148.0, + 3498.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/omens.CannonfodderNano_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "omens.CannonfodderNano 1.4", + "division": "roborumble", + "jar": "omens.CannonfodderNano_1.4.jar", + "jar_sha256": "38ad2ef7d26abf16f83d9c43d8378799eeec1175e276cb8d8516273cb320d924", + "key": "roborumble/omens.CannonfodderNano_1.4.jar", + "kind": "robot" + }, + "latest_observation": "4c9e2969bb78ff22", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9752.0, + "scores": [ + 5639.0, + 4113.0 + ], + "selected": "omens.CannonfodderNano 1.4" + }, + "completed_at": "2026-09-21T17:27:36Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "4c9e2969bb78ff22", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "omens.CannonfodderNano 1.4", + "division": "roborumble", + "jar": "omens.CannonfodderNano_1.4.jar", + "jar_sha256": "38ad2ef7d26abf16f83d9c43d8378799eeec1175e276cb8d8516273cb320d924", + "key": "roborumble/omens.CannonfodderNano_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9566.0, + "scores": [ + 5034.0, + 4532.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.PricklyPear_1.0.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.PricklyPear 1.0.6", + "division": "roborumble", + "jar": "oog.PricklyPear_1.0.6.jar", + "jar_sha256": "799fd98854d5ca2d7ab342872319b589fdcf8ced98d21649a257c3d392af8326", + "key": "roborumble/oog.PricklyPear_1.0.6.jar", + "kind": "robot" + }, + "latest_observation": "ecd3a11a4717e1d3", + "observations": [ + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5471.0, + "scores": [ + 2596.0, + 2875.0 + ], + "selected": "oog.PricklyPear 1.0.6" + }, + "completed_at": "2026-09-21T17:33:02Z", + "confirmation": null, + "delta_pct": -6.6, + "id": "ecd3a11a4717e1d3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.PricklyPear 1.0.6", + "division": "roborumble", + "jar": "oog.PricklyPear_1.0.6.jar", + "jar_sha256": "799fd98854d5ca2d7ab342872319b589fdcf8ced98d21649a257c3d392af8326", + "key": "roborumble/oog.PricklyPear_1.0.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5108.0, + "scores": [ + 2835.0, + 2273.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.melee.Capulet_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.melee.Capulet 1.2", + "division": "roborumble", + "jar": "oog.melee.Capulet_1.2.jar", + "jar_sha256": "729f924e59c1b3c1cfc2ceb7bd61d75ade56ca8498051737bbee44789d50b5aa", + "key": "roborumble/oog.melee.Capulet_1.2.jar", + "kind": "robot" + }, + "latest_observation": "ee56d3e5562790dc", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5170.0, + "scores": [ + 2682.0, + 2488.0 + ], + "selected": "oog.melee.Capulet 1.2" + }, + "completed_at": "2026-09-21T17:27:55Z", + "confirmation": null, + "delta_pct": 156.4, + "id": "ee56d3e5562790dc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "837ec4dbc63d187fe71c2df1a78db15cb609aad4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.melee.Capulet 1.2", + "division": "roborumble", + "jar": "oog.melee.Capulet_1.2.jar", + "jar_sha256": "729f924e59c1b3c1cfc2ceb7bd61d75ade56ca8498051737bbee44789d50b5aa", + "key": "roborumble/oog.melee.Capulet_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13257.0, + "scores": [ + 6750.0, + 6507.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/oog.melee.Mercutio_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.melee.Mercutio 1.0", + "division": "roborumble", + "jar": "oog.melee.Mercutio_1.0.jar", + "jar_sha256": "7764f3b249077f2116d0cb4a1698534d0b19e9bb668295a5dc02bf0e0cfb827e", + "key": "roborumble/oog.melee.Mercutio_1.0.jar", + "kind": "robot" + }, + "latest_observation": "1b8ff814bf573b6a", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6173.0, + "scores": [ + 3348.0, + 2825.0 + ], + "selected": "oog.melee.Mercutio 1.0" + }, + "completed_at": "2026-09-21T17:29:20Z", + "confirmation": null, + "delta_pct": -61.1, + "id": "1b8ff814bf573b6a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.melee.Mercutio 1.0", + "division": "roborumble", + "jar": "oog.melee.Mercutio_1.0.jar", + "jar_sha256": "7764f3b249077f2116d0cb4a1698534d0b19e9bb668295a5dc02bf0e0cfb827e", + "key": "roborumble/oog.melee.Mercutio_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2403.0, + "scores": [ + 1204.0, + 1199.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/oog.micro.Claudius_1.11.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.micro.Claudius 1.11", + "division": "roborumble", + "jar": "oog.micro.Claudius_1.11.jar", + "jar_sha256": "06a49a2f5c26902a28699952061115fa505a31ab3add8a6c54fe5dfef881fa88", + "key": "roborumble/oog.micro.Claudius_1.11.jar", + "kind": "robot" + }, + "latest_observation": "6166b36569a952be", + "observations": [ + { + "classic": { + "elapsed": 6.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4906.0, + "scores": [ + 2333.0, + 2573.0 + ], + "selected": "oog.micro.Claudius 1.11" + }, + "completed_at": "2026-09-21T17:29:47Z", + "confirmation": null, + "delta_pct": 15.0, + "id": "6166b36569a952be", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.micro.Claudius 1.11", + "division": "roborumble", + "jar": "oog.micro.Claudius_1.11.jar", + "jar_sha256": "06a49a2f5c26902a28699952061115fa505a31ab3add8a6c54fe5dfef881fa88", + "key": "roborumble/oog.micro.Claudius_1.11.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5643.0, + "scores": [ + 2925.0, + 2718.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.micro.MagicD3_0.41.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.micro.MagicD3 0.41", + "division": "roborumble", + "jar": "oog.micro.MagicD3_0.41.jar", + "jar_sha256": "76be829700899003aa15593f11b0fab68c950ca4cf0239680607c3371d0afc61", + "key": "roborumble/oog.micro.MagicD3_0.41.jar", + "kind": "robot" + }, + "latest_observation": "62a49ca736d28393", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7439.0, + "scores": [ + 3406.0, + 4033.0 + ], + "selected": "oog.micro.MagicD3 0.41" + }, + "completed_at": "2026-09-21T17:30:04Z", + "confirmation": null, + "delta_pct": -0.6, + "id": "62a49ca736d28393", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.micro.MagicD3 0.41", + "division": "roborumble", + "jar": "oog.micro.MagicD3_0.41.jar", + "jar_sha256": "76be829700899003aa15593f11b0fab68c950ca4cf0239680607c3371d0afc61", + "key": "roborumble/oog.micro.MagicD3_0.41.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7394.0, + "scores": [ + 3777.0, + 3617.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.micro.Maui_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.micro.Maui 1.2", + "division": "roborumble", + "jar": "oog.micro.Maui_1.2.jar", + "jar_sha256": "082672ac824f565788de5b7c7f2f60da631e081bd06bb58472140133190cb322", + "key": "roborumble/oog.micro.Maui_1.2.jar", + "kind": "robot" + }, + "latest_observation": "6f68728f1ef2bcf9", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7314.0, + "scores": [ + 4156.0, + 3158.0 + ], + "selected": "oog.micro.Maui 1.2" + }, + "completed_at": "2026-09-21T17:30:23Z", + "confirmation": null, + "delta_pct": -0.4, + "id": "6f68728f1ef2bcf9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.micro.Maui 1.2", + "division": "roborumble", + "jar": "oog.micro.Maui_1.2.jar", + "jar_sha256": "082672ac824f565788de5b7c7f2f60da631e081bd06bb58472140133190cb322", + "key": "roborumble/oog.micro.Maui_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7285.0, + "scores": [ + 3866.0, + 3419.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.micro.SavantMicro_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.micro.SavantMicro 1.1", + "division": "roborumble", + "jar": "oog.micro.SavantMicro_1.1.jar", + "jar_sha256": "1dba0fe3f3cee14caf9ecb87d8b45d23b891f72cf7fe8c79995bec95eb859be8", + "key": "roborumble/oog.micro.SavantMicro_1.1.jar", + "kind": "robot" + }, + "latest_observation": "f8d72a8e50bff547", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6653.0, + "scores": [ + 3606.0, + 3047.0 + ], + "selected": "oog.micro.SavantMicro 1.1" + }, + "completed_at": "2026-09-21T17:30:45Z", + "confirmation": null, + "delta_pct": -5.2, + "id": "f8d72a8e50bff547", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.micro.SavantMicro 1.1", + "division": "roborumble", + "jar": "oog.micro.SavantMicro_1.1.jar", + "jar_sha256": "1dba0fe3f3cee14caf9ecb87d8b45d23b891f72cf7fe8c79995bec95eb859be8", + "key": "roborumble/oog.micro.SavantMicro_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6306.0, + "scores": [ + 3703.0, + 2603.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.mini.AlphaDragon_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.mini.AlphaDragon 0.1", + "division": "roborumble", + "jar": "oog.mini.AlphaDragon_0.1.jar", + "jar_sha256": "ce12e321556850acf29125768a932607ce95de25234adbc47e6b2271ce9f0983", + "key": "roborumble/oog.mini.AlphaDragon_0.1.jar", + "kind": "robot" + }, + "latest_observation": "56f8fd8ae159ed77", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5092.0, + "scores": [ + 2631.0, + 2461.0 + ], + "selected": "oog.mini.AlphaDragon 0.1" + }, + "completed_at": "2026-09-21T17:31:08Z", + "confirmation": null, + "delta_pct": -8.6, + "id": "56f8fd8ae159ed77", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.mini.AlphaDragon 0.1", + "division": "roborumble", + "jar": "oog.mini.AlphaDragon_0.1.jar", + "jar_sha256": "ce12e321556850acf29125768a932607ce95de25234adbc47e6b2271ce9f0983", + "key": "roborumble/oog.mini.AlphaDragon_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4653.0, + "scores": [ + 2617.0, + 2036.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.nano.Caligula_1.15.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.nano.Caligula 1.15", + "division": "roborumble", + "jar": "oog.nano.Caligula_1.15.jar", + "jar_sha256": "5362f6cf4c14a30fb70fdbf8e1a18af8f67855df92dd238421725bf7f28e5946", + "key": "roborumble/oog.nano.Caligula_1.15.jar", + "kind": "robot" + }, + "latest_observation": "7b3cf58b7581110e", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9123.0, + "scores": [ + 4684.0, + 4439.0 + ], + "selected": "oog.nano.Caligula 1.15" + }, + "completed_at": "2026-09-21T17:31:21Z", + "confirmation": null, + "delta_pct": 37.4, + "id": "7b3cf58b7581110e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.nano.Caligula 1.15", + "division": "roborumble", + "jar": "oog.nano.Caligula_1.15.jar", + "jar_sha256": "5362f6cf4c14a30fb70fdbf8e1a18af8f67855df92dd238421725bf7f28e5946", + "key": "roborumble/oog.nano.Caligula_1.15.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12538.0, + "scores": [ + 6616.0, + 5922.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/oog.nano.Fuatisha_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.nano.Fuatisha 1.1", + "division": "roborumble", + "jar": "oog.nano.Fuatisha_1.1.jar", + "jar_sha256": "e4e022007637b1dd9e91509c1e9c4e87993c18b411551e69df715c82163e1d48", + "key": "roborumble/oog.nano.Fuatisha_1.1.jar", + "kind": "robot" + }, + "latest_observation": "2e21b63faa23e8b9", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6581.0, + "scores": [ + 3258.0, + 3323.0 + ], + "selected": "oog.nano.Fuatisha 1.1" + }, + "completed_at": "2026-09-21T17:31:42Z", + "confirmation": null, + "delta_pct": -14.7, + "id": "2e21b63faa23e8b9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.nano.Fuatisha 1.1", + "division": "roborumble", + "jar": "oog.nano.Fuatisha_1.1.jar", + "jar_sha256": "e4e022007637b1dd9e91509c1e9c4e87993c18b411551e69df715c82163e1d48", + "key": "roborumble/oog.nano.Fuatisha_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5615.0, + "scores": [ + 3201.0, + 2414.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.nano.MagicD2_2.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.nano.MagicD2 2.4", + "division": "roborumble", + "jar": "oog.nano.MagicD2_2.4.jar", + "jar_sha256": "86904bde296cf77badcd0a2cb795432a1f82a47ab546f871345cdd1b2e40d0f7", + "key": "roborumble/oog.nano.MagicD2_2.4.jar", + "kind": "robot" + }, + "latest_observation": "450fd1b982143f77", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9331.0, + "scores": [ + 4745.0, + 4586.0 + ], + "selected": "oog.nano.MagicD2 2.4" + }, + "completed_at": "2026-09-21T17:31:59Z", + "confirmation": null, + "delta_pct": -8.1, + "id": "450fd1b982143f77", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.nano.MagicD2 2.4", + "division": "roborumble", + "jar": "oog.nano.MagicD2_2.4.jar", + "jar_sha256": "86904bde296cf77badcd0a2cb795432a1f82a47ab546f871345cdd1b2e40d0f7", + "key": "roborumble/oog.nano.MagicD2_2.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8577.0, + "scores": [ + 4571.0, + 4006.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.nano.SavantVS_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.nano.SavantVS 1.1", + "division": "roborumble", + "jar": "oog.nano.SavantVS_1.1.jar", + "jar_sha256": "6082c6a479a058980b07aed770f297f1fbeb0ee4565359680913a6d00743865c", + "key": "roborumble/oog.nano.SavantVS_1.1.jar", + "kind": "robot" + }, + "latest_observation": "f8fe4ba967e59210", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3192.0, + "scores": [ + 1107.0, + 2085.0 + ], + "selected": "oog.nano.SavantVS 1.1" + }, + "completed_at": "2026-09-21T17:32:18Z", + "confirmation": null, + "delta_pct": 13.5, + "id": "f8fe4ba967e59210", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.nano.SavantVS 1.1", + "division": "roborumble", + "jar": "oog.nano.SavantVS_1.1.jar", + "jar_sha256": "6082c6a479a058980b07aed770f297f1fbeb0ee4565359680913a6d00743865c", + "key": "roborumble/oog.nano.SavantVS_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3624.0, + "scores": [ + 2069.0, + 1555.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/oog.nano.SavantWS_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "oog.nano.SavantWS 0.1", + "division": "roborumble", + "jar": "oog.nano.SavantWS_0.1.jar", + "jar_sha256": "786fc90c1c2d79f14420d542007725fc68d7ddaea9b6aade9b4d7013b927c819", + "key": "roborumble/oog.nano.SavantWS_0.1.jar", + "kind": "robot" + }, + "latest_observation": "4cc5ab9eac671a38", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2253.0, + "scores": [ + 976.0, + 1277.0 + ], + "selected": "oog.nano.SavantWS 0.1" + }, + "completed_at": "2026-09-21T17:32:37Z", + "confirmation": null, + "delta_pct": 21.3, + "id": "4cc5ab9eac671a38", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "oog.nano.SavantWS 0.1", + "division": "roborumble", + "jar": "oog.nano.SavantWS_0.1.jar", + "jar_sha256": "786fc90c1c2d79f14420d542007725fc68d7ddaea9b6aade9b4d7013b927c819", + "key": "roborumble/oog.nano.SavantWS_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2733.0, + "scores": [ + 1499.0, + 1234.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/origin.SleepSiphon_1.7b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "origin.SleepSiphon 1.7b", + "division": "roborumble", + "jar": "origin.SleepSiphon_1.7b.jar", + "jar_sha256": "29491440e15d85078470314b0e9f32b3ba42d2e8668cac15a8a7f9f3bc2560b6", + "key": "roborumble/origin.SleepSiphon_1.7b.jar", + "kind": "robot" + }, + "latest_observation": "8805f04d9690920a", + "observations": [ + { + "classic": { + "elapsed": 9.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2348.0, + "scores": [ + 1248.0, + 1100.0 + ], + "selected": "origin.SleepSiphon 1.7b" + }, + "completed_at": "2026-09-21T17:33:15Z", + "confirmation": null, + "delta_pct": null, + "id": "8805f04d9690920a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "origin.SleepSiphon 1.7b", + "division": "roborumble", + "jar": "origin.SleepSiphon_1.7b.jar", + "jar_sha256": "29491440e15d85078470314b0e9f32b3ba42d2e8668cac15a8a7f9f3bc2560b6", + "key": "roborumble/origin.SleepSiphon_1.7b.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "origin.SleepSiphon.onScannedRobot" + ] + ], + "elapsed": 4.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "origin.SleepSiphon.onScannedRobot" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"origin.Enemy.getLatest()\" because the return value of \"java.util.concurrent.ConcurrentHashMap.get(Object)\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/ouroboros.Dragon_0.0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ouroboros.Dragon 0.0.3", + "division": "roborumble", + "jar": "ouroboros.Dragon_0.0.3.jar", + "jar_sha256": "f11b8c6a121945c621d2149198cf554d5c31d3261df943fc7b97b40554cde45b", + "key": "roborumble/ouroboros.Dragon_0.0.3.jar", + "kind": "robot" + }, + "latest_observation": "860711bdb5c86ce5", + "observations": [ + { + "classic": { + "elapsed": 7.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5453.0, + "scores": [ + 2777.0, + 2676.0 + ], + "selected": "ouroboros.Dragon 0.0.3" + }, + "completed_at": "2026-09-21T17:34:07Z", + "confirmation": null, + "delta_pct": -9.5, + "id": "860711bdb5c86ce5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ouroboros.Dragon 0.0.3", + "division": "roborumble", + "jar": "ouroboros.Dragon_0.0.3.jar", + "jar_sha256": "f11b8c6a121945c621d2149198cf554d5c31d3261df943fc7b97b40554cde45b", + "key": "roborumble/ouroboros.Dragon_0.0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 44.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4937.0, + "scores": [ + 2674.0, + 2263.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pa.Improved_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pa.Improved 1.1", + "division": "roborumble", + "jar": "pa.Improved_1.1.jar", + "jar_sha256": "97e55e723361af3ae3470fc2d46df1e193521e85f956bc76071c86d03e656a68", + "key": "roborumble/pa.Improved_1.1.jar", + "kind": "robot" + }, + "latest_observation": "9f39058ff327c11d", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9664.0, + "scores": [ + 5111.0, + 4553.0 + ], + "selected": "pa.Improved 1.1" + }, + "completed_at": "2026-09-21T17:34:26Z", + "confirmation": null, + "delta_pct": -3.0, + "id": "9f39058ff327c11d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pa.Improved 1.1", + "division": "roborumble", + "jar": "pa.Improved_1.1.jar", + "jar_sha256": "97e55e723361af3ae3470fc2d46df1e193521e85f956bc76071c86d03e656a68", + "key": "roborumble/pa.Improved_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9374.0, + "scores": [ + 5379.0, + 3995.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pa3k.Manta_1.20.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pa3k.Manta 1.20", + "division": "roborumble", + "jar": "pa3k.Manta_1.20.jar", + "jar_sha256": "f83f618121cf669cd4d0132b5bb7788b226c0c727e5ee37c695635de5e30a06d", + "key": "roborumble/pa3k.Manta_1.20.jar", + "kind": "robot" + }, + "latest_observation": "19969a6d8f9d6553", + "observations": [ + { + "classic": { + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4546.0, + "scores": [ + 2599.0, + 1947.0 + ], + "selected": "pa3k.Manta 1.20" + }, + "completed_at": "2026-09-21T17:35:10Z", + "confirmation": null, + "delta_pct": -10.5, + "id": "19969a6d8f9d6553", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pa3k.Manta 1.20", + "division": "roborumble", + "jar": "pa3k.Manta_1.20.jar", + "jar_sha256": "f83f618121cf669cd4d0132b5bb7788b226c0c727e5ee37c695635de5e30a06d", + "key": "roborumble/pa3k.Manta_1.20.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4070.0, + "scores": [ + 2814.0, + 1256.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pa3k.Quark_1.02.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pa3k.Quark 1.02", + "division": "roborumble", + "jar": "pa3k.Quark_1.02.jar", + "jar_sha256": "2dd1c4438f90e7824872a7a28fb262630ce55e0f16d263f9b777b4139ec7e985", + "key": "roborumble/pa3k.Quark_1.02.jar", + "kind": "robot" + }, + "latest_observation": "006a0b04fbf1960f", + "observations": [ + { + "classic": { + "elapsed": 13.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5896.0, + "scores": [ + 3076.0, + 2820.0 + ], + "selected": "pa3k.Quark 1.02" + }, + "completed_at": "2026-09-21T17:36:16Z", + "confirmation": null, + "delta_pct": -14.4, + "id": "006a0b04fbf1960f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pa3k.Quark 1.02", + "division": "roborumble", + "jar": "pa3k.Quark_1.02.jar", + "jar_sha256": "2dd1c4438f90e7824872a7a28fb262630ce55e0f16d263f9b777b4139ec7e985", + "key": "roborumble/pa3k.Quark_1.02.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 52.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5046.0, + "scores": [ + 2632.0, + 2414.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pa3k.Viper_5.03.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pa3k.Viper 5.03", + "division": "roborumble", + "jar": "pa3k.Viper_5.03.jar", + "jar_sha256": "a67dd097cb9a5f7473abb58fa829c0ff590606b48a92260fd07a77108c4866ee", + "key": "roborumble/pa3k.Viper_5.03.jar", + "kind": "robot" + }, + "latest_observation": "e3e3794e764be778", + "observations": [ + { + "classic": { + "elapsed": 4.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6174.0, + "scores": [ + 3139.0, + 3035.0 + ], + "selected": "pa3k.Viper 5.03" + }, + "completed_at": "2026-09-21T17:36:54Z", + "confirmation": null, + "delta_pct": -0.4, + "id": "e3e3794e764be778", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pa3k.Viper 5.03", + "division": "roborumble", + "jar": "pa3k.Viper_5.03.jar", + "jar_sha256": "a67dd097cb9a5f7473abb58fa829c0ff590606b48a92260fd07a77108c4866ee", + "key": "roborumble/pa3k.Viper_5.03.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6152.0, + "scores": [ + 3187.0, + 2965.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pac.ABC_2.1.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], + "identity": { + "classic_selected": "pac.ABC 2.1", + "division": "roborumble", + "jar": "pac.ABC_2.1.jar", + "jar_sha256": "687d9d9374a68c03afeac33737203b3738599df4948f9ed0380965c5480ce37d", + "key": "roborumble/pac.ABC_2.1.jar", + "kind": "robot" + }, + "latest_observation": "dd2bdd747ab9f593", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8088.0, + "scores": [ + 4604.0, + 3484.0 + ], + "selected": "pac.ABC 2.1" + }, + "completed_at": "2026-09-21T17:37:31Z", + "confirmation": null, + "delta_pct": null, + "id": "67da680ba9b037ee", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pac.ABC 2.1", + "division": "roborumble", + "jar": "pac.ABC_2.1.jar", + "jar_sha256": "687d9d9374a68c03afeac33737203b3738599df4948f9ed0380965c5480ce37d", + "key": "roborumble/pac.ABC_2.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [ABC 2.1 (Carla Greg\ufffdrio e Rog\ufffdrio Costa.) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7852.0, + "scores": [ + 4270.0, + 3582.0 + ], + "selected": "pac.ABC 2.1" + }, + "completed_at": "2026-09-22T14:39:46Z", + "confirmation": null, + "delta_pct": null, + "id": "a1c152fd99b27a57", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pac.ABC 2.1", + "division": "roborumble", + "jar": "pac.ABC_2.1.jar", + "jar_sha256": "687d9d9374a68c03afeac33737203b3738599df4948f9ed0380965c5480ce37d", + "key": "roborumble/pac.ABC_2.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [ABC 2.1 (Carla Greg\u00f3rio e Rog\u00e9rio Costa.) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8597.0, + "scores": [ + 4492.0, + 4105.0 + ], + "selected": "pac.ABC 2.1" + }, + "completed_at": "2026-09-22T14:46:31Z", + "confirmation": null, + "delta_pct": -9.6, + "id": "dd2bdd747ab9f593", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pac.ABC 2.1", + "division": "roborumble", + "jar": "pac.ABC_2.1.jar", + "jar_sha256": "687d9d9374a68c03afeac33737203b3738599df4948f9ed0380965c5480ce37d", + "key": "roborumble/pac.ABC_2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7771.0, + "scores": [ + 4183.0, + 3588.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pak.Dargon_1.0b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pak.Dargon 1.0b", + "division": "roborumble", + "jar": "pak.Dargon_1.0b.jar", + "jar_sha256": "5934779c0febc2426f526ecc623eec65b68a8910a05ecc73a9a92a9e8d36d8ca", + "key": "roborumble/pak.Dargon_1.0b.jar", + "kind": "robot" + }, + "latest_observation": "44af6a60fc0162fe", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9344.0, + "scores": [ + 4890.0, + 4454.0 + ], + "selected": "pak.Dargon 1.0b" + }, + "completed_at": "2026-09-21T17:37:47Z", + "confirmation": null, + "delta_pct": -12.0, + "id": "44af6a60fc0162fe", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pak.Dargon 1.0b", + "division": "roborumble", + "jar": "pak.Dargon_1.0b.jar", + "jar_sha256": "5934779c0febc2426f526ecc623eec65b68a8910a05ecc73a9a92a9e8d36d8ca", + "key": "roborumble/pak.Dargon_1.0b.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8220.0, + "scores": [ + 4504.0, + 3716.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pak.JakeTheTestingRobot_.1b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pak.JakeTheTestingRobot .1b", + "division": "roborumble", + "jar": "pak.JakeTheTestingRobot_.1b.jar", + "jar_sha256": "9286d53c1c18ea00477d1432efac2fd08dd03f6eb88a86572312f64d663b125f", + "key": "roborumble/pak.JakeTheTestingRobot_.1b.jar", + "kind": "robot" + }, + "latest_observation": "5b008fd5bb01cda0", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8104.0, + "scores": [ + 3687.0, + 4417.0 + ], + "selected": "pak.JakeTheTestingRobot .1b" + }, + "completed_at": "2026-09-21T17:38:04Z", + "confirmation": null, + "delta_pct": 1.6, + "id": "5b008fd5bb01cda0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pak.JakeTheTestingRobot .1b", + "division": "roborumble", + "jar": "pak.JakeTheTestingRobot_.1b.jar", + "jar_sha256": "9286d53c1c18ea00477d1432efac2fd08dd03f6eb88a86572312f64d663b125f", + "key": "roborumble/pak.JakeTheTestingRobot_.1b.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8230.0, + "scores": [ + 4403.0, + 3827.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/paket.MojRobot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "paket.MojRobot 1.0", + "division": "roborumble", + "jar": "paket.MojRobot_1.0.jar", + "jar_sha256": "2ca64645fee46fb94e083b8cac7f7c0aa1c9ed65c57f4dbd5df118cfa1cd7f88", + "key": "roborumble/paket.MojRobot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "b8e28e1790c20bc0", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5601.0, + "scores": [ + 2908.0, + 2693.0 + ], + "selected": "paket.MojRobot 1.0" + }, + "completed_at": "2026-09-21T17:38:36Z", + "confirmation": null, + "delta_pct": -28.2, + "id": "b8e28e1790c20bc0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "paket.MojRobot 1.0", + "division": "roborumble", + "jar": "paket.MojRobot_1.0.jar", + "jar_sha256": "2ca64645fee46fb94e083b8cac7f7c0aa1c9ed65c57f4dbd5df118cfa1cd7f88", + "key": "roborumble/paket.MojRobot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4022.0, + "scores": [ + 2092.0, + 1930.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/panzer.Panzer_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "panzer.Panzer 0.2", + "division": "roborumble", + "jar": "panzer.Panzer_0.2.jar", + "jar_sha256": "3c328b5f5044141c2b9ebe47bb50d194ac0d8992452e65024afa7b952f487447", + "key": "roborumble/panzer.Panzer_0.2.jar", + "kind": "robot" + }, + "latest_observation": "7e05b530409e3827", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6281.0, + "scores": [ + 2764.0, + 3517.0 + ], + "selected": "panzer.Panzer 0.2" + }, + "completed_at": "2026-09-21T17:39:04Z", + "confirmation": null, + "delta_pct": -26.5, + "id": "7e05b530409e3827", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "panzer.Panzer 0.2", + "division": "roborumble", + "jar": "panzer.Panzer_0.2.jar", + "jar_sha256": "3c328b5f5044141c2b9ebe47bb50d194ac0d8992452e65024afa7b952f487447", + "key": "roborumble/panzer.Panzer_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4616.0, + "scores": [ + 2512.0, + 2104.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/paolord.TheHulk_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "paolord.TheHulk 1.0", + "division": "roborumble", + "jar": "paolord.TheHulk_1.0.jar", + "jar_sha256": "f285bd5a9a3bd54afe3c02eb907b9b28992cb56014317f07d0b62d6bf87204ca", + "key": "roborumble/paolord.TheHulk_1.0.jar", + "kind": "robot" + }, + "latest_observation": "b69ddb01a016a30b", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9367.0, + "scores": [ + 4630.0, + 4737.0 + ], + "selected": "paolord.TheHulk 1.0" + }, + "completed_at": "2026-09-21T17:39:33Z", + "confirmation": null, + "delta_pct": -26.6, + "id": "b69ddb01a016a30b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "paolord.TheHulk 1.0", + "division": "roborumble", + "jar": "paolord.TheHulk_1.0.jar", + "jar_sha256": "f285bd5a9a3bd54afe3c02eb907b9b28992cb56014317f07d0b62d6bf87204ca", + "key": "roborumble/paolord.TheHulk_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6874.0, + "scores": [ + 3540.0, + 3334.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/patson.PatsonTestBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "patson.PatsonTestBot 1.0", + "division": "roborumble", + "jar": "patson.PatsonTestBot_1.0.jar", + "jar_sha256": "279d87618432d3f28a6eb3c355d8f810febbcd5e94d09d82da735e7ca3fae57f", + "key": "roborumble/patson.PatsonTestBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "bcae170fb126b98c", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 14, + "error_signatures": [ + { + "exception": "java.util.NoSuchElementException", + "origin": "patson.PatsonTestBot.getEasyTarget" + } + ], + "errors": [ + "SYSTEM: java.util.NoSuchElementException occurred on robocode.HitByBulletEvent", + "java.util.NoSuchElementException", + "SYSTEM: java.util.NoSuchElementException occurred on robocode.HitByBulletEvent", + "java.util.NoSuchElementException", + "SYSTEM: java.util.NoSuchElementException occurred on robocode.HitByBulletEvent", + "java.util.NoSuchElementException", + "SYSTEM: java.util.NoSuchElementException occurred on robocode.HitByBulletEvent", + "java.util.NoSuchElementException", + "SYSTEM: java.util.NoSuchElementException occurred on robocode.HitByBulletEvent", + "java.util.NoSuchElementException", + "SYSTEM: java.util.NoSuchElementException occurred on robocode.HitByBulletEvent", + "java.util.NoSuchElementException", + "SYSTEM: java.util.NoSuchElementException occurred on robocode.HitByBulletEvent", + "java.util.NoSuchElementException" + ], + "has_log": true, + "ok": true, + "score": 6169.0, + "scores": [ + 3276.0, + 2893.0 + ], + "selected": "patson.PatsonTestBot 1.0" + }, + "completed_at": "2026-09-21T17:39:52Z", + "confirmation": null, + "delta_pct": -0.1, + "id": "bcae170fb126b98c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "dbfd9c021672b2b6eccf95b8da34c05d223b9c4a", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "patson.PatsonTestBot 1.0", + "division": "roborumble", + "jar": "patson.PatsonTestBot_1.0.jar", + "jar_sha256": "279d87618432d3f28a6eb3c355d8f810febbcd5e94d09d82da735e7ca3fae57f", + "key": "roborumble/patson.PatsonTestBot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6163.0, + "scores": [ + 3663.0, + 2500.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/paulk.PaulV3_1.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "paulk.PaulV3 1.7", + "division": "roborumble", + "jar": "paulk.PaulV3_1.7.jar", + "jar_sha256": "6dfb00aa1ffbeac2c76658041841f0f0757639205a7a20983dc5d5797bfc4f81", + "key": "roborumble/paulk.PaulV3_1.7.jar", + "kind": "robot" + }, + "latest_observation": "95adbd22ba62453c", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6994.0, + "scores": [ + 3901.0, + 3093.0 + ], + "selected": "paulk.PaulV3 1.7" + }, + "completed_at": "2026-09-21T17:40:45Z", + "confirmation": null, + "delta_pct": 39.5, + "id": "95adbd22ba62453c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "paulk.PaulV3 1.7", + "division": "roborumble", + "jar": "paulk.PaulV3_1.7.jar", + "jar_sha256": "6dfb00aa1ffbeac2c76658041841f0f0757639205a7a20983dc5d5797bfc4f81", + "key": "roborumble/paulk.PaulV3_1.7.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9757.0, + "scores": [ + 4910.0, + 4847.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/pb.Oscillator_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pb.Oscillator 1.0", + "division": "roborumble", + "jar": "pb.Oscillator_1.0.jar", + "jar_sha256": "6ed1f729724de9df431d43ecb75c83f56f684ce1d84e43ebcf4b0e3343c24d95", + "key": "roborumble/pb.Oscillator_1.0.jar", + "kind": "robot" + }, + "latest_observation": "7df2b921a4b28b34", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6008.0, + "scores": [ + 2783.0, + 3225.0 + ], + "selected": "pb.Oscillator 1.0" + }, + "completed_at": "2026-09-21T17:41:10Z", + "confirmation": null, + "delta_pct": -3.8, + "id": "7df2b921a4b28b34", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pb.Oscillator 1.0", + "division": "roborumble", + "jar": "pb.Oscillator_1.0.jar", + "jar_sha256": "6ed1f729724de9df431d43ecb75c83f56f684ce1d84e43ebcf4b0e3343c24d95", + "key": "roborumble/pb.Oscillator_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5782.0, + "scores": [ + 2998.0, + 2784.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pbg.NinjaX_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pbg.NinjaX 1.2", + "division": "roborumble", + "jar": "pbg.NinjaX_1.2.jar", + "jar_sha256": "9cecfc7152696164fe4fb12b2211d9ae8fa0d543257b6d96ed0d9dbd95f17236", + "key": "roborumble/pbg.NinjaX_1.2.jar", + "kind": "robot" + }, + "latest_observation": "b97a060c77e8cbd9", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5127.0, + "scores": [ + 2198.0, + 2929.0 + ], + "selected": "pbg.NinjaX 1.2" + }, + "completed_at": "2026-09-21T17:41:30Z", + "confirmation": null, + "delta_pct": -32.4, + "id": "b97a060c77e8cbd9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pbg.NinjaX 1.2", + "division": "roborumble", + "jar": "pbg.NinjaX_1.2.jar", + "jar_sha256": "9cecfc7152696164fe4fb12b2211d9ae8fa0d543257b6d96ed0d9dbd95f17236", + "key": "roborumble/pbg.NinjaX_1.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3467.0, + "scores": [ + 2038.0, + 1429.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/pe.SandboxDT_3.02.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pe.SandboxDT 3.02", + "division": "roborumble", + "jar": "pe.SandboxDT_3.02.jar", + "jar_sha256": "3635d6856c1a754c82bb24fcc9a2863244766f3dfec34f40a6fff34fee615feb", + "key": "roborumble/pe.SandboxDT_3.02.jar", + "kind": "robot" + }, + "latest_observation": "e8764db70e70af0a", + "observations": [ + { + "classic": { + "elapsed": 5.6, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\pe\\SandboxDT.data\\enemystats.dat (Den angivne fil blev ikke fundet)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\pe\\SandboxDT.data\\enemystats.dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5061.0, + "scores": [ + 2666.0, + 2395.0 + ], + "selected": "pe.SandboxDT 3.02" + }, + "completed_at": "2026-09-21T17:42:20Z", + "confirmation": null, + "delta_pct": null, + "id": "e8764db70e70af0a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pe.SandboxDT 3.02", + "division": "roborumble", + "jar": "pe.SandboxDT_3.02.jar", + "jar_sha256": "3635d6856c1a754c82bb24fcc9a2863244766f3dfec34f40a6fff34fee615feb", + "key": "roborumble/pe.SandboxDT_3.02.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.StringIndexOutOfBoundsException", + "pe.a.i.a" + ] + ], + "elapsed": 4.1, + "error_count": 152, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "pe.a.i.a" + }, + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + }, + { + "exception": "java.lang.StringIndexOutOfBoundsException", + "origin": "pe.a.i.a" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\pe.SandboxDT_3.02\\SandboxDT.data\\enemystats.dat (Den angivne fil blev ikke fundet)", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/pe.SandboxLump_1.52.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pe.SandboxLump 1.52", + "division": "roborumble", + "jar": "pe.SandboxLump_1.52.jar", + "jar_sha256": "1348f4a53c4f547ff16ee24357f2500dc013d841fdeaca4562c3f76eaf3ef3f6", + "key": "roborumble/pe.SandboxLump_1.52.jar", + "kind": "robot" + }, + "latest_observation": "ff93d22a269cfb72", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6108.0, + "scores": [ + 2206.0, + 3902.0 + ], + "selected": "pe.SandboxLump 1.52" + }, + "completed_at": "2026-09-21T17:42:37Z", + "confirmation": null, + "delta_pct": -0.4, + "id": "ff93d22a269cfb72", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pe.SandboxLump 1.52", + "division": "roborumble", + "jar": "pe.SandboxLump_1.52.jar", + "jar_sha256": "1348f4a53c4f547ff16ee24357f2500dc013d841fdeaca4562c3f76eaf3ef3f6", + "key": "roborumble/pe.SandboxLump_1.52.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6081.0, + "scores": [ + 3127.0, + 2954.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pe.mini.SandboxMini_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pe.mini.SandboxMini 1.2", + "division": "roborumble", + "jar": "pe.mini.SandboxMini_1.2.jar", + "jar_sha256": "236356b3d83c167a3914055cc00fd0bb45cefa74295af67ffdb1e324dce3e7b9", + "key": "roborumble/pe.mini.SandboxMini_1.2.jar", + "kind": "robot" + }, + "latest_observation": "1930cd48c43fab7b", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5644.0, + "scores": [ + 2486.0, + 3158.0 + ], + "selected": "pe.mini.SandboxMini 1.2" + }, + "completed_at": "2026-09-21T17:41:51Z", + "confirmation": null, + "delta_pct": -11.4, + "id": "1930cd48c43fab7b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pe.mini.SandboxMini 1.2", + "division": "roborumble", + "jar": "pe.mini.SandboxMini_1.2.jar", + "jar_sha256": "236356b3d83c167a3914055cc00fd0bb45cefa74295af67ffdb1e324dce3e7b9", + "key": "roborumble/pe.mini.SandboxMini_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5001.0, + "scores": [ + 2868.0, + 2133.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pe.minimelee.SandboxMiniMelee_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pe.minimelee.SandboxMiniMelee 1.1", + "division": "roborumble", + "jar": "pe.minimelee.SandboxMiniMelee_1.1.jar", + "jar_sha256": "2822109c4d49924c7bf932bd25ae7ad8fa71756308b73c193501670717a66d04", + "key": "roborumble/pe.minimelee.SandboxMiniMelee_1.1.jar", + "kind": "robot" + }, + "latest_observation": "7b272700364a7c9c", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5502.0, + "scores": [ + 2747.0, + 2755.0 + ], + "selected": "pe.minimelee.SandboxMiniMelee 1.1" + }, + "completed_at": "2026-09-21T17:42:10Z", + "confirmation": null, + "delta_pct": -2.7, + "id": "7b272700364a7c9c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pe.minimelee.SandboxMiniMelee 1.1", + "division": "roborumble", + "jar": "pe.minimelee.SandboxMiniMelee_1.1.jar", + "jar_sha256": "2822109c4d49924c7bf932bd25ae7ad8fa71756308b73c193501670717a66d04", + "key": "roborumble/pe.minimelee.SandboxMiniMelee_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5353.0, + "scores": [ + 3474.0, + 1879.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pedersen.Hubris_2.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pedersen.Hubris 2.4", + "division": "roborumble", + "jar": "pedersen.Hubris_2.4.jar", + "jar_sha256": "894ecc6ea548659f060fed45f41a56475697a13c385247c8ffabcc16c65c0659", + "key": "roborumble/pedersen.Hubris_2.4.jar", + "kind": "robot" + }, + "latest_observation": "c3be61affe6e9030", + "observations": [ + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6485.0, + "scores": [ + 3325.0, + 3160.0 + ], + "selected": "pedersen.Hubris 2.4" + }, + "completed_at": "2026-09-21T17:42:52Z", + "confirmation": null, + "delta_pct": null, + "id": "c3be61affe6e9030", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pedersen.Hubris 2.4", + "division": "roborumble", + "jar": "pedersen.Hubris_2.4.jar", + "jar_sha256": "894ecc6ea548659f060fed45f41a56475697a13c385247c8ffabcc16c65c0659", + "key": "roborumble/pedersen.Hubris_2.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "unknown" + ], + [ + "lang.NullPointerException", + "unknown" + ] + ], + "elapsed": 5.9, + "error_count": 1747, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getEnergy()\" because \"this.snapshot\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.physics.Snapshot.getVehicle()\" because \"this.snapshot\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/pedersen.Ugluk_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pedersen.Ugluk 1.0", + "division": "roborumble", + "jar": "pedersen.Ugluk_1.0.jar", + "jar_sha256": "0f0fffa0aba3426dbbc2b356dc515d77520680f6bb305db03d423ffd2bbd92a0", + "key": "roborumble/pedersen.Ugluk_1.0.jar", + "kind": "robot" + }, + "latest_observation": "7fc005ef2c17d2da", + "observations": [ + { + "classic": { + "elapsed": 5.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5234.0, + "scores": [ + 2699.0, + 2535.0 + ], + "selected": "pedersen.Ugluk 1.0" + }, + "completed_at": "2026-09-21T17:43:01Z", + "confirmation": null, + "delta_pct": null, + "id": "7fc005ef2c17d2da", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pedersen.Ugluk 1.0", + "division": "roborumble", + "jar": "pedersen.Ugluk_1.0.jar", + "jar_sha256": "0f0fffa0aba3426dbbc2b356dc515d77520680f6bb305db03d423ffd2bbd92a0", + "key": "roborumble/pedersen.Ugluk_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "pedersen.core.Combatant.operate" + ], + [ + "java.lang.NullPointerException", + "unknown" + ] + ], + "elapsed": 4.2, + "error_count": 921, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "pedersen.core.Combatant.operate" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null", + "java.lang.NullPointerException: Cannot invoke \"pedersen.systems.DrivingMethod.operate(pedersen.core.Snapshot, pedersen.core.Snapshot, long)\" because \"this.chassis\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/pez.clean.Swiffer_0.2.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.clean.Swiffer 0.2.9", + "division": "roborumble", + "jar": "pez.clean.Swiffer_0.2.9.jar", + "jar_sha256": "a5f3ae5294cf236bae45206505242779ffbaa8a61e9e504bbe94845ec2af886e", + "key": "roborumble/pez.clean.Swiffer_0.2.9.jar", + "kind": "robot" + }, + "latest_observation": "e28da1958311b5a0", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7673.0, + "scores": [ + 3594.0, + 4079.0 + ], + "selected": "pez.clean.Swiffer 0.2.9" + }, + "completed_at": "2026-09-21T17:43:21Z", + "confirmation": null, + "delta_pct": -18.7, + "id": "e28da1958311b5a0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.clean.Swiffer 0.2.9", + "division": "roborumble", + "jar": "pez.clean.Swiffer_0.2.9.jar", + "jar_sha256": "a5f3ae5294cf236bae45206505242779ffbaa8a61e9e504bbe94845ec2af886e", + "key": "roborumble/pez.clean.Swiffer_0.2.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6240.0, + "scores": [ + 3358.0, + 2882.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.frankie.Frankie_0.9.6.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.frankie.Frankie 0.9.6.1", + "division": "roborumble", + "jar": "pez.frankie.Frankie_0.9.6.1.jar", + "jar_sha256": "99f0993be3b571bccd41697eddd3e2c4bfd627311bc2120f81ab80654de659ea", + "key": "roborumble/pez.frankie.Frankie_0.9.6.1.jar", + "kind": "robot" + }, + "latest_observation": "301d808b9534b3ce", + "observations": [ + { + "classic": { + "elapsed": 4.9, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "Error restoring movie: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\pez\\frankie\\Frankie.data\\pez.frankie.Frankie 0.9.6.1 (2).zip (Den angivne fil blev ikke fundet)", + "Error restoring movie: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\pez\\frankie\\Frankie.data\\pez.frankie.Frankie 0.9.6.1 (1).zip (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5305.0, + "scores": [ + 2203.0, + 3102.0 + ], + "selected": "pez.frankie.Frankie 0.9.6.1" + }, + "completed_at": "2026-09-21T17:43:49Z", + "confirmation": null, + "delta_pct": -10.5, + "id": "301d808b9534b3ce", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.frankie.Frankie 0.9.6.1", + "division": "roborumble", + "jar": "pez.frankie.Frankie_0.9.6.1.jar", + "jar_sha256": "99f0993be3b571bccd41697eddd3e2c4bfd627311bc2120f81ab80654de659ea", + "key": "roborumble/pez.frankie.Frankie_0.9.6.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "Error restoring movie: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\pez.frankie.Frankie_0.9.6.1\\Frankie.data\\2.zip (Den angivne fil blev ikke fundet)", + "Error restoring movie: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\pez.frankie.Frankie_0.9.6.1-2\\Frankie.data\\1.zip (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 4746.0, + "scores": [ + 2706.0, + 2040.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.gloom.GloomyDark_0.9.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.gloom.GloomyDark 0.9.2", + "division": "roborumble", + "jar": "pez.gloom.GloomyDark_0.9.2.jar", + "jar_sha256": "913ae0d7e60638ae9bdbadaa45b6b2e5d64eb2b188377f82394796eed083ff82", + "key": "roborumble/pez.gloom.GloomyDark_0.9.2.jar", + "kind": "robot" + }, + "latest_observation": "47368d0adc4dbcb9", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5220.0, + "scores": [ + 2607.0, + 2613.0 + ], + "selected": "pez.gloom.GloomyDark 0.9.2" + }, + "completed_at": "2026-09-21T17:44:13Z", + "confirmation": null, + "delta_pct": 4.7, + "id": "47368d0adc4dbcb9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.gloom.GloomyDark 0.9.2", + "division": "roborumble", + "jar": "pez.gloom.GloomyDark_0.9.2.jar", + "jar_sha256": "913ae0d7e60638ae9bdbadaa45b6b2e5d64eb2b188377f82394796eed083ff82", + "key": "roborumble/pez.gloom.GloomyDark_0.9.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5466.0, + "scores": [ + 2778.0, + 2688.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.mako.Mako_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.mako.Mako 1.5", + "division": "roborumble", + "jar": "pez.mako.Mako_1.5.jar", + "jar_sha256": "eae1f3c4eac6d650e2b0ce8d1ec3847a157fca172618213aac6f5764210144f5", + "key": "roborumble/pez.mako.Mako_1.5.jar", + "kind": "robot" + }, + "latest_observation": "380eb9cba52e3299", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "Hmmm, maybe this guy is new in town: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\pez\\mako\\Mako.data\\pez.mako.Mako (Den angivne fil blev ikke fundet)", + "Hmmm, maybe this guy is new in town: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\pez\\mako\\Mako.data\\pez.mako.Mako (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 4272.0, + "scores": [ + 2470.0, + 1802.0 + ], + "selected": "pez.mako.Mako 1.5" + }, + "completed_at": "2026-09-21T17:44:34Z", + "confirmation": null, + "delta_pct": -11.1, + "id": "380eb9cba52e3299", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.mako.Mako 1.5", + "division": "roborumble", + "jar": "pez.mako.Mako_1.5.jar", + "jar_sha256": "eae1f3c4eac6d650e2b0ce8d1ec3847a157fca172618213aac6f5764210144f5", + "key": "roborumble/pez.mako.Mako_1.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "Hmmm, maybe this guy is new in town: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\pez.mako.Mako_1.5\\Mako.data\\2 (Den angivne fil blev ikke fundet)", + "Hmmm, maybe this guy is new in town: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\pez.mako.Mako_1.5-2\\Mako.data\\1 (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 3797.0, + "scores": [ + 2143.0, + 1654.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.micro.Aristocles_0.3.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.micro.Aristocles 0.3.7", + "division": "roborumble", + "jar": "pez.micro.Aristocles_0.3.7.jar", + "jar_sha256": "871262affb313978253a5b7fcc52fe717ced85aa076c0f015c742b716b7157e6", + "key": "roborumble/pez.micro.Aristocles_0.3.7.jar", + "kind": "robot" + }, + "latest_observation": "93c7e32da7211492", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5155.0, + "scores": [ + 2879.0, + 2276.0 + ], + "selected": "pez.micro.Aristocles 0.3.7" + }, + "completed_at": "2026-09-21T17:44:57Z", + "confirmation": null, + "delta_pct": -67.6, + "id": "93c7e32da7211492", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.micro.Aristocles 0.3.7", + "division": "roborumble", + "jar": "pez.micro.Aristocles_0.3.7.jar", + "jar_sha256": "871262affb313978253a5b7fcc52fe717ced85aa076c0f015c742b716b7157e6", + "key": "roborumble/pez.micro.Aristocles_0.3.7.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1671.0, + "scores": [ + 935.0, + 736.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/pez.mini.ChironexFleckeri_0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.mini.ChironexFleckeri 0.5", + "division": "roborumble", + "jar": "pez.mini.ChironexFleckeri_0.5.jar", + "jar_sha256": "81cef3b2baf4d2a34a255590c4dd7a10f405258b82167985f91db6b7b62afa35", + "key": "roborumble/pez.mini.ChironexFleckeri_0.5.jar", + "kind": "robot" + }, + "latest_observation": "d54f346f46c249a3", + "observations": [ + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5702.0, + "scores": [ + 2737.0, + 2965.0 + ], + "selected": "pez.mini.ChironexFleckeri 0.5" + }, + "completed_at": "2026-09-21T17:45:30Z", + "confirmation": null, + "delta_pct": -54.3, + "id": "d54f346f46c249a3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.mini.ChironexFleckeri 0.5", + "division": "roborumble", + "jar": "pez.mini.ChironexFleckeri_0.5.jar", + "jar_sha256": "81cef3b2baf4d2a34a255590c4dd7a10f405258b82167985f91db6b7b62afa35", + "key": "roborumble/pez.mini.ChironexFleckeri_0.5.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2607.0, + "scores": [ + 1339.0, + 1268.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/pez.mini.Gouldingi_1.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.mini.Gouldingi 1.5", + "division": "roborumble", + "jar": "pez.mini.Gouldingi_1.5.jar", + "jar_sha256": "3d8e83d652d64ad6e4262c71a0ba92c4c0d1d9043691a333bddfa6e0b419182f", + "key": "roborumble/pez.mini.Gouldingi_1.5.jar", + "kind": "robot" + }, + "latest_observation": "4470ef719a8aef66", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3975.0, + "scores": [ + 1962.0, + 2013.0 + ], + "selected": "pez.mini.Gouldingi 1.5" + }, + "completed_at": "2026-09-21T17:45:53Z", + "confirmation": null, + "delta_pct": -0.7, + "id": "4470ef719a8aef66", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.mini.Gouldingi 1.5", + "division": "roborumble", + "jar": "pez.mini.Gouldingi_1.5.jar", + "jar_sha256": "3d8e83d652d64ad6e4262c71a0ba92c4c0d1d9043691a333bddfa6e0b419182f", + "key": "roborumble/pez.mini.Gouldingi_1.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3948.0, + "scores": [ + 2479.0, + 1469.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.mini.Pugilist_2.5.1f.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.mini.Pugilist 2.5.1f", + "division": "roborumble", + "jar": "pez.mini.Pugilist_2.5.1f.jar", + "jar_sha256": "69ef80a1ce81dbdab0fe1f763f63451713264fec01d0c64488ab111006277a31", + "key": "roborumble/pez.mini.Pugilist_2.5.1f.jar", + "kind": "robot" + }, + "latest_observation": "01a8e04a2e883aa8", + "observations": [ + { + "classic": { + "elapsed": 8.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4637.0, + "scores": [ + 2369.0, + 2268.0 + ], + "selected": "pez.mini.Pugilist 2.5.1f" + }, + "completed_at": "2026-09-21T17:46:32Z", + "confirmation": null, + "delta_pct": -9.1, + "id": "01a8e04a2e883aa8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.mini.Pugilist 2.5.1f", + "division": "roborumble", + "jar": "pez.mini.Pugilist_2.5.1f.jar", + "jar_sha256": "69ef80a1ce81dbdab0fe1f763f63451713264fec01d0c64488ab111006277a31", + "key": "roborumble/pez.mini.Pugilist_2.5.1f.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4216.0, + "scores": [ + 2320.0, + 1896.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.mini.Tityus_0.9.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.mini.Tityus 0.9.1", + "division": "roborumble", + "jar": "pez.mini.Tityus_0.9.1.jar", + "jar_sha256": "4e568d1ae0cd5ae1e2e876d7854749c97f74387a62343e8e0082b2b501fcf8d1", + "key": "roborumble/pez.mini.Tityus_0.9.1.jar", + "kind": "robot" + }, + "latest_observation": "af8172dd9b69c545", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4780.0, + "scores": [ + 1949.0, + 2831.0 + ], + "selected": "pez.mini.Tityus 0.9.1" + }, + "completed_at": "2026-09-21T17:47:00Z", + "confirmation": null, + "delta_pct": -13.3, + "id": "af8172dd9b69c545", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.mini.Tityus 0.9.1", + "division": "roborumble", + "jar": "pez.mini.Tityus_0.9.1.jar", + "jar_sha256": "4e568d1ae0cd5ae1e2e876d7854749c97f74387a62343e8e0082b2b501fcf8d1", + "key": "roborumble/pez.mini.Tityus_0.9.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4144.0, + "scores": [ + 2421.0, + 1723.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.mini.VertiLeach_0.4.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.mini.VertiLeach 0.4.0", + "division": "roborumble", + "jar": "pez.mini.VertiLeach_0.4.0.jar", + "jar_sha256": "2e7b18a834a478b875a78a14db9e717b933ef2bdb6baaf5e45cf38a90a95a426", + "key": "roborumble/pez.mini.VertiLeach_0.4.0.jar", + "kind": "robot" + }, + "latest_observation": "f85c137cb4b7b461", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5338.0, + "scores": [ + 2536.0, + 2802.0 + ], + "selected": "pez.mini.VertiLeach 0.4.0" + }, + "completed_at": "2026-09-21T17:47:20Z", + "confirmation": null, + "delta_pct": 0.0, + "id": "f85c137cb4b7b461", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.mini.VertiLeach 0.4.0", + "division": "roborumble", + "jar": "pez.mini.VertiLeach_0.4.0.jar", + "jar_sha256": "2e7b18a834a478b875a78a14db9e717b933ef2bdb6baaf5e45cf38a90a95a426", + "key": "roborumble/pez.mini.VertiLeach_0.4.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5339.0, + "scores": [ + 3153.0, + 2186.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.nano.Icarus_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.nano.Icarus 0.3", + "division": "roborumble", + "jar": "pez.nano.Icarus_0.3.jar", + "jar_sha256": "2ac19b41796f587c8d61072a18955943eca308ad86807fa9fb1988d24988c9df", + "key": "roborumble/pez.nano.Icarus_0.3.jar", + "kind": "robot" + }, + "latest_observation": "7f67cb882e6fc113", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6644.0, + "scores": [ + 3328.0, + 3316.0 + ], + "selected": "pez.nano.Icarus 0.3" + }, + "completed_at": "2026-09-21T17:47:38Z", + "confirmation": null, + "delta_pct": -12.0, + "id": "7f67cb882e6fc113", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.nano.Icarus 0.3", + "division": "roborumble", + "jar": "pez.nano.Icarus_0.3.jar", + "jar_sha256": "2ac19b41796f587c8d61072a18955943eca308ad86807fa9fb1988d24988c9df", + "key": "roborumble/pez.nano.Icarus_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5847.0, + "scores": [ + 3417.0, + 2430.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.nano.LittleEvilBrother_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.nano.LittleEvilBrother 0.1", + "division": "roborumble", + "jar": "pez.nano.LittleEvilBrother_0.1.jar", + "jar_sha256": "827da4e6125bad46b39226204e5512a3d9b8675dd455b95e544da93b3bd53a0c", + "key": "roborumble/pez.nano.LittleEvilBrother_0.1.jar", + "kind": "robot" + }, + "latest_observation": "8338b53b2f11a77f", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6696.0, + "scores": [ + 3427.0, + 3269.0 + ], + "selected": "pez.nano.LittleEvilBrother 0.1" + }, + "completed_at": "2026-09-21T17:47:56Z", + "confirmation": null, + "delta_pct": -3.8, + "id": "8338b53b2f11a77f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.nano.LittleEvilBrother 0.1", + "division": "roborumble", + "jar": "pez.nano.LittleEvilBrother_0.1.jar", + "jar_sha256": "827da4e6125bad46b39226204e5512a3d9b8675dd455b95e544da93b3bd53a0c", + "key": "roborumble/pez.nano.LittleEvilBrother_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6441.0, + "scores": [ + 3313.0, + 3128.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.rumble.Ali_0.4.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.rumble.Ali 0.4.9", + "division": "roborumble", + "jar": "pez.rumble.Ali_0.4.9.jar", + "jar_sha256": "32fa69a81485969809f12739123fcee75f55c5c3d5d77b64d744b74b71882963", + "key": "roborumble/pez.rumble.Ali_0.4.9.jar", + "kind": "robot" + }, + "latest_observation": "0d900165e66c08a3", + "observations": [ + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4265.0, + "scores": [ + 2154.0, + 2111.0 + ], + "selected": "pez.rumble.Ali 0.4.9" + }, + "completed_at": "2026-09-21T17:48:34Z", + "confirmation": null, + "delta_pct": -7.4, + "id": "0d900165e66c08a3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.rumble.Ali 0.4.9", + "division": "roborumble", + "jar": "pez.rumble.Ali_0.4.9.jar", + "jar_sha256": "32fa69a81485969809f12739123fcee75f55c5c3d5d77b64d744b74b71882963", + "key": "roborumble/pez.rumble.Ali_0.4.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3951.0, + "scores": [ + 2148.0, + 1803.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pez.rumble.CassiusClay_2rho.02no.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pez.rumble.CassiusClay 2rho.02no", + "division": "roborumble", + "jar": "pez.rumble.CassiusClay_2rho.02no.jar", + "jar_sha256": "ff3b9734226c33bc78ffdbef6004c9926f1bc70e3914d79fd129b4c0bfa8ade5", + "key": "roborumble/pez.rumble.CassiusClay_2rho.02no.jar", + "kind": "robot" + }, + "latest_observation": "12b89599f0a91d68", + "observations": [ + { + "classic": { + "elapsed": 6.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4959.0, + "scores": [ + 2643.0, + 2316.0 + ], + "selected": "pez.rumble.CassiusClay 2rho.02no" + }, + "completed_at": "2026-09-21T17:49:05Z", + "confirmation": null, + "delta_pct": -9.8, + "id": "12b89599f0a91d68", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pez.rumble.CassiusClay 2rho.02no", + "division": "roborumble", + "jar": "pez.rumble.CassiusClay_2rho.02no.jar", + "jar_sha256": "ff3b9734226c33bc78ffdbef6004c9926f1bc70e3914d79fd129b4c0bfa8ade5", + "key": "roborumble/pez.rumble.CassiusClay_2rho.02no.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4473.0, + "scores": [ + 2264.0, + 2209.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pfvicm.Sobieski_7.2.3b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pfvicm.Sobieski 7.2.3b", + "division": "roborumble", + "jar": "pfvicm.Sobieski_7.2.3b.jar", + "jar_sha256": "c442cf5ae62f2d4c2e619d6fa26d627b0790b46c4d1207c1d546479b048968f3", + "key": "roborumble/pfvicm.Sobieski_7.2.3b.jar", + "kind": "robot" + }, + "latest_observation": "3dd4c99501265fe7", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6308.0, + "scores": [ + 2863.0, + 3445.0 + ], + "selected": "pfvicm.Sobieski 7.2.3b" + }, + "completed_at": "2026-09-21T17:49:22Z", + "confirmation": null, + "delta_pct": -5.2, + "id": "3dd4c99501265fe7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pfvicm.Sobieski 7.2.3b", + "division": "roborumble", + "jar": "pfvicm.Sobieski_7.2.3b.jar", + "jar_sha256": "c442cf5ae62f2d4c2e619d6fa26d627b0790b46c4d1207c1d546479b048968f3", + "key": "roborumble/pfvicm.Sobieski_7.2.3b.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5980.0, + "scores": [ + 3205.0, + 2775.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ph.Thinker_0.2.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ph.Thinker 0.2.5", + "division": "roborumble", + "jar": "ph.Thinker_0.2.5.jar", + "jar_sha256": "c264d4eefcbf97781249ac7a53063c569167747702c3e75a4951cf5265ceff65", + "key": "roborumble/ph.Thinker_0.2.5.jar", + "kind": "robot" + }, + "latest_observation": "f8d1ec298065163c", + "observations": [ + { + "classic": { + "elapsed": 5.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1332.0, + "scores": [ + 672.0, + 660.0 + ], + "selected": "ph.Thinker 0.2.5" + }, + "completed_at": "2026-09-21T17:51:15Z", + "confirmation": null, + "delta_pct": 14.1, + "id": "f8d1ec298065163c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ph.Thinker 0.2.5", + "division": "roborumble", + "jar": "ph.Thinker_0.2.5.jar", + "jar_sha256": "c264d4eefcbf97781249ac7a53063c569167747702c3e75a4951cf5265ceff65", + "key": "roborumble/ph.Thinker_0.2.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1520.0, + "scores": [ + 880.0, + 640.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ph.micro.Pikeman_0.4.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ph.micro.Pikeman 0.4.5", + "division": "roborumble", + "jar": "ph.micro.Pikeman_0.4.5.jar", + "jar_sha256": "fcb002d23c48ab57082c37bbacc4c5eaeed93dfa16cd86fe9b2f5fbfb67185ef", + "key": "roborumble/ph.micro.Pikeman_0.4.5.jar", + "kind": "robot" + }, + "latest_observation": "c19ea24d7fb285b5", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4889.0, + "scores": [ + 2474.0, + 2415.0 + ], + "selected": "ph.micro.Pikeman 0.4.5" + }, + "completed_at": "2026-09-21T17:49:45Z", + "confirmation": null, + "delta_pct": -3.1, + "id": "c19ea24d7fb285b5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "e8f08ffa8fdce5fe42b87ed3da9315d392344b79", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ph.micro.Pikeman 0.4.5", + "division": "roborumble", + "jar": "ph.micro.Pikeman_0.4.5.jar", + "jar_sha256": "fcb002d23c48ab57082c37bbacc4c5eaeed93dfa16cd86fe9b2f5fbfb67185ef", + "key": "roborumble/ph.micro.Pikeman_0.4.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4736.0, + "scores": [ + 2586.0, + 2150.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ph.mini.Archer_0.6.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ph.mini.Archer 0.6.6", + "division": "roborumble", + "jar": "ph.mini.Archer_0.6.6.jar", + "jar_sha256": "b4af015ed9a6b84155dc434c5845e7ec80343d489b6b745fbb5a565a08ab961b", + "key": "roborumble/ph.mini.Archer_0.6.6.jar", + "kind": "robot" + }, + "latest_observation": "b67bbd0aa9215a21", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4996.0, + "scores": [ + 2764.0, + 2232.0 + ], + "selected": "ph.mini.Archer 0.6.6" + }, + "completed_at": "2026-09-21T17:50:20Z", + "confirmation": null, + "delta_pct": 0.3, + "id": "b67bbd0aa9215a21", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ph.mini.Archer 0.6.6", + "division": "roborumble", + "jar": "ph.mini.Archer_0.6.6.jar", + "jar_sha256": "b4af015ed9a6b84155dc434c5845e7ec80343d489b6b745fbb5a565a08ab961b", + "key": "roborumble/ph.mini.Archer_0.6.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5011.0, + "scores": [ + 2911.0, + 2100.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ph.musketeer.Musketeer_0.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ph.musketeer.Musketeer 0.6", + "division": "roborumble", + "jar": "ph.musketeer.Musketeer_0.6.jar", + "jar_sha256": "f7f3fa05b24d4d15858d302bfe52badfea58b6330788f5e624e44ded4f26d38e", + "key": "roborumble/ph.musketeer.Musketeer_0.6.jar", + "kind": "robot" + }, + "latest_observation": "006748d27a56ed1e", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5181.0, + "scores": [ + 2194.0, + 2987.0 + ], + "selected": "ph.musketeer.Musketeer 0.6" + }, + "completed_at": "2026-09-21T17:50:46Z", + "confirmation": null, + "delta_pct": -5.6, + "id": "006748d27a56ed1e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ph.musketeer.Musketeer 0.6", + "division": "roborumble", + "jar": "ph.musketeer.Musketeer_0.6.jar", + "jar_sha256": "f7f3fa05b24d4d15858d302bfe52badfea58b6330788f5e624e44ded4f26d38e", + "key": "roborumble/ph.musketeer.Musketeer_0.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4889.0, + "scores": [ + 2838.0, + 2051.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pi.Dark_10.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pi.Dark 10", + "division": "roborumble", + "jar": "pi.Dark_10.jar", + "jar_sha256": "591ccb22fefcb12d0a28ddfa879aae1f956106e3a9fdb4f1895c8f9a375908d5", + "key": "roborumble/pi.Dark_10.jar", + "kind": "robot" + }, + "latest_observation": "c9a7deac846369c3", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5662.0, + "scores": [ + 2747.0, + 2915.0 + ], + "selected": "pi.Dark 10" + }, + "completed_at": "2026-09-21T17:51:24Z", + "confirmation": null, + "delta_pct": null, + "id": "c9a7deac846369c3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pi.Dark 10", + "division": "roborumble", + "jar": "pi.Dark_10.jar", + "jar_sha256": "591ccb22fefcb12d0a28ddfa879aae1f956106e3a9fdb4f1895c8f9a375908d5", + "key": "roborumble/pi.Dark_10.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "pi.gun.Gun.doGun" + ] + ], + "elapsed": 6.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "pi.gun.Gun.doGun" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot read field \"bearing\" because \"Enemy\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/pkbots.BoyTDSurfer_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pkbots.BoyTDSurfer 1.0", + "division": "roborumble", + "jar": "pkbots.BoyTDSurfer_1.0.jar", + "jar_sha256": "c0125dc2bc24622bd67fe06132864a40324344322d2e2b0e337ba0e696508226", + "key": "roborumble/pkbots.BoyTDSurfer_1.0.jar", + "kind": "robot" + }, + "latest_observation": "239b4d3d4a600a82", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6184.0, + "scores": [ + 2986.0, + 3198.0 + ], + "selected": "pkbots.BoyTDSurfer 1.0" + }, + "completed_at": "2026-09-21T17:52:13Z", + "confirmation": null, + "delta_pct": -51.3, + "id": "239b4d3d4a600a82", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pkbots.BoyTDSurfer 1.0", + "division": "roborumble", + "jar": "pkbots.BoyTDSurfer_1.0.jar", + "jar_sha256": "c0125dc2bc24622bd67fe06132864a40324344322d2e2b0e337ba0e696508226", + "key": "roborumble/pkbots.BoyTDSurfer_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3011.0, + "scores": [ + 1601.0, + 1410.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/pkdeken.Paladin_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pkdeken.Paladin 1.0", + "division": "roborumble", + "jar": "pkdeken.Paladin_1.0.jar", + "jar_sha256": "d79a121bd9a0ab595f59ab6c71f9fd0ec950c6d907c4c04012dbbf2420841607", + "key": "roborumble/pkdeken.Paladin_1.0.jar", + "kind": "robot" + }, + "latest_observation": "df3fd2527b19c874", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5776.0, + "scores": [ + 3261.0, + 2515.0 + ], + "selected": "pkdeken.Paladin 1.0" + }, + "completed_at": "2026-09-21T17:52:30Z", + "confirmation": null, + "delta_pct": -24.4, + "id": "df3fd2527b19c874", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pkdeken.Paladin 1.0", + "division": "roborumble", + "jar": "pkdeken.Paladin_1.0.jar", + "jar_sha256": "d79a121bd9a0ab595f59ab6c71f9fd0ec950c6d907c4c04012dbbf2420841607", + "key": "roborumble/pkdeken.Paladin_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4364.0, + "scores": [ + 2404.0, + 1960.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pl.Drum_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pl.Drum 0.1", + "division": "roborumble", + "jar": "pl.Drum_0.1.jar", + "jar_sha256": "fa073599945397bb9f3c4cd4fe37c691ee8f6405309724a768d580c0c0f7a9b3", + "key": "roborumble/pl.Drum_0.1.jar", + "kind": "robot" + }, + "latest_observation": "3ab0fa6eae4876cc", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6404.0, + "scores": [ + 3063.0, + 3341.0 + ], + "selected": "pl.Drum 0.1" + }, + "completed_at": "2026-09-21T17:53:12Z", + "confirmation": null, + "delta_pct": -11.7, + "id": "3ab0fa6eae4876cc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pl.Drum 0.1", + "division": "roborumble", + "jar": "pl.Drum_0.1.jar", + "jar_sha256": "fa073599945397bb9f3c4cd4fe37c691ee8f6405309724a768d580c0c0f7a9b3", + "key": "roborumble/pl.Drum_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5657.0, + "scores": [ + 3315.0, + 2342.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pl.Patton.GeneralPatton_1.54.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pl.Patton.GeneralPatton 1.54", + "division": "roborumble", + "jar": "pl.Patton.GeneralPatton_1.54.jar", + "jar_sha256": "b7736af64d179b0899101cf29b53c1810a44da917ce513bf0bc572c9074c5576", + "key": "roborumble/pl.Patton.GeneralPatton_1.54.jar", + "kind": "robot" + }, + "latest_observation": "50b34594d8537b8d", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6695.0, + "scores": [ + 3873.0, + 2822.0 + ], + "selected": "pl.Patton.GeneralPatton 1.54" + }, + "completed_at": "2026-09-21T17:54:01Z", + "confirmation": null, + "delta_pct": -2.9, + "id": "50b34594d8537b8d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pl.Patton.GeneralPatton 1.54", + "division": "roborumble", + "jar": "pl.Patton.GeneralPatton_1.54.jar", + "jar_sha256": "b7736af64d179b0899101cf29b53c1810a44da917ce513bf0bc572c9074c5576", + "key": "roborumble/pl.Patton.GeneralPatton_1.54.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6502.0, + "scores": [ + 3283.0, + 3219.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pl.mskiba.Hilton_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pl.mskiba.Hilton 0.4", + "division": "roborumble", + "jar": "pl.mskiba.Hilton_0.4.jar", + "jar_sha256": "2db756db76c429e90f559007358ee7e6dcf0bde6964688af13dbe6179b93c6dd", + "key": "roborumble/pl.mskiba.Hilton_0.4.jar", + "kind": "robot" + }, + "latest_observation": "661c265540cacf47", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2244.0, + "scores": [ + 1465.0, + 779.0 + ], + "selected": "pl.mskiba.Hilton 0.4" + }, + "completed_at": "2026-09-21T17:53:37Z", + "confirmation": null, + "delta_pct": 35.2, + "id": "661c265540cacf47", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pl.mskiba.Hilton 0.4", + "division": "roborumble", + "jar": "pl.mskiba.Hilton_0.4.jar", + "jar_sha256": "2db756db76c429e90f559007358ee7e6dcf0bde6964688af13dbe6179b93c6dd", + "key": "roborumble/pl.mskiba.Hilton_0.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3034.0, + "scores": [ + 1799.0, + 1235.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/pl.robocode.Pacyfista_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pl.robocode.Pacyfista 1.0", + "division": "roborumble", + "jar": "pl.robocode.Pacyfista_1.0.jar", + "jar_sha256": "74ee6d1dae8c9b380637390c52b966e0beee7c576620a731a7fc3ca6608ff5a4", + "key": "roborumble/pl.robocode.Pacyfista_1.0.jar", + "kind": "robot" + }, + "latest_observation": "af26d7550c0ed446", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4078.0, + "scores": [ + 1994.0, + 2084.0 + ], + "selected": "pl.robocode.Pacyfista 1.0" + }, + "completed_at": "2026-09-21T17:54:32Z", + "confirmation": null, + "delta_pct": 25.8, + "id": "af26d7550c0ed446", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pl.robocode.Pacyfista 1.0", + "division": "roborumble", + "jar": "pl.robocode.Pacyfista_1.0.jar", + "jar_sha256": "74ee6d1dae8c9b380637390c52b966e0beee7c576620a731a7fc3ca6608ff5a4", + "key": "roborumble/pl.robocode.Pacyfista_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5131.0, + "scores": [ + 2598.0, + 2533.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/pla.Memnoch_0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pla.Memnoch 0.5", + "division": "roborumble", + "jar": "pla.Memnoch_0.5.jar", + "jar_sha256": "d7b31a530a83e136b3c17c4ba3df8011d8ad2be9a2f2e1dd918dd990a79f3e6f", + "key": "roborumble/pla.Memnoch_0.5.jar", + "kind": "robot" + }, + "latest_observation": "654408afadf40ae8", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6981.0, + "scores": [ + 3437.0, + 3544.0 + ], + "selected": "pla.Memnoch 0.5" + }, + "completed_at": "2026-09-21T17:54:53Z", + "confirmation": null, + "delta_pct": -17.7, + "id": "654408afadf40ae8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pla.Memnoch 0.5", + "division": "roborumble", + "jar": "pla.Memnoch_0.5.jar", + "jar_sha256": "d7b31a530a83e136b3c17c4ba3df8011d8ad2be9a2f2e1dd918dd990a79f3e6f", + "key": "roborumble/pla.Memnoch_0.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5745.0, + "scores": [ + 3306.0, + 2439.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pmc.SniperBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pmc.SniperBot 1.0", + "division": "roborumble", + "jar": "pmc.SniperBot_1.0.jar", + "jar_sha256": "f10a363c205fef2a78506cb676eda4c009c72370000b908dc80458691aba8eb1", + "key": "roborumble/pmc.SniperBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "cc881d77fad08633", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9435.0, + "scores": [ + 4740.0, + 4695.0 + ], + "selected": "pmc.SniperBot 1.0" + }, + "completed_at": "2026-09-21T17:55:06Z", + "confirmation": null, + "delta_pct": 24.7, + "id": "cc881d77fad08633", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pmc.SniperBot 1.0", + "division": "roborumble", + "jar": "pmc.SniperBot_1.0.jar", + "jar_sha256": "f10a363c205fef2a78506cb676eda4c009c72370000b908dc80458691aba8eb1", + "key": "roborumble/pmc.SniperBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11765.0, + "scores": [ + 5898.0, + 5867.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/populations.TrainStoopidbot_0.01.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "populations.TrainStoopidbot 0.01", + "division": "roborumble", + "jar": "populations.TrainStoopidbot_0.01.jar", + "jar_sha256": "4917a9d05eacc6f51e41611923416ef0fb5eac14dac822c78d9451eb1a348a47", + "key": "roborumble/populations.TrainStoopidbot_0.01.jar", + "kind": "robot" + }, + "latest_observation": "ec721b1668bbc24a", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6921.0, + "scores": [ + 3264.0, + 3657.0 + ], + "selected": "populations.TrainStoopidbot 0.01" + }, + "completed_at": "2026-09-21T17:55:50Z", + "confirmation": null, + "delta_pct": -10.8, + "id": "ec721b1668bbc24a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "populations.TrainStoopidbot 0.01", + "division": "roborumble", + "jar": "populations.TrainStoopidbot_0.01.jar", + "jar_sha256": "4917a9d05eacc6f51e41611923416ef0fb5eac14dac822c78d9451eb1a348a47", + "key": "roborumble/populations.TrainStoopidbot_0.01.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6176.0, + "scores": [ + 3121.0, + 3055.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/positive.Portia_1.26e.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "positive.Portia 1.26e", + "division": "roborumble", + "jar": "positive.Portia_1.26e.jar", + "jar_sha256": "c38ba8d2c1f942f41dba2e8864c52006f505d9376f4158625f2245204c8e4767", + "key": "roborumble/positive.Portia_1.26e.jar", + "kind": "robot" + }, + "latest_observation": "fac98f2615208a4f", + "observations": [ + { + "classic": { + "elapsed": 5.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5094.0, + "scores": [ + 2558.0, + 2536.0 + ], + "selected": "positive.Portia 1.26e" + }, + "completed_at": "2026-09-21T17:56:21Z", + "confirmation": null, + "delta_pct": 4.7, + "id": "fac98f2615208a4f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "positive.Portia 1.26e", + "division": "roborumble", + "jar": "positive.Portia_1.26e.jar", + "jar_sha256": "c38ba8d2c1f942f41dba2e8864c52006f505d9376f4158625f2245204c8e4767", + "key": "roborumble/positive.Portia_1.26e.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5334.0, + "scores": [ + 2918.0, + 2416.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/povik.nano.Smilee_0.2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "povik.nano.Smilee 0.2.1", + "division": "roborumble", + "jar": "povik.nano.Smilee_0.2.1.jar", + "jar_sha256": "4df22c68ee84a1d9b9458e8894594ee475785e7f111fecb3ea7c12da255ed03a", + "key": "roborumble/povik.nano.Smilee_0.2.1.jar", + "kind": "robot" + }, + "latest_observation": "18b6dfe4fc2675c5", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5862.0, + "scores": [ + 2724.0, + 3138.0 + ], + "selected": "povik.nano.Smilee 0.2.1" + }, + "completed_at": "2026-09-21T17:56:44Z", + "confirmation": null, + "delta_pct": -13.5, + "id": "18b6dfe4fc2675c5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "povik.nano.Smilee 0.2.1", + "division": "roborumble", + "jar": "povik.nano.Smilee_0.2.1.jar", + "jar_sha256": "4df22c68ee84a1d9b9458e8894594ee475785e7f111fecb3ea7c12da255ed03a", + "key": "roborumble/povik.nano.Smilee_0.2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5072.0, + "scores": [ + 2574.0, + 2498.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/projectx.ProjectNano_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "projectx.ProjectNano 2.0", + "division": "roborumble", + "jar": "projectx.ProjectNano_2.0.jar", + "jar_sha256": "013011f8671162e192e697c03d66ef512673b4687fbf05af5cb167d55d926b89", + "key": "roborumble/projectx.ProjectNano_2.0.jar", + "kind": "robot" + }, + "latest_observation": "e08aa037caf32846", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5074.0, + "scores": [ + 2310.0, + 2764.0 + ], + "selected": "projectx.ProjectNano 2.0" + }, + "completed_at": "2026-09-21T17:57:03Z", + "confirmation": null, + "delta_pct": 20.6, + "id": "e08aa037caf32846", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "projectx.ProjectNano 2.0", + "division": "roborumble", + "jar": "projectx.ProjectNano_2.0.jar", + "jar_sha256": "013011f8671162e192e697c03d66ef512673b4687fbf05af5cb167d55d926b89", + "key": "roborumble/projectx.ProjectNano_2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6118.0, + "scores": [ + 3357.0, + 2761.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/projectx.TestNano_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "projectx.TestNano 1.0", + "division": "roborumble", + "jar": "projectx.TestNano_1.0.jar", + "jar_sha256": "956172ae15eac93536c2ea836cd926294d4d840f6a776f0613884a280b413b04", + "key": "roborumble/projectx.TestNano_1.0.jar", + "kind": "robot" + }, + "latest_observation": "79d837009a36dbf4", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4382.0, + "scores": [ + 2217.0, + 2165.0 + ], + "selected": "projectx.TestNano 1.0" + }, + "completed_at": "2026-09-21T17:57:22Z", + "confirmation": null, + "delta_pct": -3.3, + "id": "79d837009a36dbf4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "projectx.TestNano 1.0", + "division": "roborumble", + "jar": "projectx.TestNano_1.0.jar", + "jar_sha256": "956172ae15eac93536c2ea836cd926294d4d840f6a776f0613884a280b413b04", + "key": "roborumble/projectx.TestNano_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4237.0, + "scores": [ + 2433.0, + 1804.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pulsar.Nanis_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pulsar.Nanis 0.3", + "division": "roborumble", + "jar": "pulsar.Nanis_0.3.jar", + "jar_sha256": "ef1a1d67111d4b8797642bd47b2c75eea9cc061000cd73a67bc527da37d71816", + "key": "roborumble/pulsar.Nanis_0.3.jar", + "kind": "robot" + }, + "latest_observation": "e9e6347eb3a19302", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9088.0, + "scores": [ + 4765.0, + 4323.0 + ], + "selected": "pulsar.Nanis 0.3" + }, + "completed_at": "2026-09-21T17:57:55Z", + "confirmation": null, + "delta_pct": -30.8, + "id": "e9e6347eb3a19302", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pulsar.Nanis 0.3", + "division": "roborumble", + "jar": "pulsar.Nanis_0.3.jar", + "jar_sha256": "ef1a1d67111d4b8797642bd47b2c75eea9cc061000cd73a67bc527da37d71816", + "key": "roborumble/pulsar.Nanis_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6293.0, + "scores": [ + 3334.0, + 2959.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/pulsar.PulsarMax_0.8.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pulsar.PulsarMax 0.8.9", + "division": "roborumble", + "jar": "pulsar.PulsarMax_0.8.9.jar", + "jar_sha256": "e16b5fa549f880e7ec75c7c2000453c966493aff3de8e0f390afdcb27e9b175b", + "key": "roborumble/pulsar.PulsarMax_0.8.9.jar", + "kind": "robot" + }, + "latest_observation": "53a325a70ceede0f", + "observations": [ + { + "classic": { + "elapsed": 5.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4605.0, + "scores": [ + 2276.0, + 2329.0 + ], + "selected": "pulsar.PulsarMax 0.8.9" + }, + "completed_at": "2026-09-21T17:58:29Z", + "confirmation": null, + "delta_pct": -8.7, + "id": "53a325a70ceede0f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pulsar.PulsarMax 0.8.9", + "division": "roborumble", + "jar": "pulsar.PulsarMax_0.8.9.jar", + "jar_sha256": "e16b5fa549f880e7ec75c7c2000453c966493aff3de8e0f390afdcb27e9b175b", + "key": "roborumble/pulsar.PulsarMax_0.8.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4204.0, + "scores": [ + 2166.0, + 2038.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/pulsar.PulsarNano_0.2.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "pulsar.PulsarNano 0.2.4", + "division": "roborumble", + "jar": "pulsar.PulsarNano_0.2.4.jar", + "jar_sha256": "557137e6ebb7e20df76344e777677f389a707bbc7ac9990881bfe169dbd8a513", + "key": "roborumble/pulsar.PulsarNano_0.2.4.jar", + "kind": "robot" + }, + "latest_observation": "53dbc59e2685a77b", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5169.0, + "scores": [ + 2869.0, + 2300.0 + ], + "selected": "pulsar.PulsarNano 0.2.4" + }, + "completed_at": "2026-09-21T17:58:46Z", + "confirmation": null, + "delta_pct": -31.5, + "id": "53dbc59e2685a77b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "pulsar.PulsarNano 0.2.4", + "division": "roborumble", + "jar": "pulsar.PulsarNano_0.2.4.jar", + "jar_sha256": "557137e6ebb7e20df76344e777677f389a707bbc7ac9990881bfe169dbd8a513", + "key": "roborumble/pulsar.PulsarNano_0.2.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3543.0, + "scores": [ + 1966.0, + 1577.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/qohnil.blot.BlotBot_3.61.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "qohnil.blot.BlotBot 3.61", + "division": "roborumble", + "jar": "qohnil.blot.BlotBot_3.61.jar", + "jar_sha256": "11b2165ade52c470980fd1fb37ea8b6d445784dc767bd9b48b358099dd2c8421", + "key": "roborumble/qohnil.blot.BlotBot_3.61.jar", + "kind": "robot" + }, + "latest_observation": "12dcc17301ebb46b", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "qohnil.blot.BlotBot.loadStatistics" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\qohnil\\blot\\BlotBot.data\\stats.log (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\qohnil\\blot\\BlotBot.data\\stats.log (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 7112.0, + "scores": [ + 3500.0, + 3612.0 + ], + "selected": "qohnil.blot.BlotBot 3.61" + }, + "completed_at": "2026-09-21T17:59:06Z", + "confirmation": null, + "delta_pct": 3.9, + "id": "12dcc17301ebb46b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd0dbe5f8cb985f007b3ea485a09b3c178eaa21d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "qohnil.blot.BlotBot 3.61", + "division": "roborumble", + "jar": "qohnil.blot.BlotBot_3.61.jar", + "jar_sha256": "11b2165ade52c470980fd1fb37ea8b6d445784dc767bd9b48b358099dd2c8421", + "key": "roborumble/qohnil.blot.BlotBot_3.61.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "qohnil.blot.BlotBot.loadStatistics" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\qohnil.blot.BlotBot_3.61\\BlotBot.data\\stats.log (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\qohnil.blot.BlotBot_3.61-2\\BlotBot.data\\stats.log (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 7389.0, + "scores": [ + 3934.0, + 3455.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/quietus.Invader_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "quietus.Invader 0.1", + "division": "roborumble", + "jar": "quietus.Invader_0.1.jar", + "jar_sha256": "b6dd6e07079ae37b9488043a328ecdc826b832553cd7b176d35d643b352f6488", + "key": "roborumble/quietus.Invader_0.1.jar", + "kind": "robot" + }, + "latest_observation": "79b91ac9f73612f3", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "quietus.Invader 0.1" + }, + "completed_at": "2026-09-21T18:00:26Z", + "confirmation": null, + "delta_pct": null, + "id": "79b91ac9f73612f3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "quietus.Invader 0.1", + "division": "roborumble", + "jar": "quietus.Invader_0.1.jar", + "jar_sha256": "b6dd6e07079ae37b9488043a328ecdc826b832553cd7b176d35d643b352f6488", + "key": "roborumble/quietus.Invader_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/quietus.NarrowRadar_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "quietus.NarrowRadar 0.1", + "division": "roborumble", + "jar": "quietus.NarrowRadar_0.1.jar", + "jar_sha256": "fb7c72d859bb25a71ebe2e5c15d4a5903312597bc45cd1a475d770467b53747c", + "key": "roborumble/quietus.NarrowRadar_0.1.jar", + "kind": "robot" + }, + "latest_observation": "7e791e22a8207507", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12789.0, + "scores": [ + 6570.0, + 6219.0 + ], + "selected": "quietus.NarrowRadar 0.1" + }, + "completed_at": "2026-09-21T18:00:40Z", + "confirmation": null, + "delta_pct": -11.1, + "id": "7e791e22a8207507", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "quietus.NarrowRadar 0.1", + "division": "roborumble", + "jar": "quietus.NarrowRadar_0.1.jar", + "jar_sha256": "fb7c72d859bb25a71ebe2e5c15d4a5903312597bc45cd1a475d770467b53747c", + "key": "roborumble/quietus.NarrowRadar_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11364.0, + "scores": [ + 6021.0, + 5343.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/qwaker00.Ahchoo_1.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "qwaker00.Ahchoo 1.6", + "division": "roborumble", + "jar": "qwaker00.Ahchoo_1.6.jar", + "jar_sha256": "8a0f39747c02ee2af2bdb382ea832dfebb7e9745bfdbd01b8122610aa4095bdd", + "key": "roborumble/qwaker00.Ahchoo_1.6.jar", + "kind": "robot" + }, + "latest_observation": "f170f4d0fa45f158", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5456.0, + "scores": [ + 2665.0, + 2791.0 + ], + "selected": "qwaker00.Ahchoo 1.6" + }, + "completed_at": "2026-09-21T18:01:10Z", + "confirmation": null, + "delta_pct": 7.4, + "id": "f170f4d0fa45f158", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "qwaker00.Ahchoo 1.6", + "division": "roborumble", + "jar": "qwaker00.Ahchoo_1.6.jar", + "jar_sha256": "8a0f39747c02ee2af2bdb382ea832dfebb7e9745bfdbd01b8122610aa4095bdd", + "key": "roborumble/qwaker00.Ahchoo_1.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5859.0, + "scores": [ + 3025.0, + 2834.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/qwaker00.Gandhi_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "qwaker00.Gandhi 1.2", + "division": "roborumble", + "jar": "qwaker00.Gandhi_1.2.jar", + "jar_sha256": "e943b32c09caf95fe67e744447956f0d2f0fff4bc2a8133a2ed45a28f16ed18c", + "key": "roborumble/qwaker00.Gandhi_1.2.jar", + "kind": "robot" + }, + "latest_observation": "edbc4e014cc3eec5", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5469.0, + "scores": [ + 2745.0, + 2724.0 + ], + "selected": "qwaker00.Gandhi 1.2" + }, + "completed_at": "2026-09-21T18:01:31Z", + "confirmation": null, + "delta_pct": -9.1, + "id": "edbc4e014cc3eec5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "qwaker00.Gandhi 1.2", + "division": "roborumble", + "jar": "qwaker00.Gandhi_1.2.jar", + "jar_sha256": "e943b32c09caf95fe67e744447956f0d2f0fff4bc2a8133a2ed45a28f16ed18c", + "key": "roborumble/qwaker00.Gandhi_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4973.0, + "scores": [ + 2607.0, + 2366.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/racso.Crono_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "racso.Crono 1.0", + "division": "roborumble", + "jar": "racso.Crono_1.0.jar", + "jar_sha256": "77c6b7eeef1d1ba30a843bd8d93741811d281c42687e8cad37642879a43b4e79", + "key": "roborumble/racso.Crono_1.0.jar", + "kind": "robot" + }, + "latest_observation": "41dd322115289fd2", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8061.0, + "scores": [ + 4073.0, + 3988.0 + ], + "selected": "racso.Crono 1.0" + }, + "completed_at": "2026-09-21T18:01:50Z", + "confirmation": null, + "delta_pct": -10.8, + "id": "41dd322115289fd2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "racso.Crono 1.0", + "division": "roborumble", + "jar": "racso.Crono_1.0.jar", + "jar_sha256": "77c6b7eeef1d1ba30a843bd8d93741811d281c42687e8cad37642879a43b4e79", + "key": "roborumble/racso.Crono_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7192.0, + "scores": [ + 3666.0, + 3526.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/racso.Frog_0.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "racso.Frog 0.9", + "division": "roborumble", + "jar": "racso.Frog_0.9.jar", + "jar_sha256": "fd4fb3a58882d27ea29c05641813c2382b5273964a4984ad83e4b956f119a3eb", + "key": "roborumble/racso.Frog_0.9.jar", + "kind": "robot" + }, + "latest_observation": "77bb74558ca8c2af", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5779.0, + "scores": [ + 2640.0, + 3139.0 + ], + "selected": "racso.Frog 0.9" + }, + "completed_at": "2026-09-21T18:02:18Z", + "confirmation": null, + "delta_pct": -14.5, + "id": "77bb74558ca8c2af", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "racso.Frog 0.9", + "division": "roborumble", + "jar": "racso.Frog_0.9.jar", + "jar_sha256": "fd4fb3a58882d27ea29c05641813c2382b5273964a4984ad83e4b956f119a3eb", + "key": "roborumble/racso.Frog_0.9.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4941.0, + "scores": [ + 2562.0, + 2379.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/radnor.DoctorBob_1.42.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "radnor.DoctorBob 1.42", + "division": "roborumble", + "jar": "radnor.DoctorBob_1.42.jar", + "jar_sha256": "78d7300caaa7f9aa9c1f74646664cbd39cdf6f45f07c949d57b35059e74c7cc5", + "key": "roborumble/radnor.DoctorBob_1.42.jar", + "kind": "robot" + }, + "latest_observation": "1770ddbe110b4cd6", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7322.0, + "scores": [ + 3278.0, + 4044.0 + ], + "selected": "radnor.DoctorBob 1.42" + }, + "completed_at": "2026-09-21T18:02:39Z", + "confirmation": null, + "delta_pct": -0.6, + "id": "1770ddbe110b4cd6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "radnor.DoctorBob 1.42", + "division": "roborumble", + "jar": "radnor.DoctorBob_1.42.jar", + "jar_sha256": "78d7300caaa7f9aa9c1f74646664cbd39cdf6f45f07c949d57b35059e74c7cc5", + "key": "roborumble/radnor.DoctorBob_1.42.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7279.0, + "scores": [ + 3688.0, + 3591.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/radnor.RamRod_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "radnor.RamRod 1.0", + "division": "roborumble", + "jar": "radnor.RamRod_1.0.jar", + "jar_sha256": "c42142422a6116a6f4e38001af620971a5ce2be7e827ba73911f216587336ba0", + "key": "roborumble/radnor.RamRod_1.0.jar", + "kind": "robot" + }, + "latest_observation": "07aea9e5eed6cba3", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10884.0, + "scores": [ + 5232.0, + 5652.0 + ], + "selected": "radnor.RamRod 1.0" + }, + "completed_at": "2026-09-21T18:02:51Z", + "confirmation": null, + "delta_pct": 49.0, + "id": "07aea9e5eed6cba3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "radnor.RamRod 1.0", + "division": "roborumble", + "jar": "radnor.RamRod_1.0.jar", + "jar_sha256": "c42142422a6116a6f4e38001af620971a5ce2be7e827ba73911f216587336ba0", + "key": "roborumble/radnor.RamRod_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 16215.0, + "scores": [ + 8158.0, + 8057.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/rampancy.Durandal_2.2d.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rampancy.Durandal 2.2d", + "division": "roborumble", + "jar": "rampancy.Durandal_2.2d.jar", + "jar_sha256": "c4828f3f497e775262ce46bde693c1fe7bbc08539ea24a09d62fd2df392e6015", + "key": "roborumble/rampancy.Durandal_2.2d.jar", + "kind": "robot" + }, + "latest_observation": "fbcd0e141e6dec7b", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5569.0, + "scores": [ + 2805.0, + 2764.0 + ], + "selected": "rampancy.Durandal 2.2d" + }, + "completed_at": "2026-09-21T18:03:17Z", + "confirmation": null, + "delta_pct": -6.0, + "id": "fbcd0e141e6dec7b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rampancy.Durandal 2.2d", + "division": "roborumble", + "jar": "rampancy.Durandal_2.2d.jar", + "jar_sha256": "c4828f3f497e775262ce46bde693c1fe7bbc08539ea24a09d62fd2df392e6015", + "key": "roborumble/rampancy.Durandal_2.2d.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5233.0, + "scores": [ + 2632.0, + 2601.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rampancy.micro.Epiphron_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rampancy.micro.Epiphron 1.0", + "division": "roborumble", + "jar": "rampancy.micro.Epiphron_1.0.jar", + "jar_sha256": "ec5060eb1ad855a7b086445cddd98ae9d62aa51a7d71aef02ee2dd51c191b6fd", + "key": "roborumble/rampancy.micro.Epiphron_1.0.jar", + "kind": "robot" + }, + "latest_observation": "cdedca81cc5993f8", + "observations": [ + { + "classic": { + "elapsed": 4.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4025.0, + "scores": [ + 2281.0, + 1744.0 + ], + "selected": "rampancy.micro.Epiphron 1.0" + }, + "completed_at": "2026-09-21T18:03:48Z", + "confirmation": null, + "delta_pct": -4.7, + "id": "cdedca81cc5993f8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rampancy.micro.Epiphron 1.0", + "division": "roborumble", + "jar": "rampancy.micro.Epiphron_1.0.jar", + "jar_sha256": "ec5060eb1ad855a7b086445cddd98ae9d62aa51a7d71aef02ee2dd51c191b6fd", + "key": "roborumble/rampancy.micro.Epiphron_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3836.0, + "scores": [ + 2044.0, + 1792.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rapture.Rapture_2.13.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rapture.Rapture 2.13", + "division": "roborumble", + "jar": "rapture.Rapture_2.13.jar", + "jar_sha256": "0a1201424dd35c395fcf4474a826f64f7b6980bb6015893ade8087bcb37961b7", + "key": "roborumble/rapture.Rapture_2.13.jar", + "kind": "robot" + }, + "latest_observation": "dfdedb24c525a0ad", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5163.0, + "scores": [ + 2750.0, + 2413.0 + ], + "selected": "rapture.Rapture 2.13" + }, + "completed_at": "2026-09-21T18:04:20Z", + "confirmation": null, + "delta_pct": 6.5, + "id": "dfdedb24c525a0ad", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rapture.Rapture 2.13", + "division": "roborumble", + "jar": "rapture.Rapture_2.13.jar", + "jar_sha256": "0a1201424dd35c395fcf4474a826f64f7b6980bb6015893ade8087bcb37961b7", + "key": "roborumble/rapture.Rapture_2.13.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": true, + "ok": true, + "score": 5497.0, + "scores": [ + 2807.0, + 2690.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ratosh.Nobo_0.21.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ratosh.Nobo 0.21", + "division": "roborumble", + "jar": "ratosh.Nobo_0.21.jar", + "jar_sha256": "b6883110fc94c5bc4ff8f1082a64023c04959c9255117002357e6307ca1287fb", + "key": "roborumble/ratosh.Nobo_0.21.jar", + "kind": "robot" + }, + "latest_observation": "b6122ed051a7f694", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4300.0, + "scores": [ + 2384.0, + 1916.0 + ], + "selected": "ratosh.Nobo 0.21" + }, + "completed_at": "2026-09-21T18:04:47Z", + "confirmation": null, + "delta_pct": -52.0, + "id": "b6122ed051a7f694", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ratosh.Nobo 0.21", + "division": "roborumble", + "jar": "ratosh.Nobo_0.21.jar", + "jar_sha256": "b6883110fc94c5bc4ff8f1082a64023c04959c9255117002357e6307ca1287fb", + "key": "roborumble/ratosh.Nobo_0.21.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2062.0, + "scores": [ + 1122.0, + 940.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ratosh.Wesco_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ratosh.Wesco 1.4", + "division": "roborumble", + "jar": "ratosh.Wesco_1.4.jar", + "jar_sha256": "fdaa64d1dc60f5da7a652bfafcca1e3b44b0102ee745ad0ee8fa9c49a8967355", + "key": "roborumble/ratosh.Wesco_1.4.jar", + "kind": "robot" + }, + "latest_observation": "ab25aa8ecc284d91", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5563.0, + "scores": [ + 2699.0, + 2864.0 + ], + "selected": "ratosh.Wesco 1.4" + }, + "completed_at": "2026-09-21T18:05:04Z", + "confirmation": null, + "delta_pct": -45.7, + "id": "ab25aa8ecc284d91", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ratosh.Wesco 1.4", + "division": "roborumble", + "jar": "ratosh.Wesco_1.4.jar", + "jar_sha256": "fdaa64d1dc60f5da7a652bfafcca1e3b44b0102ee745ad0ee8fa9c49a8967355", + "key": "roborumble/ratosh.Wesco_1.4.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3023.0, + "scores": [ + 1562.0, + 1461.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ratosh.nano.Debo_1.36.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ratosh.nano.Debo 1.36", + "division": "roborumble", + "jar": "ratosh.nano.Debo_1.36.jar", + "jar_sha256": "aa26420c8bc75b47973271cfc17730eb65f632f6f79b83b68ac5ae58cc6b108d", + "key": "roborumble/ratosh.nano.Debo_1.36.jar", + "kind": "robot" + }, + "latest_observation": "d37082504a361deb", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7990.0, + "scores": [ + 4061.0, + 3929.0 + ], + "selected": "ratosh.nano.Debo 1.36" + }, + "completed_at": "2026-09-21T18:04:34Z", + "confirmation": null, + "delta_pct": -53.7, + "id": "d37082504a361deb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ratosh.nano.Debo 1.36", + "division": "roborumble", + "jar": "ratosh.nano.Debo_1.36.jar", + "jar_sha256": "aa26420c8bc75b47973271cfc17730eb65f632f6f79b83b68ac5ae58cc6b108d", + "key": "roborumble/ratosh.nano.Debo_1.36.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3701.0, + "scores": [ + 2137.0, + 1564.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/rc.RCBot_2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rc.RCBot 2.0", + "division": "roborumble", + "jar": "rc.RCBot_2.0.jar", + "jar_sha256": "9dfb09432e1d4e4310acdac892080d45919d95e28ccf8ff9a4d4646f91af2fa8", + "key": "roborumble/rc.RCBot_2.0.jar", + "kind": "robot" + }, + "latest_observation": "f49b68636e97d3a6", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 35, + "error_signatures": [ + { + "exception": "java.util.NoSuchElementException", + "origin": "rc.RCBot.calcRisk" + } + ], + "errors": [ + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException", + "java.util.NoSuchElementException" + ], + "has_log": true, + "ok": true, + "score": 6591.0, + "scores": [ + 2887.0, + 3704.0 + ], + "selected": "rc.RCBot 2.0" + }, + "completed_at": "2026-09-21T18:05:27Z", + "confirmation": null, + "delta_pct": -6.8, + "id": "f49b68636e97d3a6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rc.RCBot 2.0", + "division": "roborumble", + "jar": "rc.RCBot_2.0.jar", + "jar_sha256": "9dfb09432e1d4e4310acdac892080d45919d95e28ccf8ff9a4d4646f91af2fa8", + "key": "roborumble/rc.RCBot_2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (errors)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6140.0, + "scores": [ + 3593.0, + 2547.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (errors)" + }, + "roborumble/rc.yoda.Yoda_1.0.6c.fix.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rc.yoda.Yoda 1.0.6c.fix", + "division": "roborumble", + "jar": "rc.yoda.Yoda_1.0.6c.fix.jar", + "jar_sha256": "1c7ece476da23ee2cde1ae42d0e215f9e6ce673b788a84349d397a6c27cf6157", + "key": "roborumble/rc.yoda.Yoda_1.0.6c.fix.jar", + "kind": "robot" + }, + "latest_observation": "b60c7c436f46bc9a", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 182, + "error_signatures": [ + { + "exception": "java.lang.IndexOutOfBoundsException", + "origin": "rc.yoda.plugin.GunArray.firingGun" + } + ], + "errors": [ + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletHitEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "SYSTEM: java.lang.IndexOutOfBoundsException occurred on robocode.BulletMissedEvent", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0" + ], + "has_log": true, + "ok": true, + "score": 5208.0, + "scores": [ + 2152.0, + 3056.0 + ], + "selected": "rc.yoda.Yoda 1.0.6c.fix" + }, + "completed_at": "2026-09-21T18:06:00Z", + "confirmation": null, + "delta_pct": 13.5, + "id": "b60c7c436f46bc9a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rc.yoda.Yoda 1.0.6c.fix", + "division": "roborumble", + "jar": "rc.yoda.Yoda_1.0.6c.fix.jar", + "jar_sha256": "1c7ece476da23ee2cde1ae42d0e215f9e6ce673b788a84349d397a6c27cf6157", + "key": "roborumble/rc.yoda.Yoda_1.0.6c.fix.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 25, + "error_signatures": [ + { + "exception": "java.lang.IndexOutOfBoundsException", + "origin": "rc.yoda.plugin.GunArray.firingGun" + } + ], + "errors": [ + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 6", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 4", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 3", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0", + "java.lang.IndexOutOfBoundsException: Index -1 out of bounds for length 0" + ], + "has_log": true, + "ok": true, + "score": 5911.0, + "scores": [ + 3114.0, + 2797.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rcb.Vanessa03_0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rcb.Vanessa03 0", + "division": "roborumble", + "jar": "rcb.Vanessa03_0.jar", + "jar_sha256": "3b5824d921ab0efb1c5ae664e3ddd762fb123a4b7ae8980833a4627c11552c1e", + "key": "roborumble/rcb.Vanessa03_0.jar", + "kind": "robot" + }, + "latest_observation": "fe61a29a3efcbaac", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6870.0, + "scores": [ + 3151.0, + 3719.0 + ], + "selected": "rcb.Vanessa03 0" + }, + "completed_at": "2026-09-21T18:06:19Z", + "confirmation": null, + "delta_pct": -17.9, + "id": "fe61a29a3efcbaac", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rcb.Vanessa03 0", + "division": "roborumble", + "jar": "rcb.Vanessa03_0.jar", + "jar_sha256": "3b5824d921ab0efb1c5ae664e3ddd762fb123a4b7ae8980833a4627c11552c1e", + "key": "roborumble/rcb.Vanessa03_0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5640.0, + "scores": [ + 3057.0, + 2583.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rcp.Kuramatron_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rcp.Kuramatron 1.0", + "division": "roborumble", + "jar": "rcp.Kuramatron_1.0.jar", + "jar_sha256": "d3a453698ef810b02c3c52f3c9a43fe9b721340072407bf2c97a86b6643cbc19", + "key": "roborumble/rcp.Kuramatron_1.0.jar", + "kind": "robot" + }, + "latest_observation": "df589c8a22ff8a7b", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10257.0, + "scores": [ + 5160.0, + 5097.0 + ], + "selected": "rcp.Kuramatron 1.0" + }, + "completed_at": "2026-09-21T18:06:31Z", + "confirmation": null, + "delta_pct": 35.0, + "id": "df589c8a22ff8a7b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rcp.Kuramatron 1.0", + "division": "roborumble", + "jar": "rcp.Kuramatron_1.0.jar", + "jar_sha256": "d3a453698ef810b02c3c52f3c9a43fe9b721340072407bf2c97a86b6643cbc19", + "key": "roborumble/rcp.Kuramatron_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13851.0, + "scores": [ + 7369.0, + 6482.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/rdm.Dueler_0.4x.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rdm.Dueler 0.4x", + "division": "roborumble", + "jar": "rdm.Dueler_0.4x.jar", + "jar_sha256": "77ea4ca9fd8a476797d304af150dfddb932fcd93b42abe5099fa16836c4df67c", + "key": "roborumble/rdm.Dueler_0.4x.jar", + "kind": "robot" + }, + "latest_observation": "2a13158c7bf55e1e", + "observations": [ + { + "classic": { + "elapsed": 4.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5972.0, + "scores": [ + 2916.0, + 3056.0 + ], + "selected": "rdm.Dueler 0.4x" + }, + "completed_at": "2026-09-21T18:06:58Z", + "confirmation": null, + "delta_pct": -5.2, + "id": "2a13158c7bf55e1e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rdm.Dueler 0.4x", + "division": "roborumble", + "jar": "rdm.Dueler_0.4x.jar", + "jar_sha256": "77ea4ca9fd8a476797d304af150dfddb932fcd93b42abe5099fa16836c4df67c", + "key": "roborumble/rdm.Dueler_0.4x.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5659.0, + "scores": [ + 3238.0, + 2421.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rdm.Grasshopper_0.5e.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rdm.Grasshopper 0.5e", + "division": "roborumble", + "jar": "rdm.Grasshopper_0.5e.jar", + "jar_sha256": "9d0a09000660660dcf3c949c37d7faf5ea0d3cccae8ce35acce572d7c371a503", + "key": "roborumble/rdm.Grasshopper_0.5e.jar", + "kind": "robot" + }, + "latest_observation": "cefebaf39e896bdf", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4922.0, + "scores": [ + 2338.0, + 2584.0 + ], + "selected": "rdm.Grasshopper 0.5e" + }, + "completed_at": "2026-09-21T18:07:20Z", + "confirmation": null, + "delta_pct": 1.0, + "id": "cefebaf39e896bdf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rdm.Grasshopper 0.5e", + "division": "roborumble", + "jar": "rdm.Grasshopper_0.5e.jar", + "jar_sha256": "9d0a09000660660dcf3c949c37d7faf5ea0d3cccae8ce35acce572d7c371a503", + "key": "roborumble/rdm.Grasshopper_0.5e.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4972.0, + "scores": [ + 2491.0, + 2481.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rdm.WallRider_0.5c.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rdm.WallRider 0.5c", + "division": "roborumble", + "jar": "rdm.WallRider_0.5c.jar", + "jar_sha256": "52583b0c624dc1f974067951c47536fbfe8429d701595f4c80adc575341c7505", + "key": "roborumble/rdm.WallRider_0.5c.jar", + "kind": "robot" + }, + "latest_observation": "47633f811952ad32", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6935.0, + "scores": [ + 2921.0, + 4014.0 + ], + "selected": "rdm.WallRider 0.5c" + }, + "completed_at": "2026-09-21T18:07:42Z", + "confirmation": null, + "delta_pct": -7.5, + "id": "47633f811952ad32", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rdm.WallRider 0.5c", + "division": "roborumble", + "jar": "rdm.WallRider_0.5c.jar", + "jar_sha256": "52583b0c624dc1f974067951c47536fbfe8429d701595f4c80adc575341c7505", + "key": "roborumble/rdm.WallRider_0.5c.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6413.0, + "scores": [ + 3507.0, + 2906.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rdt.AgentSmith.AgentSmithRedux_0.02.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rdt.AgentSmith.AgentSmithRedux 0.02", + "division": "roborumble", + "jar": "rdt.AgentSmith.AgentSmithRedux_0.02.jar", + "jar_sha256": "37f88dc7791275e41764e35fc7dec2cbded3ca41a8dfa0f31498d69f3c37b804", + "key": "roborumble/rdt.AgentSmith.AgentSmithRedux_0.02.jar", + "kind": "robot" + }, + "latest_observation": "4895e95ae2aa1c24", + "observations": [ + { + "classic": { + "elapsed": 9.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2483.0, + "scores": [ + 1357.0, + 1126.0 + ], + "selected": "rdt.AgentSmith.AgentSmithRedux 0.02" + }, + "completed_at": "2026-09-21T18:08:30Z", + "confirmation": null, + "delta_pct": null, + "id": "4895e95ae2aa1c24", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rdt.AgentSmith.AgentSmithRedux 0.02", + "division": "roborumble", + "jar": "rdt.AgentSmith.AgentSmithRedux_0.02.jar", + "jar_sha256": "37f88dc7791275e41764e35fc7dec2cbded3ca41a8dfa0f31498d69f3c37b804", + "key": "roborumble/rdt.AgentSmith.AgentSmithRedux_0.02.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "rdt.AgentSmith.Waves.WaveData.GetDistanceForTick" + ], + [ + "java.lang.NullPointerException", + "rdt.AgentSmith.EnemyPrediction.EnemyPredictionManager.GenerateWavePrediction" + ], + [ + "java.lang.NullPointerException", + "rdt.AgentSmith.Guns.GunImplementations.HeadOnTargetingGun.GetFiringAngle" + ] + ], + "elapsed": 4.1, + "error_count": 6, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "rdt.AgentSmith.Guns.GunImplementations.HeadOnTargetingGun.GetFiringAngle" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "rdt.AgentSmith.Waves.WaveData.GetDistanceForTick" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "rdt.AgentSmith.EnemyPrediction.EnemyPredictionManager.GenerateWavePrediction" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "rdt.AgentSmith.Guns.GunImplementations.HeadOnTargetingGun.GetFiringAngle" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot read field \"LocationX\" because \"snapshot\" is null", + "java.lang.NullPointerException: Cannot read field \"LocationX\" because \"targetWhenCalculatedGunFiring\" is null", + "java.lang.ArrayIndexOutOfBoundsException: Index 103 out of bounds for length 97", + "java.lang.ArrayIndexOutOfBoundsException: Index 121 out of bounds for length 97", + "java.lang.ArrayIndexOutOfBoundsException: Index 140 out of bounds for length 97" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/rdt.AgentSmith.AgentSmith_0.5.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rdt.AgentSmith.AgentSmith 0.5", + "division": "roborumble", + "jar": "rdt.AgentSmith.AgentSmith_0.5.jar", + "jar_sha256": "d8aa11ea9e05a9ac11fec9498cfd0926e9cd8b70455678ed96eb0b7f67c6187d", + "key": "roborumble/rdt.AgentSmith.AgentSmith_0.5.jar", + "kind": "robot" + }, + "latest_observation": "f27f4d943b3f72bb", + "observations": [ + { + "classic": { + "elapsed": 7.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4802.0, + "scores": [ + 2488.0, + 2314.0 + ], + "selected": "rdt.AgentSmith.AgentSmith 0.5" + }, + "completed_at": "2026-09-21T18:08:16Z", + "confirmation": null, + "delta_pct": -3.9, + "id": "f27f4d943b3f72bb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rdt.AgentSmith.AgentSmith 0.5", + "division": "roborumble", + "jar": "rdt.AgentSmith.AgentSmith_0.5.jar", + "jar_sha256": "d8aa11ea9e05a9ac11fec9498cfd0926e9cd8b70455678ed96eb0b7f67c6187d", + "key": "roborumble/rdt.AgentSmith.AgentSmith_0.5.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4615.0, + "scores": [ + 2479.0, + 2136.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rdt.Wraith.Wraith_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rdt.Wraith.Wraith 0.3", + "division": "roborumble", + "jar": "rdt.Wraith.Wraith_0.3.jar", + "jar_sha256": "51198b71e9b8a8de5f4948f21b1e4d99ec23ee65ed13c8eefc3024f164d8d034", + "key": "roborumble/rdt.Wraith.Wraith_0.3.jar", + "kind": "robot" + }, + "latest_observation": "e28e3cfe5aead322", + "observations": [ + { + "classic": { + "elapsed": 17.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5701.0, + "scores": [ + 2711.0, + 2990.0 + ], + "selected": "rdt.Wraith.Wraith 0.3" + }, + "completed_at": "2026-09-21T18:09:30Z", + "confirmation": null, + "delta_pct": -10.3, + "id": "e28e3cfe5aead322", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "ceb4b54c91cfd49e0402ceaa930c68627349a6c1", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rdt.Wraith.Wraith 0.3", + "division": "roborumble", + "jar": "rdt.Wraith.Wraith_0.3.jar", + "jar_sha256": "51198b71e9b8a8de5f4948f21b1e4d99ec23ee65ed13c8eefc3024f164d8d034", + "key": "roborumble/rdt.Wraith.Wraith_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 42.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5113.0, + "scores": [ + 2991.0, + 2122.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rdt199.Warlord_0.73.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rdt199.Warlord 0.73", + "division": "roborumble", + "jar": "rdt199.Warlord_0.73.jar", + "jar_sha256": "6e7b830b795b7612858be1bcd75d8c72fd624541a2c06bd61c3ee2a095409e5e", + "key": "roborumble/rdt199.Warlord_0.73.jar", + "kind": "robot" + }, + "latest_observation": "18f64c21237fa90a", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4901.0, + "scores": [ + 2291.0, + 2610.0 + ], + "selected": "rdt199.Warlord 0.73" + }, + "completed_at": "2026-09-21T18:10:10Z", + "confirmation": null, + "delta_pct": -4.3, + "id": "18f64c21237fa90a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rdt199.Warlord 0.73", + "division": "roborumble", + "jar": "rdt199.Warlord_0.73.jar", + "jar_sha256": "6e7b830b795b7612858be1bcd75d8c72fd624541a2c06bd61c3ee2a095409e5e", + "key": "roborumble/rdt199.Warlord_0.73.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4690.0, + "scores": [ + 2409.0, + 2281.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/reaper.Reaper_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "reaper.Reaper 1.1", + "division": "roborumble", + "jar": "reaper.Reaper_1.1.jar", + "jar_sha256": "d3582761be276ed06ddc431dafaca067f77071bbdb68ca8ea3713d2d05c9c7ab", + "key": "roborumble/reaper.Reaper_1.1.jar", + "kind": "robot" + }, + "latest_observation": "f4bba268b339f3f5", + "observations": [ + { + "classic": { + "elapsed": 5.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5889.0, + "scores": [ + 2954.0, + 2935.0 + ], + "selected": "reaper.Reaper 1.1" + }, + "completed_at": "2026-09-21T18:10:40Z", + "confirmation": null, + "delta_pct": 1.0, + "id": "f4bba268b339f3f5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "reaper.Reaper 1.1", + "division": "roborumble", + "jar": "reaper.Reaper_1.1.jar", + "jar_sha256": "d3582761be276ed06ddc431dafaca067f77071bbdb68ca8ea3713d2d05c9c7ab", + "key": "roborumble/reaper.Reaper_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5945.0, + "scores": [ + 3069.0, + 2876.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/reeder.caden.Elmo_1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "reeder.caden.Elmo 1", + "division": "roborumble", + "jar": "reeder.caden.Elmo_1.jar", + "jar_sha256": "465c61b035c166dc40c3d1e36a4e7f4ef4087ac381d64444275ff2a8bcd99101", + "key": "roborumble/reeder.caden.Elmo_1.jar", + "kind": "robot" + }, + "latest_observation": "00c317704679bf87", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6467.0, + "scores": [ + 2826.0, + 3641.0 + ], + "selected": "reeder.caden.Elmo 1" + }, + "completed_at": "2026-09-21T18:11:15Z", + "confirmation": null, + "delta_pct": -90.7, + "id": "00c317704679bf87", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "reeder.caden.Elmo 1", + "division": "roborumble", + "jar": "reeder.caden.Elmo_1.jar", + "jar_sha256": "465c61b035c166dc40c3d1e36a4e7f4ef4087ac381d64444275ff2a8bcd99101", + "key": "roborumble/reeder.caden.Elmo_1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 604.0, + "scores": [ + 302.0, + 302.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/reeder.caden.Grover_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "reeder.caden.Grover 1.0", + "division": "roborumble", + "jar": "reeder.caden.Grover_1.0.jar", + "jar_sha256": "f0968d0b127ff1f396b06038cb0fcbc30d4ec635284fa010b4cddee690b9ddbc", + "key": "roborumble/reeder.caden.Grover_1.0.jar", + "kind": "robot" + }, + "latest_observation": "a627c76b25dd0572", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5546.0, + "scores": [ + 2631.0, + 2915.0 + ], + "selected": "reeder.caden.Grover 1.0" + }, + "completed_at": "2026-09-21T18:11:50Z", + "confirmation": null, + "delta_pct": -84.8, + "id": "a627c76b25dd0572", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "reeder.caden.Grover 1.0", + "division": "roborumble", + "jar": "reeder.caden.Grover_1.0.jar", + "jar_sha256": "f0968d0b127ff1f396b06038cb0fcbc30d4ec635284fa010b4cddee690b9ddbc", + "key": "roborumble/reeder.caden.Grover_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 844.0, + "scores": [ + 542.0, + 302.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/reeder.colin.WallGuy3_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "reeder.colin.WallGuy3 1.0", + "division": "roborumble", + "jar": "reeder.colin.WallGuy3_1.0.jar", + "jar_sha256": "1fdb8da11c2be4b08fccff8174df3c3429f9c28d5887c9788165d664a8b70d3c", + "key": "roborumble/reeder.colin.WallGuy3_1.0.jar", + "kind": "robot" + }, + "latest_observation": "f8e3999191dc1097", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5360.0, + "scores": [ + 2115.0, + 3245.0 + ], + "selected": "reeder.colin.WallGuy3 1.0" + }, + "completed_at": "2026-09-21T18:12:04Z", + "confirmation": null, + "delta_pct": -24.3, + "id": "f8e3999191dc1097", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "reeder.colin.WallGuy3 1.0", + "division": "roborumble", + "jar": "reeder.colin.WallGuy3_1.0.jar", + "jar_sha256": "1fdb8da11c2be4b08fccff8174df3c3429f9c28d5887c9788165d664a8b70d3c", + "key": "roborumble/reeder.colin.WallGuy3_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4060.0, + "scores": [ + 2259.0, + 1801.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/repositorio.NanoStep_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "repositorio.NanoStep 1.0", + "division": "roborumble", + "jar": "repositorio.NanoStep_1.0.jar", + "jar_sha256": "e3f9e83013bd6317354ad167b2020d537639787baf91bba9e438fea0b436b459", + "key": "roborumble/repositorio.NanoStep_1.0.jar", + "kind": "robot" + }, + "latest_observation": "059db986b461cff6", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5080.0, + "scores": [ + 1850.0, + 3230.0 + ], + "selected": "repositorio.NanoStep 1.0" + }, + "completed_at": "2026-09-21T18:12:32Z", + "confirmation": null, + "delta_pct": -12.6, + "id": "059db986b461cff6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "repositorio.NanoStep 1.0", + "division": "roborumble", + "jar": "repositorio.NanoStep_1.0.jar", + "jar_sha256": "e3f9e83013bd6317354ad167b2020d537639787baf91bba9e438fea0b436b459", + "key": "roborumble/repositorio.NanoStep_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4440.0, + "scores": [ + 2233.0, + 2207.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rfj.Sunburn_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rfj.Sunburn 1.1", + "division": "roborumble", + "jar": "rfj.Sunburn_1.1.jar", + "jar_sha256": "57933070be3f13b166783f8d775a45b9959e872251e9935c790a3d922bd7b0ba", + "key": "roborumble/rfj.Sunburn_1.1.jar", + "kind": "robot" + }, + "latest_observation": "f5755f9ce15aabaa", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5390.0, + "scores": [ + 3023.0, + 2367.0 + ], + "selected": "rfj.Sunburn 1.1" + }, + "completed_at": "2026-09-21T18:13:15Z", + "confirmation": null, + "delta_pct": -20.2, + "id": "f5755f9ce15aabaa", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rfj.Sunburn 1.1", + "division": "roborumble", + "jar": "rfj.Sunburn_1.1.jar", + "jar_sha256": "57933070be3f13b166783f8d775a45b9959e872251e9935c790a3d922bd7b0ba", + "key": "roborumble/rfj.Sunburn_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 40.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4302.0, + "scores": [ + 2197.0, + 2105.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rh.abs.Xwing_2.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rh.abs.Xwing 2.1", + "division": "roborumble", + "jar": "rh.abs.Xwing_2.1.jar", + "jar_sha256": "211e7b2ecdbacc42e637a23e8885e0072eace2951843fb2c99b136d5224f2148", + "key": "roborumble/rh.abs.Xwing_2.1.jar", + "kind": "robot" + }, + "latest_observation": "eae963a5835b417d", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6071.0, + "scores": [ + 2718.0, + 3353.0 + ], + "selected": "rh.abs.Xwing 2.1" + }, + "completed_at": "2026-09-21T18:13:41Z", + "confirmation": null, + "delta_pct": -9.5, + "id": "eae963a5835b417d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rh.abs.Xwing 2.1", + "division": "roborumble", + "jar": "rh.abs.Xwing_2.1.jar", + "jar_sha256": "211e7b2ecdbacc42e637a23e8885e0072eace2951843fb2c99b136d5224f2148", + "key": "roborumble/rh.abs.Xwing_2.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5497.0, + "scores": [ + 3052.0, + 2445.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rijteam.SmartDodge_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rijteam.SmartDodge 1.1", + "division": "roborumble", + "jar": "rijteam.SmartDodge_1.1.jar", + "jar_sha256": "9b72322e2eb4cafaddf6b6d56391d6fcb4632e6b96f9bd3514c98bccab775dc1", + "key": "roborumble/rijteam.SmartDodge_1.1.jar", + "kind": "robot" + }, + "latest_observation": "e897b76080e4b88a", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7312.0, + "scores": [ + 3943.0, + 3369.0 + ], + "selected": "rijteam.SmartDodge 1.1" + }, + "completed_at": "2026-09-21T18:14:00Z", + "confirmation": null, + "delta_pct": -0.7, + "id": "e897b76080e4b88a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rijteam.SmartDodge 1.1", + "division": "roborumble", + "jar": "rijteam.SmartDodge_1.1.jar", + "jar_sha256": "9b72322e2eb4cafaddf6b6d56391d6fcb4632e6b96f9bd3514c98bccab775dc1", + "key": "roborumble/rijteam.SmartDodge_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7259.0, + "scores": [ + 4036.0, + 3223.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rjw.RabidWombat_0.71.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rjw.RabidWombat 0.71", + "division": "roborumble", + "jar": "rjw.RabidWombat_0.71.jar", + "jar_sha256": "3794e6f4195a51299b694f9e330a6866b442405a76326e31c116a8d5a79d040e", + "key": "roborumble/rjw.RabidWombat_0.71.jar", + "kind": "robot" + }, + "latest_observation": "1f3ecef2f898b958", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8241.0, + "scores": [ + 4458.0, + 3783.0 + ], + "selected": "rjw.RabidWombat 0.71" + }, + "completed_at": "2026-09-21T18:14:19Z", + "confirmation": null, + "delta_pct": -6.2, + "id": "1f3ecef2f898b958", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rjw.RabidWombat 0.71", + "division": "roborumble", + "jar": "rjw.RabidWombat_0.71.jar", + "jar_sha256": "3794e6f4195a51299b694f9e330a6866b442405a76326e31c116a8d5a79d040e", + "key": "roborumble/rjw.RabidWombat_0.71.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7727.0, + "scores": [ + 4074.0, + 3653.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.haiku.Spike_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.haiku.Spike 1.0", + "division": "roborumble", + "jar": "robar.haiku.Spike_1.0.jar", + "jar_sha256": "73dcc5d01123188d483510af7669723045aefdc0587240de3c6a97bb035070d3", + "key": "roborumble/robar.haiku.Spike_1.0.jar", + "kind": "robot" + }, + "latest_observation": "b83504ae06b3089a", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5822.0, + "scores": [ + 3151.0, + 2671.0 + ], + "selected": "robar.haiku.Spike 1.0" + }, + "completed_at": "2026-09-21T18:14:42Z", + "confirmation": null, + "delta_pct": 1.8, + "id": "b83504ae06b3089a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.haiku.Spike 1.0", + "division": "roborumble", + "jar": "robar.haiku.Spike_1.0.jar", + "jar_sha256": "73dcc5d01123188d483510af7669723045aefdc0587240de3c6a97bb035070d3", + "key": "roborumble/robar.haiku.Spike_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5928.0, + "scores": [ + 3097.0, + 2831.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.micro.Gladius_1.15.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.micro.Gladius 1.15", + "division": "roborumble", + "jar": "robar.micro.Gladius_1.15.jar", + "jar_sha256": "c287fd8fb8aacf6b3689c4be26efecf19adc0d6079dced4042098afed422c219", + "key": "roborumble/robar.micro.Gladius_1.15.jar", + "kind": "robot" + }, + "latest_observation": "918966dc8677fee6", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6321.0, + "scores": [ + 2939.0, + 3382.0 + ], + "selected": "robar.micro.Gladius 1.15" + }, + "completed_at": "2026-09-21T18:15:02Z", + "confirmation": null, + "delta_pct": -37.4, + "id": "918966dc8677fee6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.micro.Gladius 1.15", + "division": "roborumble", + "jar": "robar.micro.Gladius_1.15.jar", + "jar_sha256": "c287fd8fb8aacf6b3689c4be26efecf19adc0d6079dced4042098afed422c219", + "key": "roborumble/robar.micro.Gladius_1.15.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3959.0, + "scores": [ + 2662.0, + 1297.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/robar.micro.Kirbyi_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.micro.Kirbyi 1.0", + "division": "roborumble", + "jar": "robar.micro.Kirbyi_1.0.jar", + "jar_sha256": "c924fa51a0791fef426b0dcaafe51b6d44dba03531d36740a04494f207324c22", + "key": "roborumble/robar.micro.Kirbyi_1.0.jar", + "kind": "robot" + }, + "latest_observation": "df48bf50099070d4", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6522.0, + "scores": [ + 3365.0, + 3157.0 + ], + "selected": "robar.micro.Kirbyi 1.0" + }, + "completed_at": "2026-09-21T18:15:22Z", + "confirmation": null, + "delta_pct": -11.4, + "id": "df48bf50099070d4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.micro.Kirbyi 1.0", + "division": "roborumble", + "jar": "robar.micro.Kirbyi_1.0.jar", + "jar_sha256": "c924fa51a0791fef426b0dcaafe51b6d44dba03531d36740a04494f207324c22", + "key": "roborumble/robar.micro.Kirbyi_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5780.0, + "scores": [ + 3063.0, + 2717.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.micro.Topaz_0.25.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.micro.Topaz 0.25", + "division": "roborumble", + "jar": "robar.micro.Topaz_0.25.jar", + "jar_sha256": "45743a202dc30d276f9a6e926c9403bcec1d87b7c634f28c33fc7df7786a6d16", + "key": "roborumble/robar.micro.Topaz_0.25.jar", + "kind": "robot" + }, + "latest_observation": "bbc5fd68ad099a1b", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7666.0, + "scores": [ + 3594.0, + 4072.0 + ], + "selected": "robar.micro.Topaz 0.25" + }, + "completed_at": "2026-09-21T18:15:38Z", + "confirmation": null, + "delta_pct": -15.0, + "id": "bbc5fd68ad099a1b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.micro.Topaz 0.25", + "division": "roborumble", + "jar": "robar.micro.Topaz_0.25.jar", + "jar_sha256": "45743a202dc30d276f9a6e926c9403bcec1d87b7c634f28c33fc7df7786a6d16", + "key": "roborumble/robar.micro.Topaz_0.25.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6516.0, + "scores": [ + 3268.0, + 3248.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.nano.Assertive_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.nano.Assertive 0.3", + "division": "roborumble", + "jar": "robar.nano.Assertive_0.3.jar", + "jar_sha256": "ea21a9ea994ef17f8ad7e97f83fe27375b392180f983f6b3c9cae33da7625041", + "key": "roborumble/robar.nano.Assertive_0.3.jar", + "kind": "robot" + }, + "latest_observation": "833fc238672c534e", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9562.0, + "scores": [ + 4998.0, + 4564.0 + ], + "selected": "robar.nano.Assertive 0.3" + }, + "completed_at": "2026-09-21T18:15:55Z", + "confirmation": null, + "delta_pct": -9.3, + "id": "833fc238672c534e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.nano.Assertive 0.3", + "division": "roborumble", + "jar": "robar.nano.Assertive_0.3.jar", + "jar_sha256": "ea21a9ea994ef17f8ad7e97f83fe27375b392180f983f6b3c9cae33da7625041", + "key": "roborumble/robar.nano.Assertive_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8676.0, + "scores": [ + 4489.0, + 4187.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.nano.BlackWidow_1.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.nano.BlackWidow 1.3", + "division": "roborumble", + "jar": "robar.nano.BlackWidow_1.3.jar", + "jar_sha256": "7fe3c4a1083855c2e97291397a8b2a0fb9f2317314b5778d1429a94c33caa1b6", + "key": "roborumble/robar.nano.BlackWidow_1.3.jar", + "kind": "robot" + }, + "latest_observation": "4673ba7f6c521b67", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5776.0, + "scores": [ + 3051.0, + 2725.0 + ], + "selected": "robar.nano.BlackWidow 1.3" + }, + "completed_at": "2026-09-21T18:16:17Z", + "confirmation": null, + "delta_pct": -18.9, + "id": "4673ba7f6c521b67", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.nano.BlackWidow 1.3", + "division": "roborumble", + "jar": "robar.nano.BlackWidow_1.3.jar", + "jar_sha256": "7fe3c4a1083855c2e97291397a8b2a0fb9f2317314b5778d1429a94c33caa1b6", + "key": "roborumble/robar.nano.BlackWidow_1.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4684.0, + "scores": [ + 2466.0, + 2218.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.nano.Breeze_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.nano.Breeze 0.3", + "division": "roborumble", + "jar": "robar.nano.Breeze_0.3.jar", + "jar_sha256": "0105424c0dcaf973f37bca3a96ff56dea921443ad9d87442ab4ca1d84e784558", + "key": "roborumble/robar.nano.Breeze_0.3.jar", + "kind": "robot" + }, + "latest_observation": "d5016b8473be5308", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5040.0, + "scores": [ + 2490.0, + 2550.0 + ], + "selected": "robar.nano.Breeze 0.3" + }, + "completed_at": "2026-09-21T18:16:40Z", + "confirmation": null, + "delta_pct": -4.0, + "id": "d5016b8473be5308", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.nano.Breeze 0.3", + "division": "roborumble", + "jar": "robar.nano.Breeze_0.3.jar", + "jar_sha256": "0105424c0dcaf973f37bca3a96ff56dea921443ad9d87442ab4ca1d84e784558", + "key": "roborumble/robar.nano.Breeze_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4839.0, + "scores": [ + 2698.0, + 2141.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.nano.MosquitoPM_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.nano.MosquitoPM 1.0", + "division": "roborumble", + "jar": "robar.nano.MosquitoPM_1.0.jar", + "jar_sha256": "83243d0e216503823cccb63f6865bdc152468ac2238bed1abf6794f4ac3a5c76", + "key": "roborumble/robar.nano.MosquitoPM_1.0.jar", + "kind": "robot" + }, + "latest_observation": "268286f55057dbf2", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5702.0, + "scores": [ + 2831.0, + 2871.0 + ], + "selected": "robar.nano.MosquitoPM 1.0" + }, + "completed_at": "2026-09-21T18:17:20Z", + "confirmation": null, + "delta_pct": -12.9, + "id": "268286f55057dbf2", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.nano.MosquitoPM 1.0", + "division": "roborumble", + "jar": "robar.nano.MosquitoPM_1.0.jar", + "jar_sha256": "83243d0e216503823cccb63f6865bdc152468ac2238bed1abf6794f4ac3a5c76", + "key": "roborumble/robar.nano.MosquitoPM_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4965.0, + "scores": [ + 2741.0, + 2224.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.nano.Mosquito_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.nano.Mosquito 1.1", + "division": "roborumble", + "jar": "robar.nano.Mosquito_1.1.jar", + "jar_sha256": "f7de82cc52787646a305c99d9e49542a241ef84bbcab558b1b9fc6eb386b88a6", + "key": "roborumble/robar.nano.Mosquito_1.1.jar", + "kind": "robot" + }, + "latest_observation": "303ba6fe602124a5", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4396.0, + "scores": [ + 1998.0, + 2398.0 + ], + "selected": "robar.nano.Mosquito 1.1" + }, + "completed_at": "2026-09-21T18:16:59Z", + "confirmation": null, + "delta_pct": 2.3, + "id": "303ba6fe602124a5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.nano.Mosquito 1.1", + "division": "roborumble", + "jar": "robar.nano.Mosquito_1.1.jar", + "jar_sha256": "f7de82cc52787646a305c99d9e49542a241ef84bbcab558b1b9fc6eb386b88a6", + "key": "roborumble/robar.nano.Mosquito_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4495.0, + "scores": [ + 2649.0, + 1846.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.nano.Prestige_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.nano.Prestige 1.0", + "division": "roborumble", + "jar": "robar.nano.Prestige_1.0.jar", + "jar_sha256": "cc7e2fc2fe4c0f24cf84630e69ace7c5a6ed9e954827e6cfcac9c04b4ed25c22", + "key": "roborumble/robar.nano.Prestige_1.0.jar", + "kind": "robot" + }, + "latest_observation": "39d72dd2c9f45d0a", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6350.0, + "scores": [ + 2869.0, + 3481.0 + ], + "selected": "robar.nano.Prestige 1.0" + }, + "completed_at": "2026-09-21T18:17:41Z", + "confirmation": null, + "delta_pct": -15.7, + "id": "39d72dd2c9f45d0a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.nano.Prestige 1.0", + "division": "roborumble", + "jar": "robar.nano.Prestige_1.0.jar", + "jar_sha256": "cc7e2fc2fe4c0f24cf84630e69ace7c5a6ed9e954827e6cfcac9c04b4ed25c22", + "key": "roborumble/robar.nano.Prestige_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5352.0, + "scores": [ + 2706.0, + 2646.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.nano.Pugio_1.49.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.nano.Pugio 1.49", + "division": "roborumble", + "jar": "robar.nano.Pugio_1.49.jar", + "jar_sha256": "a7ed279a63f0732a9e4221126ec04cd79eaa0b0e145d623685cc6574a16ecb45", + "key": "roborumble/robar.nano.Pugio_1.49.jar", + "kind": "robot" + }, + "latest_observation": "007517dec3b04255", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6881.0, + "scores": [ + 3488.0, + 3393.0 + ], + "selected": "robar.nano.Pugio 1.49" + }, + "completed_at": "2026-09-21T18:18:02Z", + "confirmation": null, + "delta_pct": -9.2, + "id": "007517dec3b04255", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.nano.Pugio 1.49", + "division": "roborumble", + "jar": "robar.nano.Pugio_1.49.jar", + "jar_sha256": "a7ed279a63f0732a9e4221126ec04cd79eaa0b0e145d623685cc6574a16ecb45", + "key": "roborumble/robar.nano.Pugio_1.49.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6249.0, + "scores": [ + 3366.0, + 2883.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.nano.Scytodes_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.nano.Scytodes 0.3", + "division": "roborumble", + "jar": "robar.nano.Scytodes_0.3.jar", + "jar_sha256": "6ef274ad89d061264430efa0c141f4981f66f210b9310e938d34fd5e8c56ac68", + "key": "roborumble/robar.nano.Scytodes_0.3.jar", + "kind": "robot" + }, + "latest_observation": "959dd8c7c9371068", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7951.0, + "scores": [ + 4077.0, + 3874.0 + ], + "selected": "robar.nano.Scytodes 0.3" + }, + "completed_at": "2026-09-21T18:18:19Z", + "confirmation": null, + "delta_pct": -14.4, + "id": "959dd8c7c9371068", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.nano.Scytodes 0.3", + "division": "roborumble", + "jar": "robar.nano.Scytodes_0.3.jar", + "jar_sha256": "6ef274ad89d061264430efa0c141f4981f66f210b9310e938d34fd5e8c56ac68", + "key": "roborumble/robar.nano.Scytodes_0.3.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6804.0, + "scores": [ + 3644.0, + 3160.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robar.nano.Vespa_0.95.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robar.nano.Vespa 0.95", + "division": "roborumble", + "jar": "robar.nano.Vespa_0.95.jar", + "jar_sha256": "0579e5b3e650d35473392325c855d8a4fd58052b83cba5e12fa6904f2adfb758", + "key": "roborumble/robar.nano.Vespa_0.95.jar", + "kind": "robot" + }, + "latest_observation": "11d4a6ff81a970d9", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8413.0, + "scores": [ + 4197.0, + 4216.0 + ], + "selected": "robar.nano.Vespa 0.95" + }, + "completed_at": "2026-09-21T18:18:38Z", + "confirmation": null, + "delta_pct": -23.5, + "id": "11d4a6ff81a970d9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robar.nano.Vespa 0.95", + "division": "roborumble", + "jar": "robar.nano.Vespa_0.95.jar", + "jar_sha256": "0579e5b3e650d35473392325c855d8a4fd58052b83cba5e12fa6904f2adfb758", + "key": "roborumble/robar.nano.Vespa_0.95.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6432.0, + "scores": [ + 3218.0, + 3214.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robo.PartsBot_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robo.PartsBot 1.1", + "division": "roborumble", + "jar": "robo.PartsBot_1.1.jar", + "jar_sha256": "a3cbac5a567b84bbb9c1257e434eed4e9281e40aa36342e250320f03a5dafb70", + "key": "roborumble/robo.PartsBot_1.1.jar", + "kind": "robot" + }, + "latest_observation": "a2e1c539b305ad8f", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4688.0, + "scores": [ + 2575.0, + 2113.0 + ], + "selected": "robo.PartsBot 1.1" + }, + "completed_at": "2026-09-21T18:19:01Z", + "confirmation": null, + "delta_pct": -1.2, + "id": "a2e1c539b305ad8f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "cd5f9d5b8a3f592753cca965d1fa56108f7d93d8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robo.PartsBot 1.1", + "division": "roborumble", + "jar": "robo.PartsBot_1.1.jar", + "jar_sha256": "a3cbac5a567b84bbb9c1257e434eed4e9281e40aa36342e250320f03a5dafb70", + "key": "roborumble/robo.PartsBot_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4634.0, + "scores": [ + 2556.0, + 2078.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/robots.Lucky_1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "robots.Lucky 1.2", + "division": "roborumble", + "jar": "robots.Lucky_1.2.jar", + "jar_sha256": "ef97097c5fc0606a214ec4b53d156f1c470d2ee89c6bf32277487b300bd43590", + "key": "roborumble/robots.Lucky_1.2.jar", + "kind": "robot" + }, + "latest_observation": "2992cd9722fe6ba8", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6129.0, + "scores": [ + 2787.0, + 3342.0 + ], + "selected": "robots.Lucky 1.2" + }, + "completed_at": "2026-09-21T18:20:12Z", + "confirmation": null, + "delta_pct": -13.6, + "id": "2992cd9722fe6ba8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "robots.Lucky 1.2", + "division": "roborumble", + "jar": "robots.Lucky_1.2.jar", + "jar_sha256": "ef97097c5fc0606a214ec4b53d156f1c470d2ee89c6bf32277487b300bd43590", + "key": "roborumble/robots.Lucky_1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5293.0, + "scores": [ + 2845.0, + 2448.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/romz.robot.Test_0.1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "romz.robot.Test 0.1.0", + "division": "roborumble", + "jar": "romz.robot.Test_0.1.0.jar", + "jar_sha256": "37766eb2b25d2a385f8f07ca9549bb832fcea8841980478db781db387cb542b7", + "key": "roborumble/romz.robot.Test_0.1.0.jar", + "kind": "robot" + }, + "latest_observation": "e03a33b9230e79f9", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5273.0, + "scores": [ + 2927.0, + 2346.0 + ], + "selected": "romz.robot.Test 0.1.0" + }, + "completed_at": "2026-09-21T18:21:52Z", + "confirmation": null, + "delta_pct": 2.6, + "id": "e03a33b9230e79f9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "romz.robot.Test 0.1.0", + "division": "roborumble", + "jar": "romz.robot.Test_0.1.0.jar", + "jar_sha256": "37766eb2b25d2a385f8f07ca9549bb832fcea8841980478db781db387cb542b7", + "key": "roborumble/romz.robot.Test_0.1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 48.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5410.0, + "scores": [ + 2861.0, + 2549.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/romz.robot.circular.WildRabbit_0.9.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "romz.robot.circular.WildRabbit 0.9.6", + "division": "roborumble", + "jar": "romz.robot.circular.WildRabbit_0.9.6.jar", + "jar_sha256": "eb4229bf9ce5f7d6878c9e5c9ab0cfa159702d7170dac9e2e9a4e243ad27e0fe", + "key": "roborumble/romz.robot.circular.WildRabbit_0.9.6.jar", + "kind": "robot" + }, + "latest_observation": "320581acfab18570", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6629.0, + "scores": [ + 2744.0, + 3885.0 + ], + "selected": "romz.robot.circular.WildRabbit 0.9.6" + }, + "completed_at": "2026-09-21T18:20:31Z", + "confirmation": null, + "delta_pct": -2.8, + "id": "320581acfab18570", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "romz.robot.circular.WildRabbit 0.9.6", + "division": "roborumble", + "jar": "romz.robot.circular.WildRabbit_0.9.6.jar", + "jar_sha256": "eb4229bf9ce5f7d6878c9e5c9ab0cfa159702d7170dac9e2e9a4e243ad27e0fe", + "key": "roborumble/romz.robot.circular.WildRabbit_0.9.6.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6443.0, + "scores": [ + 3622.0, + 2821.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/romz.robot.guessfactor.TeasingFox_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "romz.robot.guessfactor.TeasingFox 0.2", + "division": "roborumble", + "jar": "romz.robot.guessfactor.TeasingFox_0.2.jar", + "jar_sha256": "92cacb3b4ac4efdcf1b1d5b8c2c57fb019c32a5f295d86bac03069e8bacbac71", + "key": "roborumble/romz.robot.guessfactor.TeasingFox_0.2.jar", + "kind": "robot" + }, + "latest_observation": "f02031538056ba50", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5526.0, + "scores": [ + 2965.0, + 2561.0 + ], + "selected": "romz.robot.guessfactor.TeasingFox 0.2" + }, + "completed_at": "2026-09-21T18:21:00Z", + "confirmation": null, + "delta_pct": -5.6, + "id": "f02031538056ba50", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "romz.robot.guessfactor.TeasingFox 0.2", + "division": "roborumble", + "jar": "romz.robot.guessfactor.TeasingFox_0.2.jar", + "jar_sha256": "92cacb3b4ac4efdcf1b1d5b8c2c57fb019c32a5f295d86bac03069e8bacbac71", + "key": "roborumble/romz.robot.guessfactor.TeasingFox_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 26.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5217.0, + "scores": [ + 2881.0, + 2336.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rsalesc.mega.Knight_0.6.28.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rsalesc.mega.Knight 0.6.28", + "division": "roborumble", + "jar": "rsalesc.mega.Knight_0.6.28.jar", + "jar_sha256": "c51899dfc6c3294884b6d06adba8189f57d2118e2fc111d4b9e8d713175ba7d6", + "key": "roborumble/rsalesc.mega.Knight_0.6.28.jar", + "kind": "robot" + }, + "latest_observation": "e0e5b9d788f4ec0e", + "observations": [ + { + "classic": { + "elapsed": 131.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4802.0, + "scores": [ + 2210.0, + 2592.0 + ], + "selected": "rsalesc.mega.Knight 0.6.28" + }, + "completed_at": "2026-09-21T18:24:09Z", + "confirmation": null, + "delta_pct": null, + "id": "e0e5b9d788f4ec0e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rsalesc.mega.Knight 0.6.28", + "division": "roborumble", + "jar": "rsalesc.mega.Knight_0.6.28.jar", + "jar_sha256": "c51899dfc6c3294884b6d06adba8189f57d2118e2fc111d4b9e8d713175ba7d6", + "key": "roborumble/rsalesc.mega.Knight_0.6.28.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "rsalesc.a.a.onStatus" + ], + [ + "java.lang.NullPointerException", + "rsalesc.a.a.run" + ] + ], + "elapsed": 4.2, + "error_count": 820, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "rsalesc.a.a.onStatus" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"this.a\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/rsim.micro.uCatcher_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rsim.micro.uCatcher 0.1", + "division": "roborumble", + "jar": "rsim.micro.uCatcher_0.1.jar", + "jar_sha256": "6f10b1c4562abafb1eead6dcf810b285b705b73f29e062ae899e0e4467bcc12d", + "key": "roborumble/rsim.micro.uCatcher_0.1.jar", + "kind": "robot" + }, + "latest_observation": "e47dc8233c05ce71", + "observations": [ + { + "classic": { + "elapsed": 6.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9098.0, + "scores": [ + 4502.0, + 4596.0 + ], + "selected": "rsim.micro.uCatcher 0.1" + }, + "completed_at": "2026-09-21T18:27:59Z", + "confirmation": null, + "delta_pct": -42.8, + "id": "e47dc8233c05ce71", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rsim.micro.uCatcher 0.1", + "division": "roborumble", + "jar": "rsim.micro.uCatcher_0.1.jar", + "jar_sha256": "6f10b1c4562abafb1eead6dcf810b285b705b73f29e062ae899e0e4467bcc12d", + "key": "roborumble/rsim.micro.uCatcher_0.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 224.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5203.0, + "scores": [ + 2725.0, + 2478.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/rsim.mini.BulletCatcher_0.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rsim.mini.BulletCatcher 0.4", + "division": "roborumble", + "jar": "rsim.mini.BulletCatcher_0.4.jar", + "jar_sha256": "c2498841c14b51bc519d6c3fef00dfeedb86f8685a3adc679e98127573bb73d3", + "key": "roborumble/rsim.mini.BulletCatcher_0.4.jar", + "kind": "robot" + }, + "latest_observation": "782cca12c41b465a", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4371.0, + "scores": [ + 2048.0, + 2323.0 + ], + "selected": "rsim.mini.BulletCatcher 0.4" + }, + "completed_at": "2026-09-21T18:28:24Z", + "confirmation": null, + "delta_pct": 2.4, + "id": "782cca12c41b465a", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rsim.mini.BulletCatcher 0.4", + "division": "roborumble", + "jar": "rsim.mini.BulletCatcher_0.4.jar", + "jar_sha256": "c2498841c14b51bc519d6c3fef00dfeedb86f8685a3adc679e98127573bb73d3", + "key": "roborumble/rsim.mini.BulletCatcher_0.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4475.0, + "scores": [ + 2577.0, + 1898.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rsk1.RSK1_4.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rsk1.RSK1 4.0", + "division": "roborumble", + "jar": "rsk1.RSK1_4.0.jar", + "jar_sha256": "fae4403585be885f2cc41db444d432139e4f5f27f73814e7e13ef6e0bcee0e31", + "key": "roborumble/rsk1.RSK1_4.0.jar", + "kind": "robot" + }, + "latest_observation": "000d22607abdab9c", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4524.0, + "scores": [ + 2047.0, + 2477.0 + ], + "selected": "rsk1.RSK1 4.0" + }, + "completed_at": "2026-09-21T18:28:52Z", + "confirmation": null, + "delta_pct": -5.8, + "id": "000d22607abdab9c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rsk1.RSK1 4.0", + "division": "roborumble", + "jar": "rsk1.RSK1_4.0.jar", + "jar_sha256": "fae4403585be885f2cc41db444d432139e4f5f27f73814e7e13ef6e0bcee0e31", + "key": "roborumble/rsk1.RSK1_4.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4262.0, + "scores": [ + 2313.0, + 1949.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ruc.nano.Zealot_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ruc.nano.Zealot 0.2", + "division": "roborumble", + "jar": "ruc.nano.Zealot_0.2.jar", + "jar_sha256": "3f0c99cdee7b49e13b9b19f918c7037f9e270e79ec68ada4dfa6ef9a9dbac4a9", + "key": "roborumble/ruc.nano.Zealot_0.2.jar", + "kind": "robot" + }, + "latest_observation": "59feda052eabd1ad", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4933.0, + "scores": [ + 2000.0, + 2933.0 + ], + "selected": "ruc.nano.Zealot 0.2" + }, + "completed_at": "2026-09-21T18:29:07Z", + "confirmation": null, + "delta_pct": -20.4, + "id": "59feda052eabd1ad", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ruc.nano.Zealot 0.2", + "division": "roborumble", + "jar": "ruc.nano.Zealot_0.2.jar", + "jar_sha256": "3f0c99cdee7b49e13b9b19f918c7037f9e270e79ec68ada4dfa6ef9a9dbac4a9", + "key": "roborumble/ruc.nano.Zealot_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3926.0, + "scores": [ + 2056.0, + 1870.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ry.LightningBug_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ry.LightningBug 1.0", + "division": "roborumble", + "jar": "ry.LightningBug_1.0.jar", + "jar_sha256": "d3e66153908aaf42f3e41dbd158bcbe485b9ef0435654b729368c17732bd48d2", + "key": "roborumble/ry.LightningBug_1.0.jar", + "kind": "robot" + }, + "latest_observation": "1c9f13b5ed4ef479", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4915.0, + "scores": [ + 2442.0, + 2473.0 + ], + "selected": "ry.LightningBug 1.0" + }, + "completed_at": "2026-09-21T18:29:28Z", + "confirmation": null, + "delta_pct": -17.4, + "id": "1c9f13b5ed4ef479", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ry.LightningBug 1.0", + "division": "roborumble", + "jar": "ry.LightningBug_1.0.jar", + "jar_sha256": "d3e66153908aaf42f3e41dbd158bcbe485b9ef0435654b729368c17732bd48d2", + "key": "roborumble/ry.LightningBug_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4059.0, + "scores": [ + 2374.0, + 1685.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/ry.VirtualGunExperiment_1.2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ry.VirtualGunExperiment 1.2.0", + "division": "roborumble", + "jar": "ry.VirtualGunExperiment_1.2.0.jar", + "jar_sha256": "f4fb6048147e76f02f5acef290ed2b7405ab18577d2359c0d47a2bff02898c79", + "key": "roborumble/ry.VirtualGunExperiment_1.2.0.jar", + "kind": "robot" + }, + "latest_observation": "f36ba837fe0038af", + "observations": [ + { + "classic": { + "elapsed": 3.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4101.0, + "scores": [ + 1900.0, + 2201.0 + ], + "selected": "ry.VirtualGunExperiment 1.2.0" + }, + "completed_at": "2026-09-21T18:29:56Z", + "confirmation": null, + "delta_pct": -36.3, + "id": "f36ba837fe0038af", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ry.VirtualGunExperiment 1.2.0", + "division": "roborumble", + "jar": "ry.VirtualGunExperiment_1.2.0.jar", + "jar_sha256": "f4fb6048147e76f02f5acef290ed2b7405ab18577d2359c0d47a2bff02898c79", + "key": "roborumble/ry.VirtualGunExperiment_1.2.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2614.0, + "scores": [ + 1477.0, + 1137.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/ry.Worst_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "ry.Worst 1.0", + "division": "roborumble", + "jar": "ry.Worst_1.0.jar", + "jar_sha256": "1c221d89476d10b8afa1df695e7eb1cfa6d6402cea4ca05f805ca6209875862c", + "key": "roborumble/ry.Worst_1.0.jar", + "kind": "robot" + }, + "latest_observation": "946be774c812e808", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5.0, + "scores": [ + 5.0, + 0.0 + ], + "selected": "ry.Worst 1.0" + }, + "completed_at": "2026-09-21T18:30:16Z", + "confirmation": null, + "delta_pct": 31100.0, + "id": "946be774c812e808", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "ry.Worst 1.0", + "division": "roborumble", + "jar": "ry.Worst_1.0.jar", + "jar_sha256": "1c221d89476d10b8afa1df695e7eb1cfa6d6402cea4ca05f805ca6209875862c", + "key": "roborumble/ry.Worst_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1560.0, + "scores": [ + 840.0, + 720.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/rz.Aleph_0.34.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rz.Aleph 0.34", + "division": "roborumble", + "jar": "rz.Aleph_0.34.jar", + "jar_sha256": "441bd5fd2723588c3178d92fd79d4e8c879880b35735e528da5d6e239e2d690b", + "key": "roborumble/rz.Aleph_0.34.jar", + "kind": "robot" + }, + "latest_observation": "3b2c004742d9703c", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4905.0, + "scores": [ + 3191.0, + 1714.0 + ], + "selected": "rz.Aleph 0.34" + }, + "completed_at": "2026-09-21T18:30:32Z", + "confirmation": null, + "delta_pct": null, + "id": "3b2c004742d9703c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rz.Aleph 0.34", + "division": "roborumble", + "jar": "rz.Aleph_0.34.jar", + "jar_sha256": "441bd5fd2723588c3178d92fd79d4e8c879880b35735e528da5d6e239e2d690b", + "key": "roborumble/rz.Aleph_0.34.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.IllegalArgumentException", + "unknown" + ] + ], + "elapsed": 12.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.IllegalArgumentException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "2964 java.lang.IllegalArgumentException: Comparison method violates its general contract!" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/rz.Apollon_0.23.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rz.Apollon 0.23", + "division": "roborumble", + "jar": "rz.Apollon_0.23.jar", + "jar_sha256": "b99d5878b6384ab26e15aea9b8caff8b0b2868cf9a39b6db400489f1750ae91f", + "key": "roborumble/rz.Apollon_0.23.jar", + "kind": "robot" + }, + "latest_observation": "4e77ac25614feb65", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4314.0, + "scores": [ + 2459.0, + 1855.0 + ], + "selected": "rz.Apollon 0.23" + }, + "completed_at": "2026-09-21T18:30:57Z", + "confirmation": null, + "delta_pct": -7.0, + "id": "4e77ac25614feb65", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rz.Apollon 0.23", + "division": "roborumble", + "jar": "rz.Apollon_0.23.jar", + "jar_sha256": "b99d5878b6384ab26e15aea9b8caff8b0b2868cf9a39b6db400489f1750ae91f", + "key": "roborumble/rz.Apollon_0.23.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4014.0, + "scores": [ + 2262.0, + 1752.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rz.Artist_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rz.Artist 0.2", + "division": "roborumble", + "jar": "rz.Artist_0.2.jar", + "jar_sha256": "2a8680afc7e5df58f94e36a4b749884103094982547eed42697094fd9c18be42", + "key": "roborumble/rz.Artist_0.2.jar", + "kind": "robot" + }, + "latest_observation": "28a588776203af18", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 4, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "rz.Artist.onHitByBullet" + } + ], + "errors": [ + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.HitByBulletEvent", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null" + ], + "has_log": true, + "ok": true, + "score": 4905.0, + "scores": [ + 2676.0, + 2229.0 + ], + "selected": "rz.Artist 0.2" + }, + "completed_at": "2026-09-21T18:31:18Z", + "confirmation": null, + "delta_pct": 21.6, + "id": "28a588776203af18", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rz.Artist 0.2", + "division": "roborumble", + "jar": "rz.Artist_0.2.jar", + "jar_sha256": "2a8680afc7e5df58f94e36a4b749884103094982547eed42697094fd9c18be42", + "key": "roborumble/rz.Artist_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 26, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "rz.Artist.onHitByBullet" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null", + "java.lang.NullPointerException: Cannot invoke \"rz.stuff.MicroWave.getValue(double, int)\" because the return value of \"rz.Artist.getClosestWave(boolean)\" is null" + ], + "has_log": true, + "ok": true, + "score": 5966.0, + "scores": [ + 3035.0, + 2931.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rz.GlowBlowAPM_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rz.GlowBlowAPM 1.0", + "division": "roborumble", + "jar": "rz.GlowBlowAPM_1.0.jar", + "jar_sha256": "f4d2f8fc34b7f8bc989aee2dba74c16426508b1db4a82bb275374ec6c7b4498f", + "key": "roborumble/rz.GlowBlowAPM_1.0.jar", + "kind": "robot" + }, + "latest_observation": "b24015f872b81536", + "observations": [ + { + "classic": { + "elapsed": 9.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4038.0, + "scores": [ + 2421.0, + 1617.0 + ], + "selected": "rz.GlowBlowAPM 1.0" + }, + "completed_at": "2026-09-21T18:32:37Z", + "confirmation": null, + "delta_pct": 11.7, + "id": "b24015f872b81536", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rz.GlowBlowAPM 1.0", + "division": "roborumble", + "jar": "rz.GlowBlowAPM_1.0.jar", + "jar_sha256": "f4d2f8fc34b7f8bc989aee2dba74c16426508b1db4a82bb275374ec6c7b4498f", + "key": "roborumble/rz.GlowBlowAPM_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4512.0, + "scores": [ + 2303.0, + 2209.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rz.GlowBlowMelee_1.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rz.GlowBlowMelee 1.4", + "division": "roborumble", + "jar": "rz.GlowBlowMelee_1.4.jar", + "jar_sha256": "10da67bbcf02f2fac753e5f5e44d63f12448e5c42848ba69fbba3d50369db5d4", + "key": "roborumble/rz.GlowBlowMelee_1.4.jar", + "kind": "robot" + }, + "latest_observation": "b33aa13d56e2a759", + "observations": [ + { + "classic": { + "elapsed": 4.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5001.0, + "scores": [ + 2705.0, + 2296.0 + ], + "selected": "rz.GlowBlowMelee 1.4" + }, + "completed_at": "2026-09-21T18:33:05Z", + "confirmation": null, + "delta_pct": -6.1, + "id": "b33aa13d56e2a759", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rz.GlowBlowMelee 1.4", + "division": "roborumble", + "jar": "rz.GlowBlowMelee_1.4.jar", + "jar_sha256": "10da67bbcf02f2fac753e5f5e44d63f12448e5c42848ba69fbba3d50369db5d4", + "key": "roborumble/rz.GlowBlowMelee_1.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4697.0, + "scores": [ + 2623.0, + 2074.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rz.GlowBlow_2.31.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rz.GlowBlow 2.31", + "division": "roborumble", + "jar": "rz.GlowBlow_2.31.jar", + "jar_sha256": "df538212845b1911b71b998a6316feff4229262575c1b8641cbabb9e6544a9d7", + "key": "roborumble/rz.GlowBlow_2.31.jar", + "kind": "robot" + }, + "latest_observation": "59b518e2468133e4", + "observations": [ + { + "classic": { + "elapsed": 9.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5300.0, + "scores": [ + 2338.0, + 2962.0 + ], + "selected": "rz.GlowBlow 2.31" + }, + "completed_at": "2026-09-21T18:31:58Z", + "confirmation": null, + "delta_pct": -8.4, + "id": "59b518e2468133e4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rz.GlowBlow 2.31", + "division": "roborumble", + "jar": "rz.GlowBlow_2.31.jar", + "jar_sha256": "df538212845b1911b71b998a6316feff4229262575c1b8641cbabb9e6544a9d7", + "key": "roborumble/rz.GlowBlow_2.31.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4854.0, + "scores": [ + 2703.0, + 2151.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rz.HawkOnFire_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rz.HawkOnFire 0.1", + "division": "roborumble", + "jar": "rz.HawkOnFire_0.1.jar", + "jar_sha256": "e3ed9189afd9a2567167399ff04f49a7f184a07967815a947f3e25d91ffdf4d4", + "key": "roborumble/rz.HawkOnFire_0.1.jar", + "kind": "robot" + }, + "latest_observation": "aec194fd7547e7cc", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4223.0, + "scores": [ + 1935.0, + 2288.0 + ], + "selected": "rz.HawkOnFire 0.1" + }, + "completed_at": "2026-09-21T18:33:28Z", + "confirmation": null, + "delta_pct": -12.3, + "id": "aec194fd7547e7cc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rz.HawkOnFire 0.1", + "division": "roborumble", + "jar": "rz.HawkOnFire_0.1.jar", + "jar_sha256": "e3ed9189afd9a2567167399ff04f49a7f184a07967815a947f3e25d91ffdf4d4", + "key": "roborumble/rz.HawkOnFire_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3704.0, + "scores": [ + 2426.0, + 1278.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/rz.SmallDevil_1.502.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "rz.SmallDevil 1.502", + "division": "roborumble", + "jar": "rz.SmallDevil_1.502.jar", + "jar_sha256": "ba0f6e1b453858ff5039f26aff44fa7fa3c7aa20f46bc35c8f2f97fa5491d99c", + "key": "roborumble/rz.SmallDevil_1.502.jar", + "kind": "robot" + }, + "latest_observation": "c2e642ac1ff7d1a8", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5250.0, + "scores": [ + 2389.0, + 2861.0 + ], + "selected": "rz.SmallDevil 1.502" + }, + "completed_at": "2026-09-21T18:33:43Z", + "confirmation": null, + "delta_pct": -38.4, + "id": "c2e642ac1ff7d1a8", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "rz.SmallDevil 1.502", + "division": "roborumble", + "jar": "rz.SmallDevil_1.502.jar", + "jar_sha256": "ba0f6e1b453858ff5039f26aff44fa7fa3c7aa20f46bc35c8f2f97fa5491d99c", + "key": "roborumble/rz.SmallDevil_1.502.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3235.0, + "scores": [ + 1822.0, + 1413.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/sL300.Mozart_life.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sL300.Mozart life", + "division": "roborumble", + "jar": "sL300.Mozart_life.jar", + "jar_sha256": "9e765f05d980e126b15021a2dba8de18bf52fee7b4ff2d2bb9c071e3f8d0b758", + "key": "roborumble/sL300.Mozart_life.jar", + "kind": "robot" + }, + "latest_observation": "a39f6dbfb2b90619", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11370.0, + "scores": [ + 6157.0, + 5213.0 + ], + "selected": "sL300.Mozart life" + }, + "completed_at": "2026-09-21T19:05:01Z", + "confirmation": null, + "delta_pct": 10.9, + "id": "a39f6dbfb2b90619", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sL300.Mozart life", + "division": "roborumble", + "jar": "sL300.Mozart_life.jar", + "jar_sha256": "9e765f05d980e126b15021a2dba8de18bf52fee7b4ff2d2bb9c071e3f8d0b758", + "key": "roborumble/sL300.Mozart_life.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12610.0, + "scores": [ + 6318.0, + 6292.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sadoner.killer_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sadoner.killer 0.2", + "division": "roborumble", + "jar": "sadoner.killer_0.2.jar", + "jar_sha256": "2b079d9151b5d44b44594b79ee9f80e89289d7895aee5fe9dd2887ebab7ee702", + "key": "roborumble/sadoner.killer_0.2.jar", + "kind": "robot" + }, + "latest_observation": "f271d8c933ecd8d3", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6590.0, + "scores": [ + 2429.0, + 4161.0 + ], + "selected": "sadoner.killer 0.2" + }, + "completed_at": "2026-09-21T18:34:01Z", + "confirmation": null, + "delta_pct": -17.2, + "id": "f271d8c933ecd8d3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sadoner.killer 0.2", + "division": "roborumble", + "jar": "sadoner.killer_0.2.jar", + "jar_sha256": "2b079d9151b5d44b44594b79ee9f80e89289d7895aee5fe9dd2887ebab7ee702", + "key": "roborumble/sadoner.killer_0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5457.0, + "scores": [ + 2943.0, + 2514.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sam.ChipmunkDuelist_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sam.ChipmunkDuelist 1.0", + "division": "roborumble", + "jar": "sam.ChipmunkDuelist_1.0.jar", + "jar_sha256": "deafb337d58ec714d19b3488adb05d8ee1c937bf9eceb0dc583a4b8ff77fabb9", + "key": "roborumble/sam.ChipmunkDuelist_1.0.jar", + "kind": "robot" + }, + "latest_observation": "ddeb136fccccaf47", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4660.0, + "scores": [ + 2842.0, + 1818.0 + ], + "selected": "sam.ChipmunkDuelist 1.0" + }, + "completed_at": "2026-09-21T18:34:22Z", + "confirmation": null, + "delta_pct": -26.8, + "id": "ddeb136fccccaf47", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sam.ChipmunkDuelist 1.0", + "division": "roborumble", + "jar": "sam.ChipmunkDuelist_1.0.jar", + "jar_sha256": "deafb337d58ec714d19b3488adb05d8ee1c937bf9eceb0dc583a4b8ff77fabb9", + "key": "roborumble/sam.ChipmunkDuelist_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3411.0, + "scores": [ + 1739.0, + 1672.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/sam.Samspin_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sam.Samspin 1.0", + "division": "roborumble", + "jar": "sam.Samspin_1.0.jar", + "jar_sha256": "473d72d5ca7b6fbe977233b77e113a3102e2c52edb084549ad92363e049b3569", + "key": "roborumble/sam.Samspin_1.0.jar", + "kind": "robot" + }, + "latest_observation": "684a3443b50ac99f", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4872.0, + "scores": [ + 2710.0, + 2162.0 + ], + "selected": "sam.Samspin 1.0" + }, + "completed_at": "2026-09-21T18:34:39Z", + "confirmation": null, + "delta_pct": -0.8, + "id": "684a3443b50ac99f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sam.Samspin 1.0", + "division": "roborumble", + "jar": "sam.Samspin_1.0.jar", + "jar_sha256": "473d72d5ca7b6fbe977233b77e113a3102e2c52edb084549ad92363e049b3569", + "key": "roborumble/sam.Samspin_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4832.0, + "scores": [ + 2701.0, + 2131.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sample.Corners_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.Corners 1.0", + "division": "roborumble", + "jar": "sample.Corners_1.0.jar", + "jar_sha256": "41f641daba30b8ff817157a95370cc913563c11cd7d1d23a82de100711d9687f", + "key": "roborumble/sample.Corners_1.0.jar", + "kind": "robot" + }, + "latest_observation": "2d5107dbd6d0ded4", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12767.0, + "scores": [ + 6284.0, + 6483.0 + ], + "selected": "sample.Corners 1.0" + }, + "completed_at": "2026-09-21T18:34:56Z", + "confirmation": null, + "delta_pct": -33.4, + "id": "2d5107dbd6d0ded4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.Corners 1.0", + "division": "roborumble", + "jar": "sample.Corners_1.0.jar", + "jar_sha256": "41f641daba30b8ff817157a95370cc913563c11cd7d1d23a82de100711d9687f", + "key": "roborumble/sample.Corners_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8507.0, + "scores": [ + 4391.0, + 4116.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/sample.Crazy_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.Crazy 1.0", + "division": "roborumble", + "jar": "sample.Crazy_1.0.jar", + "jar_sha256": "4eccb9310152ed3287c2721e921f7504d74d6b23ef0d3dec80ac1178d336c46f", + "key": "roborumble/sample.Crazy_1.0.jar", + "kind": "robot" + }, + "latest_observation": "4ae3b689554154fc", + "observations": [ + { + "classic": { + "elapsed": 3.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3475.0, + "scores": [ + 1664.0, + 1811.0 + ], + "selected": "sample.Crazy 1.0" + }, + "completed_at": "2026-09-21T18:35:30Z", + "confirmation": null, + "delta_pct": -12.6, + "id": "4ae3b689554154fc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "23b21f03b57845a84d3831bba00f7247435008a2", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.Crazy 1.0", + "division": "roborumble", + "jar": "sample.Crazy_1.0.jar", + "jar_sha256": "4eccb9310152ed3287c2721e921f7504d74d6b23ef0d3dec80ac1178d336c46f", + "key": "roborumble/sample.Crazy_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3038.0, + "scores": [ + 1671.0, + 1367.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sample.Fire_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.Fire 1.0", + "division": "roborumble", + "jar": "sample.Fire_1.0.jar", + "jar_sha256": "3ae983beaea8ff1b71a76b7e4532f29ec31380329876b11c822b70052646626e", + "key": "roborumble/sample.Fire_1.0.jar", + "kind": "robot" + }, + "latest_observation": "b43af86d4766195b", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10973.0, + "scores": [ + 6010.0, + 4963.0 + ], + "selected": "sample.Fire 1.0" + }, + "completed_at": "2026-09-21T18:36:43Z", + "confirmation": null, + "delta_pct": -2.5, + "id": "b43af86d4766195b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.Fire 1.0", + "division": "roborumble", + "jar": "sample.Fire_1.0.jar", + "jar_sha256": "3ae983beaea8ff1b71a76b7e4532f29ec31380329876b11c822b70052646626e", + "key": "roborumble/sample.Fire_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 56.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10695.0, + "scores": [ + 5357.0, + 5338.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sample.MyFirstJuniorRobot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.MyFirstJuniorRobot 1.0", + "division": "roborumble", + "jar": "sample.MyFirstJuniorRobot_1.0.jar", + "jar_sha256": "f599aadbeb46fb2eaaf9b1b002e7ba55b582f01e5e22f754a6c9f23d355f2d36", + "key": "roborumble/sample.MyFirstJuniorRobot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "2a7678ff8a5e14a9", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4807.0, + "scores": [ + 2392.0, + 2415.0 + ], + "selected": "sample.MyFirstJuniorRobot 1.0" + }, + "completed_at": "2026-09-21T18:37:09Z", + "confirmation": null, + "delta_pct": 27.3, + "id": "2a7678ff8a5e14a9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.MyFirstJuniorRobot 1.0", + "division": "roborumble", + "jar": "sample.MyFirstJuniorRobot_1.0.jar", + "jar_sha256": "f599aadbeb46fb2eaaf9b1b002e7ba55b582f01e5e22f754a6c9f23d355f2d36", + "key": "roborumble/sample.MyFirstJuniorRobot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6118.0, + "scores": [ + 4175.0, + 1943.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/sample.MyFirstRobot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.MyFirstRobot 1.0", + "division": "roborumble", + "jar": "sample.MyFirstRobot_1.0.jar", + "jar_sha256": "8c58dcb5f6cb40176fd87aa282b15a8c472f51b4123aaf89590ef57587a0d019", + "key": "roborumble/sample.MyFirstRobot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "c6e2c8081614135b", + "observations": [ + { + "classic": { + "elapsed": 4.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3809.0, + "scores": [ + 1315.0, + 2494.0 + ], + "selected": "sample.MyFirstRobot 1.0" + }, + "completed_at": "2026-09-21T18:37:42Z", + "confirmation": null, + "delta_pct": -10.3, + "id": "c6e2c8081614135b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.MyFirstRobot 1.0", + "division": "roborumble", + "jar": "sample.MyFirstRobot_1.0.jar", + "jar_sha256": "8c58dcb5f6cb40176fd87aa282b15a8c472f51b4123aaf89590ef57587a0d019", + "key": "roborumble/sample.MyFirstRobot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3418.0, + "scores": [ + 1743.0, + 1675.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sample.RamFire_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.RamFire 1.0", + "division": "roborumble", + "jar": "sample.RamFire_1.0.jar", + "jar_sha256": "3b28197d9f70caa74f904ca4727a1308313da818b2deb4459c69740641131eb7", + "key": "roborumble/sample.RamFire_1.0.jar", + "kind": "robot" + }, + "latest_observation": "ec9da3f14d24ab34", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12257.0, + "scores": [ + 6678.0, + 5579.0 + ], + "selected": "sample.RamFire 1.0" + }, + "completed_at": "2026-09-21T18:37:54Z", + "confirmation": null, + "delta_pct": 2.6, + "id": "ec9da3f14d24ab34", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.RamFire 1.0", + "division": "roborumble", + "jar": "sample.RamFire_1.0.jar", + "jar_sha256": "3b28197d9f70caa74f904ca4727a1308313da818b2deb4459c69740641131eb7", + "key": "roborumble/sample.RamFire_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12579.0, + "scores": [ + 7113.0, + 5466.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sample.SittingDuck_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.SittingDuck 1.0", + "division": "roborumble", + "jar": "sample.SittingDuck_1.0.jar", + "jar_sha256": "6edd2d258998ad80a0283ee38178ec999bc3de4fc62bd41a6803a0c2a141386d", + "key": "roborumble/sample.SittingDuck_1.0.jar", + "kind": "robot" + }, + "latest_observation": "07fdadbcc4be79a6", + "observations": [ + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "sample.SittingDuck 1.0" + }, + "completed_at": "2026-09-21T18:38:28Z", + "confirmation": null, + "delta_pct": null, + "id": "07fdadbcc4be79a6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.SittingDuck 1.0", + "division": "roborumble", + "jar": "sample.SittingDuck_1.0.jar", + "jar_sha256": "6edd2d258998ad80a0283ee38178ec999bc3de4fc62bd41a6803a0c2a141386d", + "key": "roborumble/sample.SittingDuck_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/sample.SpinBot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.SpinBot 1.0", + "division": "roborumble", + "jar": "sample.SpinBot_1.0.jar", + "jar_sha256": "793a4a88c83facdcc76c1acd5ce5291ffe091e470200bcf79e0b4aed47415695", + "key": "roborumble/sample.SpinBot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "5e9544cde226d73b", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5852.0, + "scores": [ + 2843.0, + 3009.0 + ], + "selected": "sample.SpinBot 1.0" + }, + "completed_at": "2026-09-21T18:38:51Z", + "confirmation": null, + "delta_pct": -3.1, + "id": "5e9544cde226d73b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.SpinBot 1.0", + "division": "roborumble", + "jar": "sample.SpinBot_1.0.jar", + "jar_sha256": "793a4a88c83facdcc76c1acd5ce5291ffe091e470200bcf79e0b4aed47415695", + "key": "roborumble/sample.SpinBot_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5672.0, + "scores": [ + 3186.0, + 2486.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sample.Target_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.Target 1.0", + "division": "roborumble", + "jar": "sample.Target_1.0.jar", + "jar_sha256": "5427a67b94ce815b2e9f7810fcb1454f35d42e5776accebf0d6cc2b8985086a7", + "key": "roborumble/sample.Target_1.0.jar", + "kind": "robot" + }, + "latest_observation": "24dc7015b6b09ccd", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1326.0, + "scores": [ + 724.0, + 602.0 + ], + "selected": "sample.Target 1.0" + }, + "completed_at": "2026-09-21T18:39:25Z", + "confirmation": null, + "delta_pct": 4.4, + "id": "24dc7015b6b09ccd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.Target 1.0", + "division": "roborumble", + "jar": "sample.Target_1.0.jar", + "jar_sha256": "5427a67b94ce815b2e9f7810fcb1454f35d42e5776accebf0d6cc2b8985086a7", + "key": "roborumble/sample.Target_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1385.0, + "scores": [ + 721.0, + 664.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sample.TrackFire_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.TrackFire 1.0", + "division": "roborumble", + "jar": "sample.TrackFire_1.0.jar", + "jar_sha256": "5baf3b6300087d024dd0f091f9f3a3f6d09364e076f3f8ee8f98d5d2b9b0a250", + "key": "roborumble/sample.TrackFire_1.0.jar", + "kind": "robot" + }, + "latest_observation": "24c9fa1ec5ca3bb0", + "observations": [ + { + "classic": { + "elapsed": 2.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12792.0, + "scores": [ + 6498.0, + 6294.0 + ], + "selected": "sample.TrackFire 1.0" + }, + "completed_at": "2026-09-21T18:39:54Z", + "confirmation": null, + "delta_pct": -7.4, + "id": "24c9fa1ec5ca3bb0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.TrackFire 1.0", + "division": "roborumble", + "jar": "sample.TrackFire_1.0.jar", + "jar_sha256": "5baf3b6300087d024dd0f091f9f3a3f6d09364e076f3f8ee8f98d5d2b9b0a250", + "key": "roborumble/sample.TrackFire_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11847.0, + "scores": [ + 6510.0, + 5337.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sample.Tracker_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.Tracker 1.0", + "division": "roborumble", + "jar": "sample.Tracker_1.0.jar", + "jar_sha256": "47dc65e3e3625dc71e913452cec1a64b28fa998f508c27e36a3e3be6e9ce4c0e", + "key": "roborumble/sample.Tracker_1.0.jar", + "kind": "robot" + }, + "latest_observation": "a2fdcbaf4c1d4b78", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12896.0, + "scores": [ + 6768.0, + 6128.0 + ], + "selected": "sample.Tracker 1.0" + }, + "completed_at": "2026-09-21T18:39:39Z", + "confirmation": null, + "delta_pct": -0.9, + "id": "a2fdcbaf4c1d4b78", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.Tracker 1.0", + "division": "roborumble", + "jar": "sample.Tracker_1.0.jar", + "jar_sha256": "47dc65e3e3625dc71e913452cec1a64b28fa998f508c27e36a3e3be6e9ce4c0e", + "key": "roborumble/sample.Tracker_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12782.0, + "scores": [ + 6498.0, + 6284.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sample.VelociRobot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.VelociRobot 1.0", + "division": "roborumble", + "jar": "sample.VelociRobot_1.0.jar", + "jar_sha256": "c397cfc8a234f4ed72301029420ddfd82d326b53505a2e93f30db0e8119f74d8", + "key": "roborumble/sample.VelociRobot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "5d0fc0dbc14c49c6", + "observations": [ + { + "classic": { + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6984.0, + "scores": [ + 3566.0, + 3418.0 + ], + "selected": "sample.VelociRobot 1.0" + }, + "completed_at": "2026-09-21T18:40:27Z", + "confirmation": null, + "delta_pct": 48.7, + "id": "5d0fc0dbc14c49c6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.VelociRobot 1.0", + "division": "roborumble", + "jar": "sample.VelociRobot_1.0.jar", + "jar_sha256": "c397cfc8a234f4ed72301029420ddfd82d326b53505a2e93f30db0e8119f74d8", + "key": "roborumble/sample.VelociRobot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10386.0, + "scores": [ + 5261.0, + 5125.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/sample.Walls_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sample.Walls 1.0", + "division": "roborumble", + "jar": "sample.Walls_1.0.jar", + "jar_sha256": "c6c534b988d79a955fd018b2c32eb5c04d1f75d298fbdc975a035ee813fe8348", + "key": "roborumble/sample.Walls_1.0.jar", + "kind": "robot" + }, + "latest_observation": "bbdf1b95f6084538", + "observations": [ + { + "classic": { + "elapsed": 4.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2711.0, + "scores": [ + 1504.0, + 1207.0 + ], + "selected": "sample.Walls 1.0" + }, + "completed_at": "2026-09-21T18:40:56Z", + "confirmation": null, + "delta_pct": 33.9, + "id": "bbdf1b95f6084538", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sample.Walls 1.0", + "division": "roborumble", + "jar": "sample.Walls_1.0.jar", + "jar_sha256": "c6c534b988d79a955fd018b2c32eb5c04d1f75d298fbdc975a035ee813fe8348", + "key": "roborumble/sample.Walls_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3630.0, + "scores": [ + 2039.0, + 1591.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/sanyi.mikrobi.Roberto_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sanyi.mikrobi.Roberto 1.0", + "division": "roborumble", + "jar": "sanyi.mikrobi.Roberto_1.0.jar", + "jar_sha256": "e930e5d24f3bb37e7fc613672a5d202ffed87f17d6feb9964ada71abaf9997d8", + "key": "roborumble/sanyi.mikrobi.Roberto_1.0.jar", + "kind": "robot" + }, + "latest_observation": "7415abddd9e7a6cf", + "observations": [ + { + "classic": { + "elapsed": 2.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7468.0, + "scores": [ + 3839.0, + 3629.0 + ], + "selected": "sanyi.mikrobi.Roberto 1.0" + }, + "completed_at": "2026-09-21T18:41:31Z", + "confirmation": null, + "delta_pct": -20.4, + "id": "7415abddd9e7a6cf", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sanyi.mikrobi.Roberto 1.0", + "division": "roborumble", + "jar": "sanyi.mikrobi.Roberto_1.0.jar", + "jar_sha256": "e930e5d24f3bb37e7fc613672a5d202ffed87f17d6feb9964ada71abaf9997d8", + "key": "roborumble/sanyi.mikrobi.Roberto_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5942.0, + "scores": [ + 3380.0, + 2562.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/satan.R0_0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "satan.R0 0.2", + "division": "roborumble", + "jar": "satan.R0_0.2.jar", + "jar_sha256": "3974e02626d6b8c1df6a42746c39289f3ee07108bdf2809db03df73b8b2e1b41", + "key": "roborumble/satan.R0_0.2.jar", + "kind": "robot" + }, + "latest_observation": "61afc6337d7d111f", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8794.0, + "scores": [ + 4132.0, + 4662.0 + ], + "selected": "satan.R0 0.2" + }, + "completed_at": "2026-09-21T18:41:46Z", + "confirmation": null, + "delta_pct": 28.6, + "id": "61afc6337d7d111f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "satan.R0 0.2", + "division": "roborumble", + "jar": "satan.R0_0.2.jar", + "jar_sha256": "3974e02626d6b8c1df6a42746c39289f3ee07108bdf2809db03df73b8b2e1b41", + "key": "roborumble/satan.R0_0.2.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11309.0, + "scores": [ + 6165.0, + 5144.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/satan.White_0.26.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "satan.White 0.26", + "division": "roborumble", + "jar": "satan.White_0.26.jar", + "jar_sha256": "05fc33fb3c7b91fe411c0d21f3cc98651b08842c7aedf6ee37ace184457b31db", + "key": "roborumble/satan.White_0.26.jar", + "kind": "robot" + }, + "latest_observation": "3c7d82cc0daa89f4", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5715.0, + "scores": [ + 2405.0, + 3310.0 + ], + "selected": "satan.White 0.26" + }, + "completed_at": "2026-09-21T18:42:11Z", + "confirmation": null, + "delta_pct": -1.6, + "id": "3c7d82cc0daa89f4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "satan.White 0.26", + "division": "roborumble", + "jar": "satan.White_0.26.jar", + "jar_sha256": "05fc33fb3c7b91fe411c0d21f3cc98651b08842c7aedf6ee37ace184457b31db", + "key": "roborumble/satan.White_0.26.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5622.0, + "scores": [ + 2923.0, + 2699.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sch.Simone_0.3d.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sch.Simone 0.3d", + "division": "roborumble", + "jar": "sch.Simone_0.3d.jar", + "jar_sha256": "c09f757d7d9b5ee04e16cdcd6981c537633f5c0b9afc664568c31d6523f18233", + "key": "roborumble/sch.Simone_0.3d.jar", + "kind": "robot" + }, + "latest_observation": "b39798e5a56ca596", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9614.0, + "scores": [ + 4367.0, + 5247.0 + ], + "selected": "sch.Simone 0.3d" + }, + "completed_at": "2026-09-21T18:42:32Z", + "confirmation": null, + "delta_pct": 1.2, + "id": "b39798e5a56ca596", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sch.Simone 0.3d", + "division": "roborumble", + "jar": "sch.Simone_0.3d.jar", + "jar_sha256": "c09f757d7d9b5ee04e16cdcd6981c537633f5c0b9afc664568c31d6523f18233", + "key": "roborumble/sch.Simone_0.3d.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9728.0, + "scores": [ + 5019.0, + 4709.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/seed.Anastasia_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "seed.Anastasia 1.0", + "division": "roborumble", + "jar": "seed.Anastasia_1.0.jar", + "jar_sha256": "2255f4bdc9174685389338d122cd8569dd68ff8e49bb4a0077f8cda4377b2593", + "key": "roborumble/seed.Anastasia_1.0.jar", + "kind": "robot" + }, + "latest_observation": "a24a754eeda697a6", + "observations": [ + { + "classic": { + "elapsed": 28.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5631.0, + "scores": [ + 2720.0, + 2911.0 + ], + "selected": "seed.Anastasia 1.0" + }, + "completed_at": "2026-09-21T18:46:48Z", + "confirmation": null, + "delta_pct": -15.9, + "id": "a24a754eeda697a6", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "seed.Anastasia 1.0", + "division": "roborumble", + "jar": "seed.Anastasia_1.0.jar", + "jar_sha256": "2255f4bdc9174685389338d122cd8569dd68ff8e49bb4a0077f8cda4377b2593", + "key": "roborumble/seed.Anastasia_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 226.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4734.0, + "scores": [ + 2411.0, + 2323.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/seed.Weed_3.0.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "seed.Weed 3.0.2", + "division": "roborumble", + "jar": "seed.Weed_3.0.2.jar", + "jar_sha256": "1a26ff686dc01f070bd8cee85ee724e12bfe60a863348adde38c03d95500d688", + "key": "roborumble/seed.Weed_3.0.2.jar", + "kind": "robot" + }, + "latest_observation": "e9567d82b1af707f", + "observations": [ + { + "classic": { + "elapsed": 29.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4851.0, + "scores": [ + 2577.0, + 2274.0 + ], + "selected": "seed.Weed 3.0.2" + }, + "completed_at": "2026-09-21T18:48:27Z", + "confirmation": null, + "delta_pct": -11.9, + "id": "e9567d82b1af707f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "seed.Weed 3.0.2", + "division": "roborumble", + "jar": "seed.Weed_3.0.2.jar", + "jar_sha256": "1a26ff686dc01f070bd8cee85ee724e12bfe60a863348adde38c03d95500d688", + "key": "roborumble/seed.Weed_3.0.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 70.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4273.0, + "scores": [ + 2259.0, + 2014.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/serenity.moonlightBat_1.17.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "serenity.moonlightBat 1.17", + "division": "roborumble", + "jar": "serenity.moonlightBat_1.17.jar", + "jar_sha256": "194ffa964998fd371d93bee9d7c03d6f1ca1d43ae08cdc42c8dbd1f47bece1dc", + "key": "roborumble/serenity.moonlightBat_1.17.jar", + "kind": "robot" + }, + "latest_observation": "44eb7eaacb59beb0", + "observations": [ + { + "classic": { + "elapsed": 8.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4391.0, + "scores": [ + 2013.0, + 2378.0 + ], + "selected": "serenity.moonlightBat 1.17" + }, + "completed_at": "2026-09-21T18:48:44Z", + "confirmation": null, + "delta_pct": null, + "id": "44eb7eaacb59beb0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "serenity.moonlightBat 1.17", + "division": "roborumble", + "jar": "serenity.moonlightBat_1.17.jar", + "jar_sha256": "194ffa964998fd371d93bee9d7c03d6f1ca1d43ae08cdc42c8dbd1f47bece1dc", + "key": "roborumble/serenity.moonlightBat_1.17.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.UnsupportedOperationException", + "serenity.moonlightBat.onWin" + ] + ], + "elapsed": 8.2, + "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.UnsupportedOperationException", + "origin": "serenity.moonlightBat.onWin" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.UnsupportedOperationException: stop(overwrite=true) is unsupported. Contact Robocode Tank Royale author for support", + "java.lang.UnsupportedOperationException: stop(overwrite=true) is unsupported. Contact Robocode Tank Royale author for support" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/serenity.nonSense_1.39.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "serenity.nonSense 1.39", + "division": "roborumble", + "jar": "serenity.nonSense_1.39.jar", + "jar_sha256": "d9a44e52b69bf57a294a0fc371e93ccee65ff2ffdbd510124f6e894e35da4363", + "key": "roborumble/serenity.nonSense_1.39.jar", + "kind": "robot" + }, + "latest_observation": "e7b9e2fb0928a518", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5022.0, + "scores": [ + 2661.0, + 2361.0 + ], + "selected": "serenity.nonSense 1.39" + }, + "completed_at": "2026-09-21T18:49:10Z", + "confirmation": null, + "delta_pct": -2.3, + "id": "e7b9e2fb0928a518", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "serenity.nonSense 1.39", + "division": "roborumble", + "jar": "serenity.nonSense_1.39.jar", + "jar_sha256": "d9a44e52b69bf57a294a0fc371e93ccee65ff2ffdbd510124f6e894e35da4363", + "key": "roborumble/serenity.nonSense_1.39.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4904.0, + "scores": [ + 2491.0, + 2413.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/serenity.serenityFire_1.29.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "serenity.serenityFire 1.29", + "division": "roborumble", + "jar": "serenity.serenityFire_1.29.jar", + "jar_sha256": "a191e2fe610b5890b37c59931791d89252327651ff8fc522fcba9bfda226fb15", + "key": "roborumble/serenity.serenityFire_1.29.jar", + "kind": "robot" + }, + "latest_observation": "4d3b5c23395b4c05", + "observations": [ + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5275.0, + "scores": [ + 2551.0, + 2724.0 + ], + "selected": "serenity.serenityFire 1.29" + }, + "completed_at": "2026-09-21T18:49:39Z", + "confirmation": null, + "delta_pct": -3.5, + "id": "4d3b5c23395b4c05", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "serenity.serenityFire 1.29", + "division": "roborumble", + "jar": "serenity.serenityFire_1.29.jar", + "jar_sha256": "a191e2fe610b5890b37c59931791d89252327651ff8fc522fcba9bfda226fb15", + "key": "roborumble/serenity.serenityFire_1.29.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5093.0, + "scores": [ + 2566.0, + 2527.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sgp.JollyNinja_3.53.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sgp.JollyNinja 3.53", + "division": "roborumble", + "jar": "sgp.JollyNinja_3.53.jar", + "jar_sha256": "1fc62e0697b91ec8a497fbb1f02f18195fa7397a4e8f171e5de43cec0318313b", + "key": "roborumble/sgp.JollyNinja_3.53.jar", + "kind": "robot" + }, + "latest_observation": "fb3b063e3ea768d0", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4597.0, + "scores": [ + 2659.0, + 1938.0 + ], + "selected": "sgp.JollyNinja 3.53" + }, + "completed_at": "2026-09-21T18:52:22Z", + "confirmation": null, + "delta_pct": -25.9, + "id": "fb3b063e3ea768d0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sgp.JollyNinja 3.53", + "division": "roborumble", + "jar": "sgp.JollyNinja_3.53.jar", + "jar_sha256": "1fc62e0697b91ec8a497fbb1f02f18195fa7397a4e8f171e5de43cec0318313b", + "key": "roborumble/sgp.JollyNinja_3.53.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 134.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3406.0, + "scores": [ + 2001.0, + 1405.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/sgp.MadHatter_4.13.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sgp.MadHatter 4.13", + "division": "roborumble", + "jar": "sgp.MadHatter_4.13.jar", + "jar_sha256": "01d8020cd6a6421ece8849dd02ddeee46c70fa630039ac498f38f44d7dd711e9", + "key": "roborumble/sgp.MadHatter_4.13.jar", + "kind": "robot" + }, + "latest_observation": "124413cdb1d864a5", + "observations": [ + { + "classic": { + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5955.0, + "scores": [ + 3466.0, + 2489.0 + ], + "selected": "sgp.MadHatter 4.13" + }, + "completed_at": "2026-09-21T18:52:47Z", + "confirmation": null, + "delta_pct": -22.4, + "id": "124413cdb1d864a5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sgp.MadHatter 4.13", + "division": "roborumble", + "jar": "sgp.MadHatter_4.13.jar", + "jar_sha256": "01d8020cd6a6421ece8849dd02ddeee46c70fa630039ac498f38f44d7dd711e9", + "key": "roborumble/sgp.MadHatter_4.13.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4624.0, + "scores": [ + 2452.0, + 2172.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sgp.ShiningBeetle_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sgp.ShiningBeetle 1.1", + "division": "roborumble", + "jar": "sgp.ShiningBeetle_1.1.jar", + "jar_sha256": "7c6fa66afacbd219fc2c273bcbe550757f1e44f11a7f2ed0516e525c0df81638", + "key": "roborumble/sgp.ShiningBeetle_1.1.jar", + "kind": "robot" + }, + "latest_observation": "a6e716db052d2df1", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5479.0, + "scores": [ + 2822.0, + 2657.0 + ], + "selected": "sgp.ShiningBeetle 1.1" + }, + "completed_at": "2026-09-21T18:53:19Z", + "confirmation": null, + "delta_pct": -3.4, + "id": "a6e716db052d2df1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sgp.ShiningBeetle 1.1", + "division": "roborumble", + "jar": "sgp.ShiningBeetle_1.1.jar", + "jar_sha256": "7c6fa66afacbd219fc2c273bcbe550757f1e44f11a7f2ed0516e525c0df81638", + "key": "roborumble/sgp.ShiningBeetle_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5293.0, + "scores": [ + 2787.0, + 2506.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sgp.SleepingGoat_1.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sgp.SleepingGoat 1.1", + "division": "roborumble", + "jar": "sgp.SleepingGoat_1.1.jar", + "jar_sha256": "5c610121ed169d7a1c3440bd75e2d49d4b1187e5200cfaa09833f151b43e52f1", + "key": "roborumble/sgp.SleepingGoat_1.1.jar", + "kind": "robot" + }, + "latest_observation": "719e881d80dac4dd", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4936.0, + "scores": [ + 2419.0, + 2517.0 + ], + "selected": "sgp.SleepingGoat 1.1" + }, + "completed_at": "2026-09-21T18:53:50Z", + "confirmation": null, + "delta_pct": -16.3, + "id": "719e881d80dac4dd", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sgp.SleepingGoat 1.1", + "division": "roborumble", + "jar": "sgp.SleepingGoat_1.1.jar", + "jar_sha256": "5c610121ed169d7a1c3440bd75e2d49d4b1187e5200cfaa09833f151b43e52f1", + "key": "roborumble/sgp.SleepingGoat_1.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4130.0, + "scores": [ + 2095.0, + 2035.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sgp.nano.FurryLeech_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sgp.nano.FurryLeech 1.0", + "division": "roborumble", + "jar": "sgp.nano.FurryLeech_1.0.jar", + "jar_sha256": "6eac74cc128d72d49e9daad45fbe6efa375df7e97f62fa8785bf19950f128a4d", + "key": "roborumble/sgp.nano.FurryLeech_1.0.jar", + "kind": "robot" + }, + "latest_observation": "0beaaf5d752a8fc0", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6263.0, + "scores": [ + 3186.0, + 3077.0 + ], + "selected": "sgp.nano.FurryLeech 1.0" + }, + "completed_at": "2026-09-21T18:53:02Z", + "confirmation": null, + "delta_pct": 9.1, + "id": "0beaaf5d752a8fc0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "63d0dd717b2960b1bb2c3cf6661330549cd1df1d", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sgp.nano.FurryLeech 1.0", + "division": "roborumble", + "jar": "sgp.nano.FurryLeech_1.0.jar", + "jar_sha256": "6eac74cc128d72d49e9daad45fbe6efa375df7e97f62fa8785bf19950f128a4d", + "key": "roborumble/sgp.nano.FurryLeech_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6831.0, + "scores": [ + 3861.0, + 2970.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sheldor.melee.nano.TestMelee_0.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.melee.nano.TestMelee 0.1", + "division": "roborumble", + "jar": "sheldor.melee.nano.TestMelee_0.1.jar", + "jar_sha256": "e3a743d71b477f0cbc0b80ba9100389cfd8b76f781013781668fc512fbca454e", + "key": "roborumble/sheldor.melee.nano.TestMelee_0.1.jar", + "kind": "robot" + }, + "latest_observation": "7b3dfdb88d5308dc", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5855.0, + "scores": [ + 2618.0, + 3237.0 + ], + "selected": "sheldor.melee.nano.TestMelee 0.1" + }, + "completed_at": "2026-09-21T18:54:40Z", + "confirmation": null, + "delta_pct": -13.1, + "id": "7b3dfdb88d5308dc", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.melee.nano.TestMelee 0.1", + "division": "roborumble", + "jar": "sheldor.melee.nano.TestMelee_0.1.jar", + "jar_sha256": "e3a743d71b477f0cbc0b80ba9100389cfd8b76f781013781668fc512fbca454e", + "key": "roborumble/sheldor.melee.nano.TestMelee_0.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5090.0, + "scores": [ + 2645.0, + 2445.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sheldor.micro.EpeeistMicro_2.1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.micro.EpeeistMicro 2.1.0", + "division": "roborumble", + "jar": "sheldor.micro.EpeeistMicro_2.1.0.jar", + "jar_sha256": "0199719a8deef958abf1bee56a1dd9be5fdf7ed309d3b72e512670f43c8a5060", + "key": "roborumble/sheldor.micro.EpeeistMicro_2.1.0.jar", + "kind": "robot" + }, + "latest_observation": "89631887b05fc716", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4888.0, + "scores": [ + 2404.0, + 2484.0 + ], + "selected": "sheldor.micro.EpeeistMicro 2.1.0" + }, + "completed_at": "2026-09-21T18:55:03Z", + "confirmation": null, + "delta_pct": -45.8, + "id": "89631887b05fc716", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.micro.EpeeistMicro 2.1.0", + "division": "roborumble", + "jar": "sheldor.micro.EpeeistMicro_2.1.0.jar", + "jar_sha256": "0199719a8deef958abf1bee56a1dd9be5fdf7ed309d3b72e512670f43c8a5060", + "key": "roborumble/sheldor.micro.EpeeistMicro_2.1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2650.0, + "scores": [ + 1407.0, + 1243.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/sheldor.micro.FoilistMicro_1.2.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.micro.FoilistMicro 1.2.0", + "division": "roborumble", + "jar": "sheldor.micro.FoilistMicro_1.2.0.jar", + "jar_sha256": "d59bc0260e249a4d07f9db731dbbe6426be1f3d9d45f72d20c66320af911dd35", + "key": "roborumble/sheldor.micro.FoilistMicro_1.2.0.jar", + "kind": "robot" + }, + "latest_observation": "41c445c3ceb46c03", + "observations": [ + { + "classic": { + "elapsed": 8.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4877.0, + "scores": [ + 2319.0, + 2558.0 + ], + "selected": "sheldor.micro.FoilistMicro 1.2.0" + }, + "completed_at": "2026-09-21T18:55:46Z", + "confirmation": null, + "delta_pct": -23.1, + "id": "41c445c3ceb46c03", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.micro.FoilistMicro 1.2.0", + "division": "roborumble", + "jar": "sheldor.micro.FoilistMicro_1.2.0.jar", + "jar_sha256": "d59bc0260e249a4d07f9db731dbbe6426be1f3d9d45f72d20c66320af911dd35", + "key": "roborumble/sheldor.micro.FoilistMicro_1.2.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3751.0, + "scores": [ + 1881.0, + 1870.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sheldor.nano.Epeeist_1.1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.nano.Epeeist 1.1.0", + "division": "roborumble", + "jar": "sheldor.nano.Epeeist_1.1.0.jar", + "jar_sha256": "63fbefdac2b48ef451700e1d53d177deb1f359c69927306ab8705ffc6644d63d", + "key": "roborumble/sheldor.nano.Epeeist_1.1.0.jar", + "kind": "robot" + }, + "latest_observation": "48a5fc29962fb5be", + "observations": [ + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4869.0, + "scores": [ + 2667.0, + 2202.0 + ], + "selected": "sheldor.nano.Epeeist 1.1.0" + }, + "completed_at": "2026-09-21T18:56:06Z", + "confirmation": null, + "delta_pct": 1.3, + "id": "48a5fc29962fb5be", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.nano.Epeeist 1.1.0", + "division": "roborumble", + "jar": "sheldor.nano.Epeeist_1.1.0.jar", + "jar_sha256": "63fbefdac2b48ef451700e1d53d177deb1f359c69927306ab8705ffc6644d63d", + "key": "roborumble/sheldor.nano.Epeeist_1.1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4931.0, + "scores": [ + 2935.0, + 1996.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sheldor.nano.Foilist_2.0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.nano.Foilist 2.0.0", + "division": "roborumble", + "jar": "sheldor.nano.Foilist_2.0.0.jar", + "jar_sha256": "adaba1c9dbd6bf2bb6b27541453867ab8f5d23f2a95ab1f3f7797de65e88a49b", + "key": "roborumble/sheldor.nano.Foilist_2.0.0.jar", + "kind": "robot" + }, + "latest_observation": "a9291baebe7ee188", + "observations": [ + { + "classic": { + "elapsed": 3.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5567.0, + "scores": [ + 2904.0, + 2663.0 + ], + "selected": "sheldor.nano.Foilist 2.0.0" + }, + "completed_at": "2026-09-21T18:56:27Z", + "confirmation": null, + "delta_pct": -18.8, + "id": "a9291baebe7ee188", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.nano.Foilist 2.0.0", + "division": "roborumble", + "jar": "sheldor.nano.Foilist_2.0.0.jar", + "jar_sha256": "adaba1c9dbd6bf2bb6b27541453867ab8f5d23f2a95ab1f3f7797de65e88a49b", + "key": "roborumble/sheldor.nano.Foilist_2.0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4522.0, + "scores": [ + 2655.0, + 1867.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sheldor.nano.PointInLineRRAL_1.0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.nano.PointInLineRRAL 1.0.0", + "division": "roborumble", + "jar": "sheldor.nano.PointInLineRRAL_1.0.0.jar", + "jar_sha256": "3425dfbdffa4e90751714d24af9b351cda0bb1c9ec30eac39619730c5e409faa", + "key": "roborumble/sheldor.nano.PointInLineRRAL_1.0.0.jar", + "kind": "robot" + }, + "latest_observation": "cb7a7868e85b40de", + "observations": [ + { + "classic": { + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5665.0, + "scores": [ + 2786.0, + 2879.0 + ], + "selected": "sheldor.nano.PointInLineRRAL 1.0.0" + }, + "completed_at": "2026-09-21T18:57:03Z", + "confirmation": null, + "delta_pct": -12.0, + "id": "cb7a7868e85b40de", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.nano.PointInLineRRAL 1.0.0", + "division": "roborumble", + "jar": "sheldor.nano.PointInLineRRAL_1.0.0.jar", + "jar_sha256": "3425dfbdffa4e90751714d24af9b351cda0bb1c9ec30eac39619730c5e409faa", + "key": "roborumble/sheldor.nano.PointInLineRRAL_1.0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4984.0, + "scores": [ + 2608.0, + 2376.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sheldor.nano.PointInLine_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.nano.PointInLine 1.0", + "division": "roborumble", + "jar": "sheldor.nano.PointInLine_1.0.jar", + "jar_sha256": "41b582292bcc0b4abbd58d4ede0bfef301fec5b9f4a66af4d92c92935f05e334", + "key": "roborumble/sheldor.nano.PointInLine_1.0.jar", + "kind": "robot" + }, + "latest_observation": "2c5b6a6a1a2c23b4", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4746.0, + "scores": [ + 2087.0, + 2659.0 + ], + "selected": "sheldor.nano.PointInLine 1.0" + }, + "completed_at": "2026-09-21T18:56:42Z", + "confirmation": null, + "delta_pct": -41.8, + "id": "2c5b6a6a1a2c23b4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.nano.PointInLine 1.0", + "division": "roborumble", + "jar": "sheldor.nano.PointInLine_1.0.jar", + "jar_sha256": "41b582292bcc0b4abbd58d4ede0bfef301fec5b9f4a66af4d92c92935f05e334", + "key": "roborumble/sheldor.nano.PointInLine_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2761.0, + "scores": [ + 1393.0, + 1368.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/sheldor.nano.Retreat_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.nano.Retreat 1.0", + "division": "roborumble", + "jar": "sheldor.nano.Retreat_1.0.jar", + "jar_sha256": "e8d76a8da9ca6745285c5e04000c084fef911d2d0d3648c00f7fcc97527d7074", + "key": "roborumble/sheldor.nano.Retreat_1.0.jar", + "kind": "robot" + }, + "latest_observation": "140da97590563c7c", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "sheldor.nano.Retreat 1.0" + }, + "completed_at": "2026-09-21T18:57:25Z", + "confirmation": null, + "delta_pct": null, + "id": "140da97590563c7c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.nano.Retreat 1.0", + "division": "roborumble", + "jar": "sheldor.nano.Retreat_1.0.jar", + "jar_sha256": "e8d76a8da9ca6745285c5e04000c084fef911d2d0d3648c00f7fcc97527d7074", + "key": "roborumble/sheldor.nano.Retreat_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (no score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 1620.0, + "scores": [ + 840.0, + 780.0 + ], + "skipped": null + } + } + ], + "status": "DISCREPANCY (no score)" + }, + "roborumble/sheldor.nano.Sabreur_1.1.2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.nano.Sabreur 1.1.2", + "division": "roborumble", + "jar": "sheldor.nano.Sabreur_1.1.2.jar", + "jar_sha256": "de214f8560dd7d003ee1556ae5bfe59f8a070f0b8a79577f7f6d16598fcd0dbc", + "key": "roborumble/sheldor.nano.Sabreur_1.1.2.jar", + "kind": "robot" + }, + "latest_observation": "b29f723fa1835966", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10019.0, + "scores": [ + 4962.0, + 5057.0 + ], + "selected": "sheldor.nano.Sabreur 1.1.2" + }, + "completed_at": "2026-09-21T18:57:39Z", + "confirmation": null, + "delta_pct": 10.2, + "id": "b29f723fa1835966", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.nano.Sabreur 1.1.2", + "division": "roborumble", + "jar": "sheldor.nano.Sabreur_1.1.2.jar", + "jar_sha256": "de214f8560dd7d003ee1556ae5bfe59f8a070f0b8a79577f7f6d16598fcd0dbc", + "key": "roborumble/sheldor.nano.Sabreur_1.1.2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11045.0, + "scores": [ + 5872.0, + 5173.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sheldor.nano.Sabreuse_1.0.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sheldor.nano.Sabreuse 1.0.0", + "division": "roborumble", + "jar": "sheldor.nano.Sabreuse_1.0.0.jar", + "jar_sha256": "a47483cc896d16d0fcaa3fed6f02bec7f79a38acf8b90797d0974f7304b4ee67", + "key": "roborumble/sheldor.nano.Sabreuse_1.0.0.jar", + "kind": "robot" + }, + "latest_observation": "6dd278eb62af9c3c", + "observations": [ + { + "classic": { + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 11113.0, + "scores": [ + 6555.0, + 4558.0 + ], + "selected": "sheldor.nano.Sabreuse 1.0.0" + }, + "completed_at": "2026-09-21T18:57:52Z", + "confirmation": null, + "delta_pct": -4.8, + "id": "6dd278eb62af9c3c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sheldor.nano.Sabreuse 1.0.0", + "division": "roborumble", + "jar": "sheldor.nano.Sabreuse_1.0.0.jar", + "jar_sha256": "a47483cc896d16d0fcaa3fed6f02bec7f79a38acf8b90797d0974f7304b4ee67", + "key": "roborumble/sheldor.nano.Sabreuse_1.0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10582.0, + "scores": [ + 6558.0, + 4024.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/shinh.Entangled_0.3.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "shinh.Entangled 0.3", + "division": "roborumble", + "jar": "shinh.Entangled_0.3.jar", + "jar_sha256": "f0de722ee60e2817604f3e9ad2ebb300500f14699888827c3531fdc07fdba891", + "key": "roborumble/shinh.Entangled_0.3.jar", + "kind": "robot" + }, + "latest_observation": "9a69cae89c4de3ec", + "observations": [ + { + "classic": { + "elapsed": 4.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5880.0, + "scores": [ + 2838.0, + 3042.0 + ], + "selected": "shinh.Entangled 0.3" + }, + "completed_at": "2026-09-21T18:58:14Z", + "confirmation": null, + "delta_pct": 38.6, + "id": "9a69cae89c4de3ec", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "shinh.Entangled 0.3", + "division": "roborumble", + "jar": "shinh.Entangled_0.3.jar", + "jar_sha256": "f0de722ee60e2817604f3e9ad2ebb300500f14699888827c3531fdc07fdba891", + "key": "roborumble/shinh.Entangled_0.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8152.0, + "scores": [ + 4289.0, + 3863.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/shrub.Silver_v048.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "shrub.Silver v048", + "division": "roborumble", + "jar": "shrub.Silver_v048.jar", + "jar_sha256": "80cf8b7fd98df486f523f946f288f2d398e60187f73fd48e0f0a82c485c3a5d9", + "key": "roborumble/shrub.Silver_v048.jar", + "kind": "robot" + }, + "latest_observation": "cd4d057bb7d5e85c", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 9814.0, + "scores": [ + 4841.0, + 4973.0 + ], + "selected": "shrub.Silver v048" + }, + "completed_at": "2026-09-21T18:58:35Z", + "confirmation": null, + "delta_pct": -16.7, + "id": "cd4d057bb7d5e85c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "shrub.Silver v048", + "division": "roborumble", + "jar": "shrub.Silver_v048.jar", + "jar_sha256": "80cf8b7fd98df486f523f946f288f2d398e60187f73fd48e0f0a82c485c3a5d9", + "key": "roborumble/shrub.Silver_v048.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8174.0, + "scores": [ + 4344.0, + 3830.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/shrub.Vapour_v159.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "shrub.Vapour v159", + "division": "roborumble", + "jar": "shrub.Vapour_v159.jar", + "jar_sha256": "11d34a089d1c81573c3aba60cd59d6ca3eaeffd0097662ea2887ad832eab4440", + "key": "roborumble/shrub.Vapour_v159.jar", + "kind": "robot" + }, + "latest_observation": "f8d04f7031f24f7f", + "observations": [ + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5649.0, + "scores": [ + 3317.0, + 2332.0 + ], + "selected": "shrub.Vapour v159" + }, + "completed_at": "2026-09-21T18:59:01Z", + "confirmation": null, + "delta_pct": -6.7, + "id": "f8d04f7031f24f7f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "shrub.Vapour v159", + "division": "roborumble", + "jar": "shrub.Vapour_v159.jar", + "jar_sha256": "11d34a089d1c81573c3aba60cd59d6ca3eaeffd0097662ea2887ad832eab4440", + "key": "roborumble/shrub.Vapour_v159.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5272.0, + "scores": [ + 2977.0, + 2295.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/shu.nitro.LENIN_.T34.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "shu.nitro.LENIN .T34", + "division": "roborumble", + "jar": "shu.nitro.LENIN_.T34.jar", + "jar_sha256": "e2bb1b6607e6dc92dbdf646ed25abaa5b55444a1d369761d66435395dc25f946", + "key": "roborumble/shu.nitro.LENIN_.T34.jar", + "kind": "robot" + }, + "latest_observation": "8a9ad8559b04d0a4", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6607.0, + "scores": [ + 3645.0, + 2962.0 + ], + "selected": "shu.nitro.LENIN .T34" + }, + "completed_at": "2026-09-21T18:59:27Z", + "confirmation": null, + "delta_pct": -17.3, + "id": "8a9ad8559b04d0a4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "shu.nitro.LENIN .T34", + "division": "roborumble", + "jar": "shu.nitro.LENIN_.T34.jar", + "jar_sha256": "e2bb1b6607e6dc92dbdf646ed25abaa5b55444a1d369761d66435395dc25f946", + "key": "roborumble/shu.nitro.LENIN_.T34.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5463.0, + "scores": [ + 2930.0, + 2533.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/sigterm.Sigterm_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "sigterm.Sigterm 1.0", + "division": "roborumble", + "jar": "sigterm.Sigterm_1.0.jar", + "jar_sha256": "f24480b257b433c114311fb9d49fd085006310f66b61ed26aee4fe1bd2574f87", + "key": "roborumble/sigterm.Sigterm_1.0.jar", + "kind": "robot" + }, + "latest_observation": "1a57f4c74b8e9b66", + "observations": [ + { + "classic": { + "elapsed": 4.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4371.0, + "scores": [ + 1843.0, + 2528.0 + ], + "selected": "sigterm.Sigterm 1.0" + }, + "completed_at": "2026-09-21T18:59:57Z", + "confirmation": null, + "delta_pct": -2.3, + "id": "1a57f4c74b8e9b66", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "sigterm.Sigterm 1.0", + "division": "roborumble", + "jar": "sigterm.Sigterm_1.0.jar", + "jar_sha256": "f24480b257b433c114311fb9d49fd085006310f66b61ed26aee4fe1bd2574f87", + "key": "roborumble/sigterm.Sigterm_1.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 24.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4270.0, + "scores": [ + 2269.0, + 2001.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/simonton.GFNano_D_3.1b.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "simonton.GFNano_D 3.1b", + "division": "roborumble", + "jar": "simonton.GFNano_D_3.1b.jar", + "jar_sha256": "fd5c856395c939a056ea599e733c294a9680a3af84e62d2aa302733c9da8f602", + "key": "roborumble/simonton.GFNano_D_3.1b.jar", + "kind": "robot" + }, + "latest_observation": "043d9b7c5fd14090", + "observations": [ + { + "classic": { + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5813.0, + "scores": [ + 2991.0, + 2822.0 + ], + "selected": "simonton.GFNano_D 3.1b" + }, + "completed_at": "2026-09-21T19:00:35Z", + "confirmation": null, + "delta_pct": -13.2, + "id": "043d9b7c5fd14090", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "simonton.GFNano_D 3.1b", + "division": "roborumble", + "jar": "simonton.GFNano_D_3.1b.jar", + "jar_sha256": "fd5c856395c939a056ea599e733c294a9680a3af84e62d2aa302733c9da8f602", + "key": "roborumble/simonton.GFNano_D_3.1b.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5046.0, + "scores": [ + 2841.0, + 2205.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/simonton.beta.LifelongObsession_0.5.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "simonton.beta.LifelongObsession 0.5.1", + "division": "roborumble", + "jar": "simonton.beta.LifelongObsession_0.5.1.jar", + "jar_sha256": "0a022c9bdb9cdc9c8bbb02bb567c294a891eac5ec87a71ea75ff108b62a2ce9e", + "key": "roborumble/simonton.beta.LifelongObsession_0.5.1.jar", + "kind": "robot" + }, + "latest_observation": "3f3d946ea4e24b08", + "observations": [ + { + "classic": { + "elapsed": 7.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4550.0, + "scores": [ + 1954.0, + 2596.0 + ], + "selected": "simonton.beta.LifelongObsession 0.5.1" + }, + "completed_at": "2026-09-21T19:00:16Z", + "confirmation": null, + "delta_pct": null, + "id": "3f3d946ea4e24b08", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "simonton.beta.LifelongObsession 0.5.1", + "division": "roborumble", + "jar": "simonton.beta.LifelongObsession_0.5.1.jar", + "jar_sha256": "0a022c9bdb9cdc9c8bbb02bb567c294a891eac5ec87a71ea75ff108b62a2ce9e", + "key": "roborumble/simonton.beta.LifelongObsession_0.5.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "simonton.movements.Surfer.updateWeights" + ] + ], + "elapsed": 12.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "simonton.movements.Surfer.updateWeights" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot load from object array because \"machineDangerBreakdown\" is null" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/simonton.mega.SniperFrog_1.0.fix2.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "simonton.mega.SniperFrog 1.0.fix2", + "division": "roborumble", + "jar": "simonton.mega.SniperFrog_1.0.fix2.jar", + "jar_sha256": "6b8fc4136722c7fab006efd6ab865a95f0a1875283c70826587ecd59b4bdf0b3", + "key": "roborumble/simonton.mega.SniperFrog_1.0.fix2.jar", + "kind": "robot" + }, + "latest_observation": "9e3cb37668b4d10c", + "observations": [ + { + "classic": { + "elapsed": 5.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5792.0, + "scores": [ + 2985.0, + 2807.0 + ], + "selected": "simonton.mega.SniperFrog 1.0.fix2" + }, + "completed_at": "2026-09-21T19:01:15Z", + "confirmation": null, + "delta_pct": -6.8, + "id": "9e3cb37668b4d10c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "simonton.mega.SniperFrog 1.0.fix2", + "division": "roborumble", + "jar": "simonton.mega.SniperFrog_1.0.fix2.jar", + "jar_sha256": "6b8fc4136722c7fab006efd6ab865a95f0a1875283c70826587ecd59b4bdf0b3", + "key": "roborumble/simonton.mega.SniperFrog_1.0.fix2.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5400.0, + "scores": [ + 3059.0, + 2341.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/simonton.micro.GFMicro_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "simonton.micro.GFMicro 1.0", + "division": "roborumble", + "jar": "simonton.micro.GFMicro_1.0.jar", + "jar_sha256": "1b1276316b80c0c9360c5728a9ffff236bba477e3d556ba071ec3ef5c5ab66e6", + "key": "roborumble/simonton.micro.GFMicro_1.0.jar", + "kind": "robot" + }, + "latest_observation": "869b933ce21be1eb", + "observations": [ + { + "classic": { + "elapsed": 3.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5335.0, + "scores": [ + 2879.0, + 2456.0 + ], + "selected": "simonton.micro.GFMicro 1.0" + }, + "completed_at": "2026-09-21T19:01:38Z", + "confirmation": null, + "delta_pct": null, + "id": "869b933ce21be1eb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "simonton.micro.GFMicro 1.0", + "division": "roborumble", + "jar": "simonton.micro.GFMicro_1.0.jar", + "jar_sha256": "1b1276316b80c0c9360c5728a9ffff236bba477e3d556ba071ec3ef5c5ab66e6", + "key": "roborumble/simonton.micro.GFMicro_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "unknown" + ] + ], + "elapsed": 18.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/simonton.micro.WeeklongObsession_3.4.1.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "simonton.micro.WeeklongObsession 3.4.1", + "division": "roborumble", + "jar": "simonton.micro.WeeklongObsession_3.4.1.jar", + "jar_sha256": "0afc22545c605389574fa5c473fba60efbcf3e560d4b13f5d71ddb0dc1e5f16c", + "key": "roborumble/simonton.micro.WeeklongObsession_3.4.1.jar", + "kind": "robot" + }, + "latest_observation": "a8a467451a62a1c9", + "observations": [ + { + "classic": { + "elapsed": 4.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5539.0, + "scores": [ + 3221.0, + 2318.0 + ], + "selected": "simonton.micro.WeeklongObsession 3.4.1" + }, + "completed_at": "2026-09-21T19:02:13Z", + "confirmation": null, + "delta_pct": -5.1, + "id": "a8a467451a62a1c9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "simonton.micro.WeeklongObsession 3.4.1", + "division": "roborumble", + "jar": "simonton.micro.WeeklongObsession_3.4.1.jar", + "jar_sha256": "0afc22545c605389574fa5c473fba60efbcf3e560d4b13f5d71ddb0dc1e5f16c", + "key": "roborumble/simonton.micro.WeeklongObsession_3.4.1.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5255.0, + "scores": [ + 2990.0, + 2265.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/simonton.mini.WeeksOnEnd_1.10.4.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "simonton.mini.WeeksOnEnd 1.10.4", + "division": "roborumble", + "jar": "simonton.mini.WeeksOnEnd_1.10.4.jar", + "jar_sha256": "122b8a654a1ad952aa10931efe6de23346e5d8a3dd6949e160727a94a1b93501", + "key": "roborumble/simonton.mini.WeeksOnEnd_1.10.4.jar", + "kind": "robot" + }, + "latest_observation": "b9b55071acd0439d", + "observations": [ + { + "classic": { + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4830.0, + "scores": [ + 2304.0, + 2526.0 + ], + "selected": "simonton.mini.WeeksOnEnd 1.10.4" + }, + "completed_at": "2026-09-21T19:03:09Z", + "confirmation": null, + "delta_pct": -7.1, + "id": "b9b55071acd0439d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "simonton.mini.WeeksOnEnd 1.10.4", + "division": "roborumble", + "jar": "simonton.mini.WeeksOnEnd_1.10.4.jar", + "jar_sha256": "122b8a654a1ad952aa10931efe6de23346e5d8a3dd6949e160727a94a1b93501", + "key": "roborumble/simonton.mini.WeeksOnEnd_1.10.4.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 44.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4485.0, + "scores": [ + 2493.0, + 1992.0 + ], + "skipped": null + } + } + ], + "status": "PASS" + }, + "roborumble/simonton.nano.WeekendObsession_S_1.7.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "simonton.nano.WeekendObsession_S 1.7", + "division": "roborumble", + "jar": "simonton.nano.WeekendObsession_S_1.7.jar", + "jar_sha256": "9ed256050a9b9505dbc3401209e93330ec5b21b2abffc6715dd612884089a128", + "key": "roborumble/simonton.nano.WeekendObsession_S_1.7.jar", + "kind": "robot" + }, + "latest_observation": "e102e3ed5887efb7", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5299.0, + "scores": [ + 2857.0, + 2442.0 + ], + "selected": "simonton.nano.WeekendObsession_S 1.7" + }, + "completed_at": "2026-09-21T19:03:25Z", + "confirmation": null, + "delta_pct": -61.7, + "id": "e102e3ed5887efb7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "2d798135bac0424728452dc76dd40478c8e5750e", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "simonton.nano.WeekendObsession_S 1.7", + "division": "roborumble", + "jar": "simonton.nano.WeekendObsession_S_1.7.jar", + "jar_sha256": "9ed256050a9b9505dbc3401209e93330ec5b21b2abffc6715dd612884089a128", + "key": "roborumble/simonton.nano.WeekendObsession_S_1.7.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 2029.0, + "scores": [ + 1317.0, + 712.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/skm.PateranBotlock2_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "skm.PateranBotlock2 1.0", + "division": "roborumble", + "jar": "skm.PateranBotlock2_1.0.jar", + "jar_sha256": "7359c0b5b925551edf3ca31851453cc3762eca6e4f9c47a0d303b6fbf5c1f532", + "key": "roborumble/skm.PateranBotlock2_1.0.jar", + "kind": "robot" + }, + "latest_observation": "8d348df275a40416", + "observations": [ + { + "classic": { + "elapsed": 2.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 12151.0, + "scores": [ + 5807.0, + 6344.0 + ], + "selected": "skm.PateranBotlock2 1.0" + }, + "completed_at": "2026-09-21T19:04:17Z", + "confirmation": null, + "delta_pct": -31.0, + "id": "8d348df275a40416", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "skm.PateranBotlock2 1.0", + "division": "roborumble", + "jar": "skm.PateranBotlock2_1.0.jar", + "jar_sha256": "7359c0b5b925551edf3ca31851453cc3762eca6e4f9c47a0d303b6fbf5c1f532", + "key": "roborumble/skm.PateranBotlock2_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8380.0, + "scores": [ + 4933.0, + 3447.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/skm.Ryubot_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "skm.Ryubot 1.0", + "division": "roborumble", + "jar": "skm.Ryubot_1.0.jar", + "jar_sha256": "ec9ff9728aafec580142810a997258fa5eaa55c6ecc7f62a11e218970597927d", + "key": "roborumble/skm.Ryubot_1.0.jar", + "kind": "robot" + }, + "latest_observation": "9760adb4f4d94d58", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8847.0, + "scores": [ + 4923.0, + 3924.0 + ], + "selected": "skm.Ryubot 1.0" + }, + "completed_at": "2026-09-21T19:04:38Z", + "confirmation": null, + "delta_pct": -25.5, + "id": "9760adb4f4d94d58", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } + }, + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "skm.Ryubot 1.0", + "division": "roborumble", + "jar": "skm.Ryubot_1.0.jar", + "jar_sha256": "ec9ff9728aafec580142810a997258fa5eaa55c6ecc7f62a11e218970597927d", + "key": "roborumble/skm.Ryubot_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6588.0, + "scores": [ + 3426.0, + 3162.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/slugzilla.Basilisk_3.9.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "slugzilla.Basilisk 3.9", + "division": "roborumble", + "jar": "slugzilla.Basilisk_3.9.jar", + "jar_sha256": "b7822ca19f177f5fddccb33a9df4a0856868620f16a246e64d924e173f79162d", + "key": "roborumble/slugzilla.Basilisk_3.9.jar", + "kind": "robot" + }, + "latest_observation": "ba84fc1c9a260097", + "observations": [ + { + "classic": { + "elapsed": 2.9, + "error_count": 372, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "slugzilla.GFTWave.setSegmentations" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + } + ], + "errors": [ + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.ScannedRobotEvent", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": true, + "score": 4472.0, + "scores": [ + 2399.0, + 2073.0 + ], + "selected": "slugzilla.Basilisk 3.9" + }, + "completed_at": "2026-09-21T19:05:27Z", + "confirmation": null, + "delta_pct": 0.1, + "id": "ba84fc1c9a260097", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -36397,24 +175607,34 @@ "width": 800 }, "source_identity": { - "classic_selected": "And.BasicSurfer FF1.6", + "classic_selected": "slugzilla.Basilisk 3.9", "division": "roborumble", - "jar": "And.BasicSurfer_FF1.6.jar", - "jar_sha256": "ff0393de6bfab609d13bd37c562ff5d2736e7b186ebfd65039ac1cde3546b1f9", - "key": "roborumble/And.BasicSurfer_FF1.6.jar", + "jar": "slugzilla.Basilisk_3.9.jar", + "jar_sha256": "b7822ca19f177f5fddccb33a9df4a0856868620f16a246e64d924e173f79162d", + "key": "roborumble/slugzilla.Basilisk_3.9.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 24.0, - "error_count": 0, - "errors": [], - "has_log": false, + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "slugzilla.GFTWave.setSegmentations" + } + ], + "errors": [ + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4", + "java.lang.ArrayIndexOutOfBoundsException: Index 4 out of bounds for length 4" + ], + "has_log": true, "ok": true, - "score": 4013.0, + "score": 4477.0, "scores": [ - 2284.0, - 1729.0 + 3003.0, + 1474.0 ], "skipped": null } @@ -36422,65 +175642,63 @@ ], "status": "PASS" }, - "roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar": { + "roborumble/slugzilla.Basilite_0.13.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ArchAlpha.ArchimedesAlpha 1.0", + "classic_selected": "slugzilla.Basilite 0.13", "division": "roborumble", - "jar": "ArchAlpha.ArchimedesAlpha_1.0.jar", - "jar_sha256": "dcb4cdb1a904ba42b0747af1b29c660fe5fd01c225f4f079875cc07499b36554", - "key": "roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar", + "jar": "slugzilla.Basilite_0.13.jar", + "jar_sha256": "545081b2b27d2fd41256cccb864924a0e07b23b2465c81f5cddf9ffd2cc0aa26", + "key": "roborumble/slugzilla.Basilite_0.13.jar", "kind": "robot" }, - "latest_observation": "8ee700d1da5ca3de", + "latest_observation": "a294ba800f43d4e8", "observations": [ { "classic": { - "elapsed": 3.1, + "elapsed": 16.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 0.0, + "score": 4741.0, "scores": [ - 0.0, - 0.0 + 2093.0, + 2648.0 ], - "selected": "ArchAlpha.ArchimedesAlpha 1.0" + "selected": "slugzilla.Basilite 0.13" }, - "completed_at": "2026-09-08T20:37:48Z", - "delta_pct": null, - "id": "8ee700d1da5ca3de", + "completed_at": "2026-09-21T19:06:06Z", + "confirmation": null, + "delta_pct": 5.3, + "id": "a294ba800f43d4e8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -36488,90 +175706,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ArchAlpha.ArchimedesAlpha 1.0", + "classic_selected": "slugzilla.Basilite 0.13", "division": "roborumble", - "jar": "ArchAlpha.ArchimedesAlpha_1.0.jar", - "jar_sha256": "dcb4cdb1a904ba42b0747af1b29c660fe5fd01c225f4f079875cc07499b36554", - "key": "roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar", + "jar": "slugzilla.Basilite_0.13.jar", + "jar_sha256": "545081b2b27d2fd41256cccb864924a0e07b23b2465c81f5cddf9ffd2cc0aa26", + "key": "roborumble/slugzilla.Basilite_0.13.jar", "kind": "robot" }, - "status": "DISCREPANCY (no score)", + "status": "PASS", "tank_royale": { - "elapsed": 30.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 0.0, + "score": 4991.0, "scores": [ - 0.0, - 0.0 + 3588.0, + 1403.0 ], "skipped": null } } ], - "status": "DISCREPANCY (no score)" + "status": "PASS" }, - "roborumble/CharlieN.Omega.Omega_1.03.jar": { + "roborumble/slugzilla.ButtHead_2.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "CharlieN.Omega.Omega 1.03", + "classic_selected": "slugzilla.ButtHead 2.0", "division": "roborumble", - "jar": "CharlieN.Omega.Omega_1.03.jar", - "jar_sha256": "fc785490d5488702362baf9d7ed4a1e49d3b35e56054c64deab067d69423b8a7", - "key": "roborumble/CharlieN.Omega.Omega_1.03.jar", + "jar": "slugzilla.ButtHead_2.0.jar", + "jar_sha256": "f02819b9310fab95f832e54dcb68610bdd2e0fa1715e5e12468f7544627067f2", + "key": "roborumble/slugzilla.ButtHead_2.0.jar", "kind": "robot" }, - "latest_observation": "23e880a8344ee3d9", + "latest_observation": "068ed7ab5d4b7278", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 2.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6356.0, + "score": 1246.0, "scores": [ - 3065.0, - 3291.0 + 739.0, + 507.0 ], - "selected": "CharlieN.Omega.Omega 1.03" + "selected": "slugzilla.ButtHead 2.0" }, - "completed_at": "2026-09-08T21:17:17Z", - "delta_pct": -6.3, - "id": "23e880a8344ee3d9", + "completed_at": "2026-09-21T19:06:25Z", + "confirmation": null, + "delta_pct": 684.7, + "id": "068ed7ab5d4b7278", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -36579,167 +175797,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "CharlieN.Omega.Omega 1.03", + "classic_selected": "slugzilla.ButtHead 2.0", "division": "roborumble", - "jar": "CharlieN.Omega.Omega_1.03.jar", - "jar_sha256": "fc785490d5488702362baf9d7ed4a1e49d3b35e56054c64deab067d69423b8a7", - "key": "roborumble/CharlieN.Omega.Omega_1.03.jar", + "jar": "slugzilla.ButtHead_2.0.jar", + "jar_sha256": "f02819b9310fab95f832e54dcb68610bdd2e0fa1715e5e12468f7544627067f2", + "key": "roborumble/slugzilla.ButtHead_2.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5953.0, + "score": 9777.0, "scores": [ - 3027.0, - 2926.0 + 4987.0, + 4790.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/a.FreyaOS_1.0.jar": { + "roborumble/slugzilla.OrbitGF_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "a.FreyaOS 1.0", + "classic_selected": "slugzilla.OrbitGF 1.0", "division": "roborumble", - "jar": "a.FreyaOS_1.0.jar", - "jar_sha256": "76223355e093db18e286f0660a56ffe097eb1d5549215c31cc60bddf946602b4", - "key": "roborumble/a.FreyaOS_1.0.jar", + "jar": "slugzilla.OrbitGF_1.0.jar", + "jar_sha256": "e069a24024ca9effc190caa3dcd00325a988f721ae1517810775fdc0021737cf", + "key": "roborumble/slugzilla.OrbitGF_1.0.jar", "kind": "robot" }, - "latest_observation": "250efa0576cb1c56", + "latest_observation": "a55bf86c02ca0eec", "observations": [ { "classic": { - "elapsed": 8.3, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 6065.0, - "scores": [ - 2950.0, - 3115.0 - ], - "selected": "a.FreyaOS 1.0" - }, - "completed_at": "2026-09-08T20:07:12Z", - "delta_pct": -8.3, - "id": "a90b9e5e44b1a73b", - "manifest": { - "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" - }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", - "threshold": 25.0 - }, - "setup": { - "height": 600, - "participants": 2, - "rounds": 35, - "width": 800 - }, - "source_identity": { - "classic_selected": "a.FreyaOS 1.0", - "division": "roborumble", - "jar": "a.FreyaOS_1.0.jar", - "jar_sha256": "76223355e093db18e286f0660a56ffe097eb1d5549215c31cc60bddf946602b4", - "key": "roborumble/a.FreyaOS_1.0.jar", - "kind": "robot" - }, - "status": "PASS", - "tank_royale": { - "elapsed": 26.0, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 5563.0, - "scores": [ - 3052.0, - 2511.0 - ], - "skipped": null - } - }, - { - "classic": { - "elapsed": 3.1, + "elapsed": 2.6, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6664.0, + "score": 5765.0, "scores": [ - 3194.0, - 3470.0 + 2652.0, + 3113.0 ], - "selected": "a.FreyaOS 1.0" + "selected": "slugzilla.OrbitGF 1.0" }, - "completed_at": "2026-09-09T17:57:52Z", - "delta_pct": -27.4, - "id": "250efa0576cb1c56", + "completed_at": "2026-09-21T19:06:50Z", + "confirmation": null, + "delta_pct": -66.2, + "id": "a55bf86c02ca0eec", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -36747,26 +175888,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "a.FreyaOS 1.0", + "classic_selected": "slugzilla.OrbitGF 1.0", "division": "roborumble", - "jar": "a.FreyaOS_1.0.jar", - "jar_sha256": "76223355e093db18e286f0660a56ffe097eb1d5549215c31cc60bddf946602b4", - "key": "roborumble/a.FreyaOS_1.0.jar", + "jar": "slugzilla.OrbitGF_1.0.jar", + "jar_sha256": "e069a24024ca9effc190caa3dcd00325a988f721ae1517810775fdc0021737cf", + "key": "roborumble/slugzilla.OrbitGF_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 28.0, + "elapsed": 22.0, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4836.0, + "score": 1949.0, "scores": [ - 2463.0, - 2373.0 + 1111.0, + 838.0 ], "skipped": null } @@ -36774,65 +175915,63 @@ ], "status": "score-review" }, - "roborumble/aaa.r.ScalarR_0.005h.053.jar": { + "roborumble/slugzilla.OrbitLinear_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "aaa.r.ScalarR 0.005h.053", + "classic_selected": "slugzilla.OrbitLinear 1.1", "division": "roborumble", - "jar": "aaa.r.ScalarR_0.005h.053.jar", - "jar_sha256": "60fef68d968790732c85b20d885e1ca9e99c5ba245e43c1a167f9f3b8956c055", - "key": "roborumble/aaa.r.ScalarR_0.005h.053.jar", + "jar": "slugzilla.OrbitLinear_1.1.jar", + "jar_sha256": "f3d6e9ba42cc28e57c4b78475c861c875a9ec78c8e3ccbaf6642911f0d0df0a7", + "key": "roborumble/slugzilla.OrbitLinear_1.1.jar", "kind": "robot" }, - "latest_observation": "789ba80b28f3224a", + "latest_observation": "b6deabce2414a73c", "observations": [ { "classic": { - "elapsed": 104.0, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4202.0, + "score": 4685.0, "scores": [ - 1871.0, - 2331.0 + 2212.0, + 2473.0 ], - "selected": "aaa.r.ScalarR 0.005h.053" + "selected": "slugzilla.OrbitLinear 1.1" }, - "completed_at": "2026-09-08T20:09:10Z", - "delta_pct": 216.0, - "id": "789ba80b28f3224a", + "completed_at": "2026-09-21T19:07:13Z", + "confirmation": null, + "delta_pct": -28.3, + "id": "b6deabce2414a73c", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -36840,24 +175979,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "aaa.r.ScalarR 0.005h.053", + "classic_selected": "slugzilla.OrbitLinear 1.1", "division": "roborumble", - "jar": "aaa.r.ScalarR_0.005h.053.jar", - "jar_sha256": "60fef68d968790732c85b20d885e1ca9e99c5ba245e43c1a167f9f3b8956c055", - "key": "roborumble/aaa.r.ScalarR_0.005h.053.jar", + "jar": "slugzilla.OrbitLinear_1.1.jar", + "jar_sha256": "f3d6e9ba42cc28e57c4b78475c861c875a9ec78c8e3ccbaf6642911f0d0df0a7", + "key": "roborumble/slugzilla.OrbitLinear_1.1.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.1, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 13278.0, + "score": 3361.0, "scores": [ - 7349.0, - 5929.0 + 1768.0, + 1593.0 ], "skipped": null } @@ -36865,65 +176006,63 @@ ], "status": "score-review" }, - "roborumble/ab.DengerousRoBatra_1.3.jar": { + "roborumble/slugzilla.OrbitPattern_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ab.DengerousRoBatra 1.3", + "classic_selected": "slugzilla.OrbitPattern 1.1", "division": "roborumble", - "jar": "ab.DengerousRoBatra_1.3.jar", - "jar_sha256": "62d46305baa7ded6cbbe763b1614d41c1ff2dd2d9992c028cfbf1a26c228530f", - "key": "roborumble/ab.DengerousRoBatra_1.3.jar", + "jar": "slugzilla.OrbitPattern_1.1.jar", + "jar_sha256": "c9a7b45149c667e93b6467a691814624352760621cc6b07ecad86209268a9a33", + "key": "roborumble/slugzilla.OrbitPattern_1.1.jar", "kind": "robot" }, - "latest_observation": "b9f7cc9d84668eb6", + "latest_observation": "45f4fad21f8c02af", "observations": [ { "classic": { - "elapsed": 2.8, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5727.0, + "score": 5150.0, "scores": [ - 2778.0, - 2949.0 + 2534.0, + 2616.0 ], - "selected": "ab.DengerousRoBatra 1.3" + "selected": "slugzilla.OrbitPattern 1.1" }, - "completed_at": "2026-09-08T20:09:35Z", - "delta_pct": -12.6, - "id": "b9f7cc9d84668eb6", + "completed_at": "2026-09-21T19:07:36Z", + "confirmation": null, + "delta_pct": 6.2, + "id": "45f4fad21f8c02af", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -36931,24 +176070,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ab.DengerousRoBatra 1.3", + "classic_selected": "slugzilla.OrbitPattern 1.1", "division": "roborumble", - "jar": "ab.DengerousRoBatra_1.3.jar", - "jar_sha256": "62d46305baa7ded6cbbe763b1614d41c1ff2dd2d9992c028cfbf1a26c228530f", - "key": "roborumble/ab.DengerousRoBatra_1.3.jar", + "jar": "slugzilla.OrbitPattern_1.1.jar", + "jar_sha256": "c9a7b45149c667e93b6467a691814624352760621cc6b07ecad86209268a9a33", + "key": "roborumble/slugzilla.OrbitPattern_1.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5005.0, + "score": 5471.0, "scores": [ - 2593.0, - 2412.0 + 3369.0, + 2102.0 ], "skipped": null } @@ -36956,166 +176097,63 @@ ], "status": "PASS" }, - "roborumble/abud.ThirdRobo_1.0.jar": { + "roborumble/slugzilla.OscillateGF_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "abud.ThirdRobo 1.0", + "classic_selected": "slugzilla.OscillateGF 1.0", "division": "roborumble", - "jar": "abud.ThirdRobo_1.0.jar", - "jar_sha256": "124b7067cca1b407845176fd26ad2388aab1ad20085b34bd5561539515272a16", - "key": "roborumble/abud.ThirdRobo_1.0.jar", + "jar": "slugzilla.OscillateGF_1.0.jar", + "jar_sha256": "14bbed01c2b1269c625bf9f3a3dd9e7770ed3892de93a37abf663a044f6339e8", + "key": "roborumble/slugzilla.OscillateGF_1.0.jar", "kind": "robot" }, - "latest_observation": "b6434f799b62dbb9", + "latest_observation": "686937fbcc8bc3e6", "observations": [ { "classic": { - "elapsed": 6.2, - "error_count": 328, - "errors": [ - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo", - "java.io.NotSerializableException: abud.EnemyInfo" - ], - "has_log": true, + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 6152.0, + "score": 8468.0, "scores": [ - 2879.0, - 3273.0 + 4256.0, + 4212.0 ], - "selected": "abud.ThirdRobo 1.0" + "selected": "slugzilla.OscillateGF 1.0" }, - "completed_at": "2026-09-08T20:09:46Z", - "delta_pct": null, - "id": "b6434f799b62dbb9", + "completed_at": "2026-09-21T19:08:01Z", + "confirmation": null, + "delta_pct": -56.4, + "id": "686937fbcc8bc3e6", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -37123,170 +176161,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "abud.ThirdRobo 1.0", + "classic_selected": "slugzilla.OscillateGF 1.0", "division": "roborumble", - "jar": "abud.ThirdRobo_1.0.jar", - "jar_sha256": "124b7067cca1b407845176fd26ad2388aab1ad20085b34bd5561539515272a16", - "key": "roborumble/abud.ThirdRobo_1.0.jar", + "jar": "slugzilla.OscillateGF_1.0.jar", + "jar_sha256": "14bbed01c2b1269c625bf9f3a3dd9e7770ed3892de93a37abf663a044f6339e8", + "key": "roborumble/slugzilla.OscillateGF_1.0.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 4.2, - "error_count": 82, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo", - "dev.robocode.tankroyale.botapi.BotException: Could not serialize team message: abud.EnemyInfo" + "bridge_only_signatures": null, + "elapsed": 22.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 3696.0, + "scores": [ + 1986.0, + 1710.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "score-review" }, - "roborumble/acid.Bl4ck_1.0.jar": { + "roborumble/slugzilla.OscillateLinear_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "acid.Bl4ck 1.0", + "classic_selected": "slugzilla.OscillateLinear 1.0", "division": "roborumble", - "jar": "acid.Bl4ck_1.0.jar", - "jar_sha256": "50cca7b205a1a20119a7b0d3810f54e6ce0a0c985612da73c161fcdc5bbbd5fd", - "key": "roborumble/acid.Bl4ck_1.0.jar", + "jar": "slugzilla.OscillateLinear_1.0.jar", + "jar_sha256": "548b4da25cc2e26cb30e30624239c32f58c7ff7757b2f0d9f3d297b65a94e994", + "key": "roborumble/slugzilla.OscillateLinear_1.0.jar", "kind": "robot" }, - "latest_observation": "7bbc287f8bfe56e4", + "latest_observation": "41fdb3b690b35884", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6723.0, + "score": 204.0, "scores": [ - 3340.0, - 3383.0 + 72.0, + 132.0 ], - "selected": "acid.Bl4ck 1.0" + "selected": "slugzilla.OscillateLinear 1.0" }, - "completed_at": "2026-09-08T20:10:15Z", - "delta_pct": -44.7, - "id": "7bbc287f8bfe56e4", + "completed_at": "2026-09-21T19:08:26Z", + "confirmation": null, + "delta_pct": 752.0, + "id": "41fdb3b690b35884", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -37294,24 +176252,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "acid.Bl4ck 1.0", + "classic_selected": "slugzilla.OscillateLinear 1.0", "division": "roborumble", - "jar": "acid.Bl4ck_1.0.jar", - "jar_sha256": "50cca7b205a1a20119a7b0d3810f54e6ce0a0c985612da73c161fcdc5bbbd5fd", - "key": "roborumble/acid.Bl4ck_1.0.jar", + "jar": "slugzilla.OscillateLinear_1.0.jar", + "jar_sha256": "548b4da25cc2e26cb30e30624239c32f58c7ff7757b2f0d9f3d297b65a94e994", + "key": "roborumble/slugzilla.OscillateLinear_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 26.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3717.0, + "score": 1738.0, "scores": [ - 2005.0, - 1712.0 + 900.0, + 838.0 ], "skipped": null } @@ -37319,65 +176279,63 @@ ], "status": "score-review" }, - "roborumble/acid.Null_1.0.jar": { + "roborumble/slugzilla.OscillatePattern_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "acid.Null 1.0", + "classic_selected": "slugzilla.OscillatePattern 1.0", "division": "roborumble", - "jar": "acid.Null_1.0.jar", - "jar_sha256": "66547223ee9a81b17dc19f612f5ec2fe6745fcacee1823d5d88c61cd08c76f04", - "key": "roborumble/acid.Null_1.0.jar", + "jar": "slugzilla.OscillatePattern_1.0.jar", + "jar_sha256": "cc22dff5ec2b8a64698ba079167c184f255c4ffc280d3ff8337b8773a194b386", + "key": "roborumble/slugzilla.OscillatePattern_1.0.jar", "kind": "robot" }, - "latest_observation": "590ef3a4eaca28e3", + "latest_observation": "7d03231691754ccd", "observations": [ { "classic": { - "elapsed": 3.2, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 1809.0, + "score": 9311.0, "scores": [ - 539.0, - 1270.0 + 4135.0, + 5176.0 ], - "selected": "acid.Null 1.0" + "selected": "slugzilla.OscillatePattern 1.0" }, - "completed_at": "2026-09-08T20:10:47Z", - "delta_pct": 38.5, - "id": "590ef3a4eaca28e3", + "completed_at": "2026-09-21T19:08:47Z", + "confirmation": null, + "delta_pct": -31.8, + "id": "7d03231691754ccd", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -37385,24 +176343,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "acid.Null 1.0", + "classic_selected": "slugzilla.OscillatePattern 1.0", "division": "roborumble", - "jar": "acid.Null_1.0.jar", - "jar_sha256": "66547223ee9a81b17dc19f612f5ec2fe6745fcacee1823d5d88c61cd08c76f04", - "key": "roborumble/acid.Null_1.0.jar", + "jar": "slugzilla.OscillatePattern_1.0.jar", + "jar_sha256": "cc22dff5ec2b8a64698ba079167c184f255c4ffc280d3ff8337b8773a194b386", + "key": "roborumble/slugzilla.OscillatePattern_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 28.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2506.0, + "score": 6352.0, "scores": [ - 1482.0, - 1024.0 + 3273.0, + 3079.0 ], "skipped": null } @@ -37410,65 +176370,63 @@ ], "status": "score-review" }, - "roborumble/acid.Syzygy_1.0.4.jar": { + "roborumble/slugzilla.Parallax_0.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "acid.Syzygy 1.0.4", + "classic_selected": "slugzilla.Parallax 0.1", "division": "roborumble", - "jar": "acid.Syzygy_1.0.4.jar", - "jar_sha256": "a7336d30e377b013c9beaa6b4afabf93d3b8a83224d344beb7428e0361c4aa97", - "key": "roborumble/acid.Syzygy_1.0.4.jar", + "jar": "slugzilla.Parallax_0.1.jar", + "jar_sha256": "666f025e11cf0dad77a154c1503d2c64b46739a77b0bb176ca0647afd13f3c10", + "key": "roborumble/slugzilla.Parallax_0.1.jar", "kind": "robot" }, - "latest_observation": "e0d888daca1f0456", + "latest_observation": "07f591be42f2a0fe", "observations": [ { "classic": { - "elapsed": 3.1, + "elapsed": 2.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6558.0, + "score": 3073.0, "scores": [ - 3265.0, - 3293.0 + 1389.0, + 1684.0 ], - "selected": "acid.Syzygy 1.0.4" + "selected": "slugzilla.Parallax 0.1" }, - "completed_at": "2026-09-08T20:11:18Z", - "delta_pct": -46.4, - "id": "e0d888daca1f0456", + "completed_at": "2026-09-21T19:09:13Z", + "confirmation": null, + "delta_pct": 10.4, + "id": "07f591be42f2a0fe", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -37476,90 +176434,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "acid.Syzygy 1.0.4", + "classic_selected": "slugzilla.Parallax 0.1", "division": "roborumble", - "jar": "acid.Syzygy_1.0.4.jar", - "jar_sha256": "a7336d30e377b013c9beaa6b4afabf93d3b8a83224d344beb7428e0361c4aa97", - "key": "roborumble/acid.Syzygy_1.0.4.jar", + "jar": "slugzilla.Parallax_0.1.jar", + "jar_sha256": "666f025e11cf0dad77a154c1503d2c64b46739a77b0bb176ca0647afd13f3c10", + "key": "roborumble/slugzilla.Parallax_0.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 28.1, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3518.0, + "score": 3394.0, "scores": [ - 2229.0, - 1289.0 + 1801.0, + 1593.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ad.Quest_0.10.jar": { + "roborumble/slugzilla.RandomGF_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ad.Quest 0.10", + "classic_selected": "slugzilla.RandomGF 1.0", "division": "roborumble", - "jar": "ad.Quest_0.10.jar", - "jar_sha256": "7121f3447f5a2ee15fb6a8efbdecb35c5732def3307427f5c747990b2b2d8969", - "key": "roborumble/ad.Quest_0.10.jar", + "jar": "slugzilla.RandomGF_1.0.jar", + "jar_sha256": "5c231696525ac00bf7bad901d5f0d42e48e71f031e5e003474473c387a255475", + "key": "roborumble/slugzilla.RandomGF_1.0.jar", "kind": "robot" }, - "latest_observation": "90b87fb62a5d8769", + "latest_observation": "e1f3bffc68b3ca8a", "observations": [ { "classic": { "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5349.0, + "score": 4609.0, "scores": [ - 2596.0, - 2753.0 + 2409.0, + 2200.0 ], - "selected": "ad.Quest 0.10" + "selected": "slugzilla.RandomGF 1.0" }, - "completed_at": "2026-09-08T20:12:40Z", - "delta_pct": -13.9, - "id": "90b87fb62a5d8769", + "completed_at": "2026-09-21T19:09:40Z", + "confirmation": null, + "delta_pct": -22.4, + "id": "e1f3bffc68b3ca8a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -37567,24 +176525,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ad.Quest 0.10", + "classic_selected": "slugzilla.RandomGF 1.0", "division": "roborumble", - "jar": "ad.Quest_0.10.jar", - "jar_sha256": "7121f3447f5a2ee15fb6a8efbdecb35c5732def3307427f5c747990b2b2d8969", - "key": "roborumble/ad.Quest_0.10.jar", + "jar": "slugzilla.RandomGF_1.0.jar", + "jar_sha256": "5c231696525ac00bf7bad901d5f0d42e48e71f031e5e003474473c387a255475", + "key": "roborumble/slugzilla.RandomGF_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4605.0, + "score": 3575.0, "scores": [ - 2380.0, - 2225.0 + 1935.0, + 1640.0 ], "skipped": null } @@ -37592,65 +176552,63 @@ ], "status": "PASS" }, - "roborumble/ad.last.Bottom_1.0.jar": { + "roborumble/slugzilla.RandomLinear_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ad.last.Bottom 1.0", + "classic_selected": "slugzilla.RandomLinear 1.0", "division": "roborumble", - "jar": "ad.last.Bottom_1.0.jar", - "jar_sha256": "8ae6c84241634e3f1b2f550ff6bf50b603dd8f19c23f67e06df6c2328a0820bf", - "key": "roborumble/ad.last.Bottom_1.0.jar", + "jar": "slugzilla.RandomLinear_1.0.jar", + "jar_sha256": "1627f3210c92c90fa8a6177928d12ff06ef459653dcd970a00b55a94a7f6716a", + "key": "roborumble/slugzilla.RandomLinear_1.0.jar", "kind": "robot" }, - "latest_observation": "536581d29ac8b51f", + "latest_observation": "9fbc9aebedbd8263", "observations": [ { "classic": { - "elapsed": 3.6, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 305.0, + "score": 4182.0, "scores": [ - 242.0, - 63.0 + 1976.0, + 2206.0 ], - "selected": "ad.last.Bottom 1.0" + "selected": "slugzilla.RandomLinear 1.0" }, - "completed_at": "2026-09-08T20:12:17Z", - "delta_pct": -98.0, - "id": "536581d29ac8b51f", + "completed_at": "2026-09-21T19:10:07Z", + "confirmation": null, + "delta_pct": -11.9, + "id": "9fbc9aebedbd8263", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -37658,90 +176616,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ad.last.Bottom 1.0", + "classic_selected": "slugzilla.RandomLinear 1.0", "division": "roborumble", - "jar": "ad.last.Bottom_1.0.jar", - "jar_sha256": "8ae6c84241634e3f1b2f550ff6bf50b603dd8f19c23f67e06df6c2328a0820bf", - "key": "roborumble/ad.last.Bottom_1.0.jar", + "jar": "slugzilla.RandomLinear_1.0.jar", + "jar_sha256": "1627f3210c92c90fa8a6177928d12ff06ef459653dcd970a00b55a94a7f6716a", + "key": "roborumble/slugzilla.RandomLinear_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 34.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6.0, + "score": 3684.0, "scores": [ - 3.0, - 3.0 + 1979.0, + 1705.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/adt.Ar1_2.1.jar": { + "roborumble/slugzilla.RandomPattern_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "adt.Ar1 2.1", + "classic_selected": "slugzilla.RandomPattern 1.0", "division": "roborumble", - "jar": "adt.Ar1_2.1.jar", - "jar_sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e", - "key": "roborumble/adt.Ar1_2.1.jar", + "jar": "slugzilla.RandomPattern_1.0.jar", + "jar_sha256": "696eb3f2d06ff6fbe6dc5c4dfd1b32c3f04dc034f7e88c08493c7d228569f3af", + "key": "roborumble/slugzilla.RandomPattern_1.0.jar", "kind": "robot" }, - "latest_observation": "a7544fcb7a16e1cc", + "latest_observation": "af8f3260a79f224a", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 3.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3562.0, + "score": 4363.0, "scores": [ - 1770.0, - 1792.0 + 2005.0, + 2358.0 ], - "selected": "adt.Ar1 2.1" + "selected": "slugzilla.RandomPattern 1.0" }, - "completed_at": "2026-09-08T20:13:05Z", - "delta_pct": -6.2, - "id": "a7544fcb7a16e1cc", + "completed_at": "2026-09-21T19:10:33Z", + "confirmation": null, + "delta_pct": 1.2, + "id": "af8f3260a79f224a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -37749,24 +176707,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "adt.Ar1 2.1", + "classic_selected": "slugzilla.RandomPattern 1.0", "division": "roborumble", - "jar": "adt.Ar1_2.1.jar", - "jar_sha256": "37857b3fe3d082f121da8dd8ca81a5ea58edcab65fad3c552d71dfa65f58b14e", - "key": "roborumble/adt.Ar1_2.1.jar", + "jar": "slugzilla.RandomPattern_1.0.jar", + "jar_sha256": "696eb3f2d06ff6fbe6dc5c4dfd1b32c3f04dc034f7e88c08493c7d228569f3af", + "key": "roborumble/slugzilla.RandomPattern_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3341.0, + "score": 4416.0, "scores": [ - 1793.0, - 1548.0 + 2354.0, + 2062.0 ], "skipped": null } @@ -37774,65 +176734,63 @@ ], "status": "PASS" }, - "roborumble/adt.Ar2_1.0.jar": { + "roborumble/slugzilla.SNGGF_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "adt.Ar2 1.0", + "classic_selected": "slugzilla.SNGGF 1.0", "division": "roborumble", - "jar": "adt.Ar2_1.0.jar", - "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", - "key": "roborumble/adt.Ar2_1.0.jar", + "jar": "slugzilla.SNGGF_1.0.jar", + "jar_sha256": "0ee8392a997fa7443c2d812ef1486748795cfb75587aa065dc907a11b40bd5de", + "key": "roborumble/slugzilla.SNGGF_1.0.jar", "kind": "robot" }, - "latest_observation": "f8dc415d3174e2bd", + "latest_observation": "59e11cc69421f1f9", "observations": [ { "classic": { "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6761.0, + "score": 7418.0, "scores": [ - 3088.0, - 3673.0 + 3934.0, + 3484.0 ], - "selected": "adt.Ar2 1.0" + "selected": "slugzilla.SNGGF 1.0" }, - "completed_at": "2026-09-08T20:13:24Z", - "delta_pct": -23.5, - "id": "f8dc415d3174e2bd", + "completed_at": "2026-09-21T19:10:58Z", + "confirmation": null, + "delta_pct": -61.6, + "id": "59e11cc69421f1f9", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -37840,90 +176798,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "adt.Ar2 1.0", + "classic_selected": "slugzilla.SNGGF 1.0", "division": "roborumble", - "jar": "adt.Ar2_1.0.jar", - "jar_sha256": "2adf54760aefa12c1e79667c064a9529b85aed2218e8a7457c335fb91153394e", - "key": "roborumble/adt.Ar2_1.0.jar", + "jar": "slugzilla.SNGGF_1.0.jar", + "jar_sha256": "0ee8392a997fa7443c2d812ef1486748795cfb75587aa065dc907a11b40bd5de", + "key": "roborumble/slugzilla.SNGGF_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5169.0, + "score": 2845.0, "scores": [ - 2932.0, - 2237.0 + 1491.0, + 1354.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/aetos.AetosFirstBot_1.0.jar": { + "roborumble/slugzilla.SNGLinear_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "aetos.AetosFirstBot 1.0", + "classic_selected": "slugzilla.SNGLinear 1.0", "division": "roborumble", - "jar": "aetos.AetosFirstBot_1.0.jar", - "jar_sha256": "b07790002d150956d9c859100b63581fbf720807de75ea51d10d2355c23552dd", - "key": "roborumble/aetos.AetosFirstBot_1.0.jar", + "jar": "slugzilla.SNGLinear_1.0.jar", + "jar_sha256": "841cc63a5b77d6b0b3ecd55dd7b4180bcf50b87aae58b450f4a01471bf8617cf", + "key": "roborumble/slugzilla.SNGLinear_1.0.jar", "kind": "robot" }, - "latest_observation": "adf8a34914ae5ddc", + "latest_observation": "89f43f1876681f37", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 14150.0, + "score": 1046.0, "scores": [ - 7308.0, - 6842.0 + 387.0, + 659.0 ], - "selected": "aetos.AetosFirstBot 1.0" + "selected": "slugzilla.SNGLinear 1.0" }, - "completed_at": "2026-09-08T20:13:40Z", - "delta_pct": -1.3, - "id": "adf8a34914ae5ddc", + "completed_at": "2026-09-21T19:11:25Z", + "confirmation": null, + "delta_pct": 176.4, + "id": "89f43f1876681f37", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -37931,90 +176889,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "aetos.AetosFirstBot 1.0", + "classic_selected": "slugzilla.SNGLinear 1.0", "division": "roborumble", - "jar": "aetos.AetosFirstBot_1.0.jar", - "jar_sha256": "b07790002d150956d9c859100b63581fbf720807de75ea51d10d2355c23552dd", - "key": "roborumble/aetos.AetosFirstBot_1.0.jar", + "jar": "slugzilla.SNGLinear_1.0.jar", + "jar_sha256": "841cc63a5b77d6b0b3ecd55dd7b4180bcf50b87aae58b450f4a01471bf8617cf", + "key": "roborumble/slugzilla.SNGLinear_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 13969.0, + "score": 2891.0, "scores": [ - 7098.0, - 6871.0 + 1679.0, + 1212.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/ag.Gir_0.99.jar": { + "roborumble/slugzilla.SNGPattern_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ag.Gir 0.99", + "classic_selected": "slugzilla.SNGPattern 1.0", "division": "roborumble", - "jar": "ag.Gir_0.99.jar", - "jar_sha256": "35a4cbabb1c433b6a4e54977741e90195fa95332d7afcce0c7ffe9c8af1ce32d", - "key": "roborumble/ag.Gir_0.99.jar", + "jar": "slugzilla.SNGPattern_1.0.jar", + "jar_sha256": "025b54f58dd3b4d0bb1da2f41ccda5aad0595217a68d49bbd20a983a882bd437", + "key": "roborumble/slugzilla.SNGPattern_1.0.jar", "kind": "robot" }, - "latest_observation": "6a92a7c896d886ac", + "latest_observation": "141e9cd7503cd2af", "observations": [ { "classic": { - "elapsed": 8.9, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3737.0, + "score": 10807.0, "scores": [ - 2018.0, - 1719.0 + 5545.0, + 5262.0 ], - "selected": "ag.Gir 0.99" + "selected": "slugzilla.SNGPattern 1.0" }, - "completed_at": "2026-09-08T20:14:00Z", - "delta_pct": null, - "id": "6a92a7c896d886ac", + "completed_at": "2026-09-21T19:11:45Z", + "confirmation": null, + "delta_pct": -30.7, + "id": "141e9cd7503cd2af", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38022,128 +176980,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ag.Gir 0.99", + "classic_selected": "slugzilla.SNGPattern 1.0", "division": "roborumble", - "jar": "ag.Gir_0.99.jar", - "jar_sha256": "35a4cbabb1c433b6a4e54977741e90195fa95332d7afcce0c7ffe9c8af1ce32d", - "key": "roborumble/ag.Gir_0.99.jar", + "jar": "slugzilla.SNGPattern_1.0.jar", + "jar_sha256": "025b54f58dd3b4d0bb1da2f41ccda5aad0595217a68d49bbd20a983a882bd437", + "key": "roborumble/slugzilla.SNGPattern_1.0.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 10.1, - "error_count": 40, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", - "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception reading 1_robotstats.stt: java.io.EOFException", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception reading 1_girstats.stt: java.io.EOFException", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception reading 1_robotstats.stt: java.io.EOFException", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception reading 1_move.fct: java.io.EOFException", - "Exception reading 1_robotstats.stt: java.io.EOFException", - "Exception reading 1_move.fct: java.io.EOFException", - "Exception reading 1_girstats.stt: java.io.EOFException", - "Exception reading 1_girstats.stt: java.io.EOFException", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception reading 2_robotstats.stt: java.io.EOFException", - "Exception reading 2_girstats.stt: java.io.EOFException", - "Exception reading 2_girstats.stt: java.io.EOFException", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception reading 2_girstats.stt: java.io.EOFException", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception reading 2_robotstats.stt: java.io.EOFException", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes.", - "Exception reading 2_robotstats.stt: java.io.EOFException", - "Exception reading 2_move.fct: java.io.EOFException", - "Exception reading 2_girstats.stt: java.io.EOFException", - "Exception reading 2_girstats.stt: java.io.EOFException", - "IOException trying to write: java.io.IOException: You have reached your filesystem quota of: 200000 bytes." + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7493.0, + "scores": [ + 4104.0, + 3389.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "score-review" }, - "roborumble/agd.Mooserwirt2_2.7.jar": { + "roborumble/slugzilla.SquirmyToad_3.9.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "agd.Mooserwirt2 2.7", + "classic_selected": "slugzilla.SquirmyToad 3.9", "division": "roborumble", - "jar": "agd.Mooserwirt2_2.7.jar", - "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", - "key": "roborumble/agd.Mooserwirt2_2.7.jar", + "jar": "slugzilla.SquirmyToad_3.9.jar", + "jar_sha256": "01ac443a56e8ae4c945fa49e1558728d3d11ce31bb431e24923d12dd3d3caeff", + "key": "roborumble/slugzilla.SquirmyToad_3.9.jar", "kind": "robot" }, - "latest_observation": "ff9a91c9aed410ac", + "latest_observation": "ec0739c158029a04", "observations": [ { "classic": { - "elapsed": 6.5, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6393.0, + "score": 5063.0, "scores": [ - 3276.0, - 3117.0 + 2579.0, + 2484.0 ], - "selected": "agd.Mooserwirt2 2.7" + "selected": "slugzilla.SquirmyToad 3.9" }, - "completed_at": "2026-09-08T20:14:30Z", - "delta_pct": 93.5, - "id": "ff9a91c9aed410ac", + "completed_at": "2026-09-21T19:12:05Z", + "confirmation": null, + "delta_pct": -9.8, + "id": "ec0739c158029a04", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38151,90 +177071,97 @@ "width": 800 }, "source_identity": { - "classic_selected": "agd.Mooserwirt2 2.7", + "classic_selected": "slugzilla.SquirmyToad 3.9", "division": "roborumble", - "jar": "agd.Mooserwirt2_2.7.jar", - "jar_sha256": "377e6a4c674d0436ee7d3cf8e29c2581fc37e55238e6fefef86394c55a35b556", - "key": "roborumble/agd.Mooserwirt2_2.7.jar", + "jar": "slugzilla.SquirmyToad_3.9.jar", + "jar_sha256": "01ac443a56e8ae4c945fa49e1558728d3d11ce31bb431e24923d12dd3d3caeff", + "key": "roborumble/slugzilla.SquirmyToad_3.9.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 24.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12372.0, + "score": 4566.0, "scores": [ - 6196.0, - 6176.0 + 2349.0, + 2217.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/agrach.Dalek_1.0.jar": { + "roborumble/sm.Devil_7.3.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "sm.Devil 7.3", "division": "roborumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "roborumble/agrach.Dalek_1.0.jar", + "jar": "sm.Devil_7.3.jar", + "jar_sha256": "2a90e568f8c620001d70fe849f41023b61ce17cf0fe327957eaa910f2e50f042", + "key": "roborumble/sm.Devil_7.3.jar", "kind": "robot" }, - "latest_observation": "ba3220036d56b733", + "latest_observation": "2c963819bc71ae95", "observations": [ { "classic": { - "elapsed": 3.0, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 11.3, + "error_count": 1, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "sm.Devil.run" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null" + ], + "has_log": true, "ok": true, - "score": 3775.0, + "score": 4850.0, "scores": [ - 1420.0, - 2355.0 + 2668.0, + 2182.0 ], - "selected": "agrach.Dalek 1.0" + "selected": "sm.Devil 7.3" }, - "completed_at": "2026-09-08T20:14:56Z", - "delta_pct": 65.3, - "id": "ba3220036d56b733", + "completed_at": "2026-09-21T19:12:44Z", + "confirmation": null, + "delta_pct": -20.0, + "id": "2c963819bc71ae95", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38242,90 +177169,137 @@ "width": 800 }, "source_identity": { - "classic_selected": "agrach.Dalek 1.0", + "classic_selected": "sm.Devil 7.3", "division": "roborumble", - "jar": "agrach.Dalek_1.0.jar", - "jar_sha256": "1b594bd828661ec7fbeb11aba73bccf7567d16e78a9ff21114a1f430c7152836", - "key": "roborumble/agrach.Dalek_1.0.jar", + "jar": "sm.Devil_7.3.jar", + "jar_sha256": "2a90e568f8c620001d70fe849f41023b61ce17cf0fe327957eaa910f2e50f042", + "key": "roborumble/sm.Devil_7.3.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 22.2, - "error_count": 0, - "errors": [], - "has_log": false, + "bridge_only_signatures": null, + "elapsed": 28.0, + "error_count": 37, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "sm.Devil.run" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException" + ], + "has_log": true, "ok": true, - "score": 6240.0, + "score": 3882.0, "scores": [ - 3411.0, - 2829.0 + 2796.0, + 1086.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/agrach.MicroDalek_1.0.jar": { + "roborumble/sng.arco.Arco_0.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "agrach.MicroDalek 1.0", + "classic_selected": "sng.arco.Arco 0.0", "division": "roborumble", - "jar": "agrach.MicroDalek_1.0.jar", - "jar_sha256": "f0830bebf9d2d5be6388b696e437fc369f2e68f3255f56332a24f0b40f81b979", - "key": "roborumble/agrach.MicroDalek_1.0.jar", + "jar": "sng.arco.Arco_0.0.jar", + "jar_sha256": "b83dea820f32cdb819dc5e219b02a70e3d896380aa07fc76889a11ed434f45db", + "key": "roborumble/sng.arco.Arco_0.0.jar", "kind": "robot" }, - "latest_observation": "530461a54d8b1dad", + "latest_observation": "0dfcbad07786f103", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5316.0, + "score": 6667.0, "scores": [ - 3041.0, - 2275.0 + 3606.0, + 3061.0 ], - "selected": "agrach.MicroDalek 1.0" + "selected": "sng.arco.Arco 0.0" }, - "completed_at": "2026-09-08T20:15:21Z", - "delta_pct": -23.1, - "id": "530461a54d8b1dad", + "completed_at": "2026-09-21T19:13:03Z", + "confirmation": null, + "delta_pct": -8.2, + "id": "0dfcbad07786f103", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38333,24 +177307,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "agrach.MicroDalek 1.0", + "classic_selected": "sng.arco.Arco 0.0", "division": "roborumble", - "jar": "agrach.MicroDalek_1.0.jar", - "jar_sha256": "f0830bebf9d2d5be6388b696e437fc369f2e68f3255f56332a24f0b40f81b979", - "key": "roborumble/agrach.MicroDalek_1.0.jar", + "jar": "sng.arco.Arco_0.0.jar", + "jar_sha256": "b83dea820f32cdb819dc5e219b02a70e3d896380aa07fc76889a11ed434f45db", + "key": "roborumble/sng.arco.Arco_0.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4086.0, + "score": 6118.0, "scores": [ - 2220.0, - 1866.0 + 3546.0, + 2572.0 ], "skipped": null } @@ -38358,65 +177334,63 @@ ], "status": "PASS" }, - "roborumble/agrach.RobotSlayer_1.0.jar": { + "roborumble/snowman.Snowman_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "agrach.RobotSlayer 1.0", + "classic_selected": "snowman.Snowman 1.0", "division": "roborumble", - "jar": "agrach.RobotSlayer_1.0.jar", - "jar_sha256": "7710708e2d15c46fe622ea196065c3fa78c785a8ba0ab3afe5587de3d1072ff9", - "key": "roborumble/agrach.RobotSlayer_1.0.jar", + "jar": "snowman.Snowman_1.0.jar", + "jar_sha256": "21e004b206936daee55b7e32546494c157d705a0fdaa69c694bf5e24b26f4e6d", + "key": "roborumble/snowman.Snowman_1.0.jar", "kind": "robot" }, - "latest_observation": "8f77756a222c2ed6", + "latest_observation": "6b808572dc24cb3d", "observations": [ { "classic": { "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3120.0, + "score": 4176.0, "scores": [ - 1448.0, - 1672.0 + 2399.0, + 1777.0 ], - "selected": "agrach.RobotSlayer 1.0" + "selected": "snowman.Snowman 1.0" }, - "completed_at": "2026-09-08T20:15:48Z", - "delta_pct": 34.9, - "id": "8f77756a222c2ed6", + "completed_at": "2026-09-21T19:13:32Z", + "confirmation": null, + "delta_pct": -22.1, + "id": "6b808572dc24cb3d", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38424,90 +177398,167 @@ "width": 800 }, "source_identity": { - "classic_selected": "agrach.RobotSlayer 1.0", + "classic_selected": "snowman.Snowman 1.0", "division": "roborumble", - "jar": "agrach.RobotSlayer_1.0.jar", - "jar_sha256": "7710708e2d15c46fe622ea196065c3fa78c785a8ba0ab3afe5587de3d1072ff9", - "key": "roborumble/agrach.RobotSlayer_1.0.jar", + "jar": "snowman.Snowman_1.0.jar", + "jar_sha256": "21e004b206936daee55b7e32546494c157d705a0fdaa69c694bf5e24b26f4e6d", + "key": "roborumble/snowman.Snowman_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 24.0, + "bridge_only_signatures": null, + "elapsed": 26.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4209.0, + "score": 3253.0, "scores": [ - 2147.0, - 2062.0 + 1717.0, + 1536.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ags.Glacier_0.3.2.jar": { + "roborumble/sos.SOS_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ags.Glacier 0.3.2", + "classic_selected": "sos.SOS 1.0", "division": "roborumble", - "jar": "ags.Glacier_0.3.2.jar", - "jar_sha256": "2d8c919e37b033113b5377aac90c2ac1641a44fd31367c98190c2466be90a151", - "key": "roborumble/ags.Glacier_0.3.2.jar", + "jar": "sos.SOS_1.0.jar", + "jar_sha256": "640f18d90aa740fe5a307efa8de81d7e910022be5813630563cda82d00e0fab5", + "key": "roborumble/sos.SOS_1.0.jar", "kind": "robot" }, - "latest_observation": "60be2730fb1d2100", + "latest_observation": "8dcd655cb77ed8d2", "observations": [ { "classic": { - "elapsed": 15.0, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 2.9, + "error_count": 67, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "sos.SOS.run" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException" + ], + "has_log": true, "ok": true, - "score": 5275.0, + "score": 5893.0, "scores": [ - 2766.0, - 2509.0 + 3019.0, + 2874.0 ], - "selected": "ags.Glacier 0.3.2" + "selected": "sos.SOS 1.0" }, - "completed_at": "2026-09-08T20:16:24Z", - "delta_pct": -35.8, - "id": "60be2730fb1d2100", + "completed_at": "2026-09-21T19:13:58Z", + "confirmation": null, + "delta_pct": -8.5, + "id": "8dcd655cb77ed8d2", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38515,90 +177566,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ags.Glacier 0.3.2", + "classic_selected": "sos.SOS 1.0", "division": "roborumble", - "jar": "ags.Glacier_0.3.2.jar", - "jar_sha256": "2d8c919e37b033113b5377aac90c2ac1641a44fd31367c98190c2466be90a151", - "key": "roborumble/ags.Glacier_0.3.2.jar", + "jar": "sos.SOS_1.0.jar", + "jar_sha256": "640f18d90aa740fe5a307efa8de81d7e910022be5813630563cda82d00e0fab5", + "key": "roborumble/sos.SOS_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3386.0, + "score": 5393.0, "scores": [ - 1867.0, - 1519.0 + 2997.0, + 2396.0 ], "skipped": null } } ], - "status": "score-review" + "status": "DISCREPANCY (errors)" }, - "roborumble/ags.Midboss_1q.fast.jar": { + "roborumble/sp.AstherNano_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ags.Midboss 1q.fast", + "classic_selected": "sp.AstherNano 1.0", "division": "roborumble", - "jar": "ags.Midboss_1q.fast.jar", - "jar_sha256": "803ebb0582eb77b476fe649cf8875bbf95df2ebd92fcf7853077aa7b583a4045", - "key": "roborumble/ags.Midboss_1q.fast.jar", + "jar": "sp.AstherNano_1.0.jar", + "jar_sha256": "71a926190add8f5c4e64dd7b8d3994437b52d3c1d0c1f83122f3a8881a9cf29b", + "key": "roborumble/sp.AstherNano_1.0.jar", "kind": "robot" }, - "latest_observation": "7effb7a405de90e7", + "latest_observation": "b5ff43ddfe84ad64", "observations": [ { "classic": { - "elapsed": 9.8, + "elapsed": 3.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5495.0, + "score": 4035.0, "scores": [ - 2997.0, - 2498.0 + 2049.0, + 1986.0 ], - "selected": "ags.Midboss 1q.fast" + "selected": "sp.AstherNano 1.0" }, - "completed_at": "2026-09-08T20:17:34Z", - "delta_pct": -6.8, - "id": "7effb7a405de90e7", + "completed_at": "2026-09-21T19:14:36Z", + "confirmation": null, + "delta_pct": -19.1, + "id": "b5ff43ddfe84ad64", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b88dfa397afff51ede79fe0af05ebec1581af0a4", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38606,24 +177657,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ags.Midboss 1q.fast", + "classic_selected": "sp.AstherNano 1.0", "division": "roborumble", - "jar": "ags.Midboss_1q.fast.jar", - "jar_sha256": "803ebb0582eb77b476fe649cf8875bbf95df2ebd92fcf7853077aa7b583a4045", - "key": "roborumble/ags.Midboss_1q.fast.jar", + "jar": "sp.AstherNano_1.0.jar", + "jar_sha256": "71a926190add8f5c4e64dd7b8d3994437b52d3c1d0c1f83122f3a8881a9cf29b", + "key": "roborumble/sp.AstherNano_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 24.0, + "bridge_only_signatures": null, + "elapsed": 34.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5121.0, + "score": 3263.0, "scores": [ - 2593.0, - 2528.0 + 1717.0, + 1546.0 ], "skipped": null } @@ -38631,65 +177684,63 @@ ], "status": "PASS" }, - "roborumble/ags.micro.Carpet_1.1.jar": { + "roborumble/spartancompany.Spartan2_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ags.micro.Carpet 1.1", + "classic_selected": "spartancompany.Spartan2 1.0", "division": "roborumble", - "jar": "ags.micro.Carpet_1.1.jar", - "jar_sha256": "d7d22013f45d03d1d2131ebfbf63fedf29cae8f95bf7683eb8075a29569adc9e", - "key": "roborumble/ags.micro.Carpet_1.1.jar", + "jar": "spartancompany.Spartan2_1.0.jar", + "jar_sha256": "da2ba3fa4f816d80b07aae33d2fc9074e8f44dea322ffbe9e2bc8b1f5bc6b0db", + "key": "roborumble/spartancompany.Spartan2_1.0.jar", "kind": "robot" }, - "latest_observation": "a5199bebb61593c0", + "latest_observation": "4aaaad05305dbba1", "observations": [ { "classic": { - "elapsed": 8.1, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5715.0, + "score": 9330.0, "scores": [ - 3482.0, - 2233.0 + 4195.0, + 5135.0 ], - "selected": "ags.micro.Carpet 1.1" + "selected": "spartancompany.Spartan2 1.0" }, - "completed_at": "2026-09-08T20:17:00Z", - "delta_pct": -12.4, - "id": "a5199bebb61593c0", + "completed_at": "2026-09-21T19:15:07Z", + "confirmation": null, + "delta_pct": -13.0, + "id": "4aaaad05305dbba1", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38697,24 +177748,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ags.micro.Carpet 1.1", + "classic_selected": "spartancompany.Spartan2 1.0", "division": "roborumble", - "jar": "ags.micro.Carpet_1.1.jar", - "jar_sha256": "d7d22013f45d03d1d2131ebfbf63fedf29cae8f95bf7683eb8075a29569adc9e", - "key": "roborumble/ags.micro.Carpet_1.1.jar", + "jar": "spartancompany.Spartan2_1.0.jar", + "jar_sha256": "da2ba3fa4f816d80b07aae33d2fc9074e8f44dea322ffbe9e2bc8b1f5bc6b0db", + "key": "roborumble/spartancompany.Spartan2_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 28.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5006.0, + "score": 8119.0, "scores": [ - 2752.0, - 2254.0 + 4192.0, + 3927.0 ], "skipped": null } @@ -38722,65 +177775,154 @@ ], "status": "PASS" }, - "roborumble/ags.polished.PolishedRuby_1.jar": { + "roborumble/spinnercat.CopyKat_1.2.3.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ags.polished.PolishedRuby 1", + "classic_selected": "spinnercat.CopyKat 1.2.3", "division": "roborumble", - "jar": "ags.polished.PolishedRuby_1.jar", - "jar_sha256": "66674145d1a973e3d1b5079f97a991485a890c843f47ee5c0caff9fb9b0fbfcf", - "key": "roborumble/ags.polished.PolishedRuby_1.jar", + "jar": "spinnercat.CopyKat_1.2.3.jar", + "jar_sha256": "412e3d30011a1491592f7532480e2e2ec55828add4121fefc7acd7409c525f3f", + "key": "roborumble/spinnercat.CopyKat_1.2.3.jar", "kind": "robot" }, - "latest_observation": "fc49d718cc3c93ac", + "latest_observation": "9e93aa13f6c201c0", "observations": [ { "classic": { - "elapsed": 3.9, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12189.0, + "score": 12244.0, "scores": [ - 6340.0, - 5849.0 + 5962.0, + 6282.0 ], - "selected": "ags.polished.PolishedRuby 1" + "selected": "spinnercat.CopyKat 1.2.3" }, - "completed_at": "2026-09-08T20:17:58Z", - "delta_pct": -80.9, - "id": "fc49d718cc3c93ac", + "completed_at": "2026-09-21T19:15:24Z", + "confirmation": null, + "delta_pct": -56.9, + "id": "9e93aa13f6c201c0", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "spinnercat.CopyKat 1.2.3", + "division": "roborumble", + "jar": "spinnercat.CopyKat_1.2.3.jar", + "jar_sha256": "412e3d30011a1491592f7532480e2e2ec55828add4121fefc7acd7409c525f3f", + "key": "roborumble/spinnercat.CopyKat_1.2.3.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5282.0, + "scores": [ + 3229.0, + 2053.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/spinnercat.Kitten_1.6.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "spinnercat.Kitten 1.6", + "division": "roborumble", + "jar": "spinnercat.Kitten_1.6.jar", + "jar_sha256": "1373ef6c98594f66a10b4e3733b9f1d286217d628f59c737101c3765a4792cec", + "key": "roborumble/spinnercat.Kitten_1.6.jar", + "kind": "robot" + }, + "latest_observation": "18491cc2f34ef597", + "observations": [ + { + "classic": { + "elapsed": 3.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5662.0, + "scores": [ + 3606.0, + 2056.0 + ], + "selected": "spinnercat.Kitten 1.6" + }, + "completed_at": "2026-09-21T19:16:04Z", + "confirmation": null, + "delta_pct": -15.6, + "id": "18491cc2f34ef597", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38788,90 +177930,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ags.polished.PolishedRuby 1", + "classic_selected": "spinnercat.Kitten 1.6", "division": "roborumble", - "jar": "ags.polished.PolishedRuby_1.jar", - "jar_sha256": "66674145d1a973e3d1b5079f97a991485a890c843f47ee5c0caff9fb9b0fbfcf", - "key": "roborumble/ags.polished.PolishedRuby_1.jar", + "jar": "spinnercat.Kitten_1.6.jar", + "jar_sha256": "1373ef6c98594f66a10b4e3733b9f1d286217d628f59c737101c3765a4792cec", + "key": "roborumble/spinnercat.Kitten_1.6.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 20.1, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2330.0, + "score": 4777.0, "scores": [ - 1481.0, - 849.0 + 2586.0, + 2191.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ags.rougedc.RougeDC_willow.jar": { + "roborumble/spinnercat.Limit_.01.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ags.rougedc.RougeDC willow", + "classic_selected": "spinnercat.Limit .01", "division": "roborumble", - "jar": "ags.rougedc.RougeDC_willow.jar", - "jar_sha256": "2aee27ddd085c75f61943240e090e018c9e69f658cd4afed508430910a41d2ab", - "key": "roborumble/ags.rougedc.RougeDC_willow.jar", + "jar": "spinnercat.Limit_.01.jar", + "jar_sha256": "b4bef2e7997aa00e0dd43b53621554cd02e967390cbdd58039da69b6c7bce3a4", + "key": "roborumble/spinnercat.Limit_.01.jar", "kind": "robot" }, - "latest_observation": "c007d142eae29d0a", + "latest_observation": "01c48428522f5744", "observations": [ { "classic": { - "elapsed": 10.5, + "elapsed": 2.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5658.0, + "score": 7895.0, "scores": [ - 2458.0, - 3200.0 + 4483.0, + 3412.0 ], - "selected": "ags.rougedc.RougeDC willow" + "selected": "spinnercat.Limit .01" }, - "completed_at": "2026-09-08T20:18:29Z", - "delta_pct": -5.2, - "id": "c007d142eae29d0a", + "completed_at": "2026-09-21T19:16:19Z", + "confirmation": null, + "delta_pct": 6.8, + "id": "01c48428522f5744", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38879,24 +178021,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ags.rougedc.RougeDC willow", + "classic_selected": "spinnercat.Limit .01", "division": "roborumble", - "jar": "ags.rougedc.RougeDC_willow.jar", - "jar_sha256": "2aee27ddd085c75f61943240e090e018c9e69f658cd4afed508430910a41d2ab", - "key": "roborumble/ags.rougedc.RougeDC_willow.jar", + "jar": "spinnercat.Limit_.01.jar", + "jar_sha256": "b4bef2e7997aa00e0dd43b53621554cd02e967390cbdd58039da69b6c7bce3a4", + "key": "roborumble/spinnercat.Limit_.01.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.1, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5365.0, + "score": 8429.0, "scores": [ - 2786.0, - 2579.0 + 4595.0, + 3834.0 ], "skipped": null } @@ -38904,65 +178048,145 @@ ], "status": "PASS" }, - "roborumble/ahf.Acero_1.0.jar": { + "roborumble/spinnercat.Robovirus_2.718.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ahf.Acero 1.0", + "classic_selected": "spinnercat.Robovirus 2.718", "division": "roborumble", - "jar": "ahf.Acero_1.0.jar", - "jar_sha256": "5208b0efb272a5f43a85b11f70f05f0c550b5f2860b7e38d41d4f43a487a0fda", - "key": "roborumble/ahf.Acero_1.0.jar", + "jar": "spinnercat.Robovirus_2.718.jar", + "jar_sha256": "53751f202719f5a7ef2f52a74352d180cf4f94c406bc09776440d4c0664cbc85", + "key": "roborumble/spinnercat.Robovirus_2.718.jar", "kind": "robot" }, - "latest_observation": "9a49d2334b9adb0e", + "latest_observation": "5e13bc795dc2d038", "observations": [ { "classic": { - "elapsed": 2.6, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 3.1, + "error_count": 68, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "spinnercat.Robovirus.onRobotDeath" + }, + { + "exception": "java.lang.StringIndexOutOfBoundsException", + "origin": "spinnercat.Robovirus.onRobotDeath" + }, + { + "exception": "java.lang.StringIndexOutOfBoundsException", + "origin": "spinnercat.Robovirus.onSkippedTurn" + } + ], + "errors": [ + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.StringIndexOutOfBoundsException occurred on robocode.SkippedTurnEvent", + "java.lang.StringIndexOutOfBoundsException: begin 10, end 9, length 9", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.RobotDeathEvent", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null" + ], + "has_log": true, "ok": true, - "score": 4651.0, + "score": 3450.0, "scores": [ - 2335.0, - 2316.0 + 1038.0, + 2412.0 ], - "selected": "ahf.Acero 1.0" + "selected": "spinnercat.Robovirus 2.718" }, - "completed_at": "2026-09-08T20:18:52Z", - "delta_pct": -12.6, - "id": "9a49d2334b9adb0e", + "completed_at": "2026-09-21T19:17:06Z", + "confirmation": null, + "delta_pct": 16.5, + "id": "5e13bc795dc2d038", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -38970,90 +178194,131 @@ "width": 800 }, "source_identity": { - "classic_selected": "ahf.Acero 1.0", + "classic_selected": "spinnercat.Robovirus 2.718", "division": "roborumble", - "jar": "ahf.Acero_1.0.jar", - "jar_sha256": "5208b0efb272a5f43a85b11f70f05f0c550b5f2860b7e38d41d4f43a487a0fda", - "key": "roborumble/ahf.Acero_1.0.jar", + "jar": "spinnercat.Robovirus_2.718.jar", + "jar_sha256": "53751f202719f5a7ef2f52a74352d180cf4f94c406bc09776440d4c0664cbc85", + "key": "roborumble/spinnercat.Robovirus_2.718.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (errors)", "tank_royale": { - "elapsed": 20.0, - "error_count": 0, - "errors": [], - "has_log": false, + "bridge_only_signatures": null, + "elapsed": 22.1, + "error_count": 35, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "spinnercat.Robovirus.onRobotDeath" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.equals(Object)\" because the return value of \"spinnercat.EnemyBot.getName()\" is null" + ], + "has_log": true, "ok": true, - "score": 4067.0, + "score": 4018.0, "scores": [ - 2155.0, - 1912.0 + 2721.0, + 1297.0 ], "skipped": null } } ], - "status": "PASS" + "status": "DISCREPANCY (errors)" }, - "roborumble/ahf.NanoAndrew_.4.jar": { + "roborumble/spinnercat.haiku.Refrigerator_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ahf.NanoAndrew .4", + "classic_selected": "spinnercat.haiku.Refrigerator 1.1", "division": "roborumble", - "jar": "ahf.NanoAndrew_.4.jar", - "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", - "key": "roborumble/ahf.NanoAndrew_.4.jar", + "jar": "spinnercat.haiku.Refrigerator_1.1.jar", + "jar_sha256": "2b79ebcc6b99cc34a94c532a6d58f9bda6d6d194c6c3fa84c40c8e8df16f335b", + "key": "roborumble/spinnercat.haiku.Refrigerator_1.1.jar", "kind": "robot" }, - "latest_observation": "06a1568606c64145", + "latest_observation": "61940867361d7826", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6409.0, + "score": 4112.0, "scores": [ - 3626.0, - 2783.0 + 2679.0, + 1433.0 ], - "selected": "ahf.NanoAndrew .4" + "selected": "spinnercat.haiku.Refrigerator 1.1" }, - "completed_at": "2026-09-08T20:19:25Z", - "delta_pct": -58.4, - "id": "06a1568606c64145", + "completed_at": "2026-09-21T19:15:42Z", + "confirmation": null, + "delta_pct": 5.6, + "id": "61940867361d7826", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39061,90 +178326,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ahf.NanoAndrew .4", + "classic_selected": "spinnercat.haiku.Refrigerator 1.1", "division": "roborumble", - "jar": "ahf.NanoAndrew_.4.jar", - "jar_sha256": "667ad546b341badd93276d9de63623cf8ddd42918f46a2a04b23dbe114bacf2d", - "key": "roborumble/ahf.NanoAndrew_.4.jar", + "jar": "spinnercat.haiku.Refrigerator_1.1.jar", + "jar_sha256": "2b79ebcc6b99cc34a94c532a6d58f9bda6d6d194c6c3fa84c40c8e8df16f335b", + "key": "roborumble/spinnercat.haiku.Refrigerator_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 30.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2667.0, + "score": 4344.0, "scores": [ - 1399.0, - 1268.0 + 2597.0, + 1747.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ahf.r2d2.R2d2_0.86.jar": { + "roborumble/spinnercat.mega.Tardis_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ahf.r2d2.R2d2 0.86", + "classic_selected": "spinnercat.mega.Tardis 1.2", "division": "roborumble", - "jar": "ahf.r2d2.R2d2_0.86.jar", - "jar_sha256": "cdd8e80b980375b1ed59df8fe5a361207c9d3ee32c6e0d81f936e000c2b1b9f2", - "key": "roborumble/ahf.r2d2.R2d2_0.86.jar", + "jar": "spinnercat.mega.Tardis_1.2.jar", + "jar_sha256": "366e79cd5b67ab616295516e383b4bd8c745a7fdfb60d7670e689d8228d8fa23", + "key": "roborumble/spinnercat.mega.Tardis_1.2.jar", "kind": "robot" }, - "latest_observation": "b8a0807ea26810cb", + "latest_observation": "027e7e543c67499c", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5997.0, + "score": 5310.0, "scores": [ - 2680.0, - 3317.0 + 2896.0, + 2414.0 ], - "selected": "ahf.r2d2.R2d2 0.86" + "selected": "spinnercat.mega.Tardis 1.2" }, - "completed_at": "2026-09-08T20:19:48Z", - "delta_pct": -45.3, - "id": "b8a0807ea26810cb", + "completed_at": "2026-09-21T19:16:40Z", + "confirmation": null, + "delta_pct": -7.6, + "id": "027e7e543c67499c", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39152,90 +178417,166 @@ "width": 800 }, "source_identity": { - "classic_selected": "ahf.r2d2.R2d2 0.86", + "classic_selected": "spinnercat.mega.Tardis 1.2", "division": "roborumble", - "jar": "ahf.r2d2.R2d2_0.86.jar", - "jar_sha256": "cdd8e80b980375b1ed59df8fe5a361207c9d3ee32c6e0d81f936e000c2b1b9f2", - "key": "roborumble/ahf.r2d2.R2d2_0.86.jar", + "jar": "spinnercat.mega.Tardis_1.2.jar", + "jar_sha256": "366e79cd5b67ab616295516e383b4bd8c745a7fdfb60d7670e689d8228d8fa23", + "key": "roborumble/spinnercat.mega.Tardis_1.2.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 18.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3283.0, + "score": 4907.0, "scores": [ - 1764.0, - 1519.0 + 2541.0, + 2366.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ahr.ice.Ice_1.0.jar": { + "roborumble/sqTank.waveSurfing.LionWWSVMvoid_0.01.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ahr.ice.Ice 1.0", + "classic_selected": "sqTank.waveSurfing.LionWWSVMvoid 0.01", "division": "roborumble", - "jar": "ahr.ice.Ice_1.0.jar", - "jar_sha256": "419d2945138fc27ba706a168f2ef666a1b40905e98b08ccc62312f2de15ef242", - "key": "roborumble/ahr.ice.Ice_1.0.jar", + "jar": "sqTank.waveSurfing.LionWWSVMvoid_0.01.jar", + "jar_sha256": "a001c2404157bab122e0dbe312e33e79322ce0ddae55d9ab660def1c80bff7a6", + "key": "roborumble/sqTank.waveSurfing.LionWWSVMvoid_0.01.jar", "kind": "robot" }, - "latest_observation": "230fd620dc49add2", + "latest_observation": "5ee51a0234856dfe", "observations": [ { "classic": { - "elapsed": 4.5, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 6.9, + "error_count": 70, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "sqTank.libsvm.SVMHelper.loadSVMModel" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (2).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\sqTank\\waveSurfing\\LionWWSVMvoid.data\\sqTank.waveSurfing.LionWWSVMvoid 0.01 (1).model.zip (Den angivne fil blev ikke fundet)" + ], + "has_log": true, "ok": true, - "score": 8381.0, + "score": 2176.0, "scores": [ - 3636.0, - 4745.0 + 913.0, + 1263.0 ], - "selected": "ahr.ice.Ice 1.0" + "selected": "sqTank.waveSurfing.LionWWSVMvoid 0.01" }, - "completed_at": "2026-09-08T20:20:07Z", - "delta_pct": -4.8, - "id": "230fd620dc49add2", + "completed_at": "2026-09-21T19:17:45Z", + "confirmation": null, + "delta_pct": 38.6, + "id": "5ee51a0234856dfe", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39243,90 +178584,166 @@ "width": 800 }, "source_identity": { - "classic_selected": "ahr.ice.Ice 1.0", + "classic_selected": "sqTank.waveSurfing.LionWWSVMvoid 0.01", "division": "roborumble", - "jar": "ahr.ice.Ice_1.0.jar", - "jar_sha256": "419d2945138fc27ba706a168f2ef666a1b40905e98b08ccc62312f2de15ef242", - "key": "roborumble/ahr.ice.Ice_1.0.jar", + "jar": "sqTank.waveSurfing.LionWWSVMvoid_0.01.jar", + "jar_sha256": "a001c2404157bab122e0dbe312e33e79322ce0ddae55d9ab660def1c80bff7a6", + "key": "roborumble/sqTank.waveSurfing.LionWWSVMvoid_0.01.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, - "error_count": 0, - "errors": [], - "has_log": false, + "bridge_only_signatures": null, + "elapsed": 32.1, + "error_count": 70, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "sqTank.libsvm.SVMHelper.loadSVMModel" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01\\LionWWSVMvoid.data\\2.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\sqTank.waveSurfing.LionWWSVMvoid_0.01-2\\LionWWSVMvoid.data\\1.model.zip (Den angivne fil blev ikke fundet)" + ], + "has_log": true, "ok": true, - "score": 7976.0, + "score": 3017.0, "scores": [ - 4504.0, - 3472.0 + 1546.0, + 1471.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/ak.Fermat_2.0.jar": { + "roborumble/squidM.SquidmanNano_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ak.Fermat 2.0", + "classic_selected": "squidM.SquidmanNano 1.0", "division": "roborumble", - "jar": "ak.Fermat_2.0.jar", - "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", - "key": "roborumble/ak.Fermat_2.0.jar", + "jar": "squidM.SquidmanNano_1.0.jar", + "jar_sha256": "50c171ef8c29ff78dc957c55f5b9d6a51de664fab08763d5000086a70b901ac3", + "key": "roborumble/squidM.SquidmanNano_1.0.jar", "kind": "robot" }, - "latest_observation": "2e184f3d97965168", + "latest_observation": "ac88679d96137e1a", "observations": [ { "classic": { - "elapsed": 9.2, + "elapsed": 2.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4980.0, + "score": 13408.0, "scores": [ - 1884.0, - 3096.0 + 6569.0, + 6839.0 ], - "selected": "ak.Fermat 2.0" + "selected": "squidM.SquidmanNano 1.0" }, - "completed_at": "2026-09-08T20:20:45Z", + "completed_at": "2026-09-21T19:18:00Z", + "confirmation": null, "delta_pct": -25.1, - "id": "2e184f3d97965168", + "id": "ac88679d96137e1a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39334,24 +178751,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ak.Fermat 2.0", + "classic_selected": "squidM.SquidmanNano 1.0", "division": "roborumble", - "jar": "ak.Fermat_2.0.jar", - "jar_sha256": "814688bbe0f93cf5cc6a6be42ab0e69ad0259c54cba8547b20ddb4b1bd7107b3", - "key": "roborumble/ak.Fermat_2.0.jar", + "jar": "squidM.SquidmanNano_1.0.jar", + "jar_sha256": "50c171ef8c29ff78dc957c55f5b9d6a51de664fab08763d5000086a70b901ac3", + "key": "roborumble/squidM.SquidmanNano_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3728.0, + "score": 10045.0, "scores": [ - 2493.0, - 1235.0 + 5166.0, + 4879.0 ], "skipped": null } @@ -39359,65 +178778,63 @@ ], "status": "score-review" }, - "roborumble/alex.Diabolo5_1.1.jar": { + "roborumble/squidM.SurfinUSA_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "alex.Diabolo5 1.1", + "classic_selected": "squidM.SurfinUSA 1.0", "division": "roborumble", - "jar": "alex.Diabolo5_1.1.jar", - "jar_sha256": "cc1530acd1e1ec159e4dde664d7ea82601b7b69ac93a0a081725f877391e6496", - "key": "roborumble/alex.Diabolo5_1.1.jar", + "jar": "squidM.SurfinUSA_1.0.jar", + "jar_sha256": "6e1c8777d6b38e5ca580c86552d3a9a6d5b3053a5dc40639207e993caf3f7e2f", + "key": "roborumble/squidM.SurfinUSA_1.0.jar", "kind": "robot" }, - "latest_observation": "9571152abf9a4117", + "latest_observation": "ad4ac858d82c9144", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6507.0, + "score": 4555.0, "scores": [ - 3251.0, - 3256.0 + 1985.0, + 2570.0 ], - "selected": "alex.Diabolo5 1.1" + "selected": "squidM.SurfinUSA 1.0" }, - "completed_at": "2026-09-08T20:21:02Z", - "delta_pct": -3.4, - "id": "9571152abf9a4117", + "completed_at": "2026-09-21T19:18:25Z", + "confirmation": null, + "delta_pct": -26.3, + "id": "ad4ac858d82c9144", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39425,90 +178842,98 @@ "width": 800 }, "source_identity": { - "classic_selected": "alex.Diabolo5 1.1", + "classic_selected": "squidM.SurfinUSA 1.0", "division": "roborumble", - "jar": "alex.Diabolo5_1.1.jar", - "jar_sha256": "cc1530acd1e1ec159e4dde664d7ea82601b7b69ac93a0a081725f877391e6496", - "key": "roborumble/alex.Diabolo5_1.1.jar", + "jar": "squidM.SurfinUSA_1.0.jar", + "jar_sha256": "6e1c8777d6b38e5ca580c86552d3a9a6d5b3053a5dc40639207e993caf3f7e2f", + "key": "roborumble/squidM.SurfinUSA_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6288.0, + "score": 3358.0, "scores": [ - 3151.0, - 3137.0 + 1755.0, + 1603.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/alk.lap.LoudAndProud_2.23.jar": { + "roborumble/starpkg.StarViewerZ_1.26.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "alk.lap.LoudAndProud 2.23", + "classic_selected": "starpkg.StarViewerZ 1.26", "division": "roborumble", - "jar": "alk.lap.LoudAndProud_2.23.jar", - "jar_sha256": "17efb1d5344e72a8d6a5028db163d1727b131b8b9b2cb146e801df88cc1b945b", - "key": "roborumble/alk.lap.LoudAndProud_2.23.jar", + "jar": "starpkg.StarViewerZ_1.26.jar", + "jar_sha256": "35e25dd8a176d014c12c5247e3ae6c79de0294d7d4a4d10d8fad09ff66037687", + "key": "roborumble/starpkg.StarViewerZ_1.26.jar", "kind": "robot" }, - "latest_observation": "b7150fa0f8305e61", + "latest_observation": "9ab989c332dabcb9", "observations": [ { "classic": { - "elapsed": 5.4, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 3.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\starpkg\\StarViewerZ.data\\starpkg.StarViewerZ 1.26 (2) (Den angivne fil blev ikke fundet)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\starpkg\\StarViewerZ.data\\starpkg.StarViewerZ 1.26 (1) (Den angivne fil blev ikke fundet)" + ], + "has_log": true, "ok": true, - "score": 4818.0, + "score": 6126.0, "scores": [ - 2531.0, - 2287.0 + 2468.0, + 3658.0 ], - "selected": "alk.lap.LoudAndProud 2.23" + "selected": "starpkg.StarViewerZ 1.26" }, - "completed_at": "2026-09-08T20:21:28Z", - "delta_pct": -10.3, - "id": "b7150fa0f8305e61", + "completed_at": "2026-09-21T19:18:54Z", + "confirmation": null, + "delta_pct": -24.5, + "id": "9ab989c332dabcb9", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39516,24 +178941,34 @@ "width": 800 }, "source_identity": { - "classic_selected": "alk.lap.LoudAndProud 2.23", + "classic_selected": "starpkg.StarViewerZ 1.26", "division": "roborumble", - "jar": "alk.lap.LoudAndProud_2.23.jar", - "jar_sha256": "17efb1d5344e72a8d6a5028db163d1727b131b8b9b2cb146e801df88cc1b945b", - "key": "roborumble/alk.lap.LoudAndProud_2.23.jar", + "jar": "starpkg.StarViewerZ_1.26.jar", + "jar_sha256": "35e25dd8a176d014c12c5247e3ae6c79de0294d7d4a4d10d8fad09ff66037687", + "key": "roborumble/starpkg.StarViewerZ_1.26.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, - "error_count": 0, - "errors": [], - "has_log": false, + "bridge_only_signatures": null, + "elapsed": 26.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\starpkg.StarViewerZ_1.26\\StarViewerZ.data\\2 (Den angivne fil blev ikke fundet)", + "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\starpkg.StarViewerZ_1.26-2\\StarViewerZ.data\\1 (Den angivne fil blev ikke fundet)" + ], + "has_log": true, "ok": true, - "score": 4321.0, + "score": 4624.0, "scores": [ - 2551.0, - 1770.0 + 2640.0, + 1984.0 ], "skipped": null } @@ -39541,65 +178976,63 @@ ], "status": "PASS" }, - "roborumble/am.Miedzix_3.0.jar": { + "roborumble/staticline.whiskey.Whiskey_0.6.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "am.Miedzix 3.0", + "classic_selected": "staticline.whiskey.Whiskey 0.6", "division": "roborumble", - "jar": "am.Miedzix_3.0.jar", - "jar_sha256": "eaebae0baf5108909282e2e018424089c946d6cf91938a01185df48783fa097f", - "key": "roborumble/am.Miedzix_3.0.jar", + "jar": "staticline.whiskey.Whiskey_0.6.jar", + "jar_sha256": "07b2a8535d1c1b2ea0a86fd925e57452ed2a17ac4139b19de14d5fabc7950ea6", + "key": "roborumble/staticline.whiskey.Whiskey_0.6.jar", "kind": "robot" }, - "latest_observation": "95ffe43ca9a2cd04", + "latest_observation": "d7a4afc809726a3f", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 10.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 9444.0, + "score": 5118.0, "scores": [ - 4768.0, - 4676.0 + 2281.0, + 2837.0 ], - "selected": "am.Miedzix 3.0" + "selected": "staticline.whiskey.Whiskey 0.6" }, - "completed_at": "2026-09-08T20:21:43Z", - "delta_pct": 8.6, - "id": "95ffe43ca9a2cd04", + "completed_at": "2026-09-21T19:19:31Z", + "confirmation": null, + "delta_pct": -12.5, + "id": "d7a4afc809726a3f", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39607,24 +179040,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "am.Miedzix 3.0", + "classic_selected": "staticline.whiskey.Whiskey 0.6", "division": "roborumble", - "jar": "am.Miedzix_3.0.jar", - "jar_sha256": "eaebae0baf5108909282e2e018424089c946d6cf91938a01185df48783fa097f", - "key": "roborumble/am.Miedzix_3.0.jar", + "jar": "staticline.whiskey.Whiskey_0.6.jar", + "jar_sha256": "07b2a8535d1c1b2ea0a86fd925e57452ed2a17ac4139b19de14d5fabc7950ea6", + "key": "roborumble/staticline.whiskey.Whiskey_0.6.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 12.0, + "bridge_only_signatures": null, + "elapsed": 26.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10259.0, + "score": 4478.0, "scores": [ - 5202.0, - 5057.0 + 2326.0, + 2152.0 ], "skipped": null } @@ -39632,65 +179067,63 @@ ], "status": "PASS" }, - "roborumble/amarok.Rookie_1.1.jar": { + "roborumble/stefw.Tigger_0.0.23.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amarok.Rookie 1.1", + "classic_selected": "stefw.Tigger 0.0.23", "division": "roborumble", - "jar": "amarok.Rookie_1.1.jar", - "jar_sha256": "34cf928378f574c9d6eba50911a39c636f8a7605c310be52839fd1bd4d667e39", - "key": "roborumble/amarok.Rookie_1.1.jar", + "jar": "stefw.Tigger_0.0.23.jar", + "jar_sha256": "47fbcedfbe7b802bb927d50f0e5932ba4df19d724caaabbc52a6aea5f7ba8bbe", + "key": "roborumble/stefw.Tigger_0.0.23.jar", "kind": "robot" }, - "latest_observation": "4358feef92af528c", + "latest_observation": "75cc32356ead100e", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 3.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5044.0, + "score": 5787.0, "scores": [ - 2811.0, - 2233.0 + 2876.0, + 2911.0 ], - "selected": "amarok.Rookie 1.1" + "selected": "stefw.Tigger 0.0.23" }, - "completed_at": "2026-09-08T20:22:06Z", - "delta_pct": -11.6, - "id": "4358feef92af528c", + "completed_at": "2026-09-21T19:19:55Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "75cc32356ead100e", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39698,24 +179131,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "amarok.Rookie 1.1", + "classic_selected": "stefw.Tigger 0.0.23", "division": "roborumble", - "jar": "amarok.Rookie_1.1.jar", - "jar_sha256": "34cf928378f574c9d6eba50911a39c636f8a7605c310be52839fd1bd4d667e39", - "key": "roborumble/amarok.Rookie_1.1.jar", + "jar": "stefw.Tigger_0.0.23.jar", + "jar_sha256": "47fbcedfbe7b802bb927d50f0e5932ba4df19d724caaabbc52a6aea5f7ba8bbe", + "key": "roborumble/stefw.Tigger_0.0.23.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4459.0, + "score": 5677.0, "scores": [ - 2242.0, - 2217.0 + 2854.0, + 2823.0 ], "skipped": null } @@ -39723,65 +179158,63 @@ ], "status": "PASS" }, - "roborumble/amc.ROBv202_1.01.jar": { + "roborumble/stelo.Chord_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amc.ROBv202 1.01", + "classic_selected": "stelo.Chord 1.0", "division": "roborumble", - "jar": "amc.ROBv202_1.01.jar", - "jar_sha256": "eeeefad3aaac8d19b0ce5d7a3d3af5b4808fefbaf71523c6ecd43834150ee6be", - "key": "roborumble/amc.ROBv202_1.01.jar", + "jar": "stelo.Chord_1.0.jar", + "jar_sha256": "b5af7516a5d59917a4cc48fd8f3c998889549c35e25e7b7add88d2bd97ab2d9a", + "key": "roborumble/stelo.Chord_1.0.jar", "kind": "robot" }, - "latest_observation": "7af3d80d2aa0cb8e", + "latest_observation": "58f620cc6ccc9488", "observations": [ { "classic": { - "elapsed": 4.0, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2517.0, + "score": 4118.0, "scores": [ - 1470.0, - 1047.0 + 2407.0, + 1711.0 ], - "selected": "amc.ROBv202 1.01" + "selected": "stelo.Chord 1.0" }, - "completed_at": "2026-09-08T20:22:38Z", - "delta_pct": -8.8, - "id": "7af3d80d2aa0cb8e", + "completed_at": "2026-09-21T19:20:24Z", + "confirmation": null, + "delta_pct": -32.9, + "id": "58f620cc6ccc9488", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39789,90 +179222,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "amc.ROBv202 1.01", + "classic_selected": "stelo.Chord 1.0", "division": "roborumble", - "jar": "amc.ROBv202_1.01.jar", - "jar_sha256": "eeeefad3aaac8d19b0ce5d7a3d3af5b4808fefbaf71523c6ecd43834150ee6be", - "key": "roborumble/amc.ROBv202_1.01.jar", + "jar": "stelo.Chord_1.0.jar", + "jar_sha256": "b5af7516a5d59917a4cc48fd8f3c998889549c35e25e7b7add88d2bd97ab2d9a", + "key": "roborumble/stelo.Chord_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 28.0, + "bridge_only_signatures": null, + "elapsed": 26.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2295.0, + "score": 2763.0, "scores": [ - 1227.0, - 1068.0 + 1550.0, + 1213.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/amc.ROBv203_1.0.jar": { + "roborumble/stelo.FretNano_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amc.ROBv203 1.0", + "classic_selected": "stelo.FretNano 1.1", "division": "roborumble", - "jar": "amc.ROBv203_1.0.jar", - "jar_sha256": "1bb9b1b15f09c382abba7ee7043a81277dda0cb68bcd058b92f02fa0abda3bdd", - "key": "roborumble/amc.ROBv203_1.0.jar", + "jar": "stelo.FretNano_1.1.jar", + "jar_sha256": "d2a76a240f824559834d864052d8e49c48bde13c08daec3160fd11cb9dc84a3d", + "key": "roborumble/stelo.FretNano_1.1.jar", "kind": "robot" }, - "latest_observation": "5b13343a09625cb7", + "latest_observation": "e0c012a8f8adc65b", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8230.0, + "score": 4667.0, "scores": [ - 3968.0, - 4262.0 + 1955.0, + 2712.0 ], - "selected": "amc.ROBv203 1.0" + "selected": "stelo.FretNano 1.1" }, - "completed_at": "2026-09-08T20:22:57Z", - "delta_pct": -1.9, - "id": "5b13343a09625cb7", + "completed_at": "2026-09-21T19:20:45Z", + "confirmation": null, + "delta_pct": -18.8, + "id": "e0c012a8f8adc65b", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39880,24 +179313,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "amc.ROBv203 1.0", + "classic_selected": "stelo.FretNano 1.1", "division": "roborumble", - "jar": "amc.ROBv203_1.0.jar", - "jar_sha256": "1bb9b1b15f09c382abba7ee7043a81277dda0cb68bcd058b92f02fa0abda3bdd", - "key": "roborumble/amc.ROBv203_1.0.jar", + "jar": "stelo.FretNano_1.1.jar", + "jar_sha256": "d2a76a240f824559834d864052d8e49c48bde13c08daec3160fd11cb9dc84a3d", + "key": "roborumble/stelo.FretNano_1.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8073.0, + "score": 3788.0, "scores": [ - 4630.0, - 3443.0 + 2110.0, + 1678.0 ], "skipped": null } @@ -39905,65 +179340,63 @@ ], "status": "PASS" }, - "roborumble/amc.ROBv300_1.1.jar": { + "roborumble/stelo.Liblix_0.3.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amc.ROBv300 1.1", + "classic_selected": "stelo.Liblix 0.3.1", "division": "roborumble", - "jar": "amc.ROBv300_1.1.jar", - "jar_sha256": "6db4ed03047d5efd9e8de254be8f68d9e3417a875c591e974514ff055d390920", - "key": "roborumble/amc.ROBv300_1.1.jar", + "jar": "stelo.Liblix_0.3.1.jar", + "jar_sha256": "b57c562b67fe1d94b070f683439291209df949f05ff77b9ea935369556db7e90", + "key": "roborumble/stelo.Liblix_0.3.1.jar", "kind": "robot" }, - "latest_observation": "f9df3a01abc1f04f", + "latest_observation": "044f196d7b50d879", "observations": [ { "classic": { - "elapsed": 3.2, + "elapsed": 11.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2648.0, + "score": 6531.0, "scores": [ - 1072.0, - 1576.0 + 3253.0, + 3278.0 ], - "selected": "amc.ROBv300 1.1" + "selected": "stelo.Liblix 0.3.1" }, - "completed_at": "2026-09-08T20:23:24Z", - "delta_pct": 67.9, - "id": "f9df3a01abc1f04f", + "completed_at": "2026-09-21T19:21:33Z", + "confirmation": null, + "delta_pct": -16.4, + "id": "044f196d7b50d879", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -39971,90 +179404,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "amc.ROBv300 1.1", + "classic_selected": "stelo.Liblix 0.3.1", "division": "roborumble", - "jar": "amc.ROBv300_1.1.jar", - "jar_sha256": "6db4ed03047d5efd9e8de254be8f68d9e3417a875c591e974514ff055d390920", - "key": "roborumble/amc.ROBv300_1.1.jar", + "jar": "stelo.Liblix_0.3.1.jar", + "jar_sha256": "b57c562b67fe1d94b070f683439291209df949f05ff77b9ea935369556db7e90", + "key": "roborumble/stelo.Liblix_0.3.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 24.1, + "bridge_only_signatures": null, + "elapsed": 36.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4445.0, + "score": 5460.0, "scores": [ - 2309.0, - 2136.0 + 3019.0, + 2441.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/amc.ROBv301_1.1.jar": { + "roborumble/stelo.Lifestealer_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amc.ROBv301 1.1", + "classic_selected": "stelo.Lifestealer 1.0", "division": "roborumble", - "jar": "amc.ROBv301_1.1.jar", - "jar_sha256": "0f5ce30be90a631bbca672094046847e552d2b2370af3ec73b3d9ed8c737798f", - "key": "roborumble/amc.ROBv301_1.1.jar", + "jar": "stelo.Lifestealer_1.0.jar", + "jar_sha256": "9328e17f106c00c4f3c9f7a92bc0405500484845eed9c8a9a50d8859851880df", + "key": "roborumble/stelo.Lifestealer_1.0.jar", "kind": "robot" }, - "latest_observation": "8f84ca57fd472f5b", + "latest_observation": "cd422646c602bded", "observations": [ { "classic": { - "elapsed": 3.8, + "elapsed": 2.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4436.0, + "score": 11063.0, "scores": [ - 1954.0, - 2482.0 + 5264.0, + 5799.0 ], - "selected": "amc.ROBv301 1.1" + "selected": "stelo.Lifestealer 1.0" }, - "completed_at": "2026-09-08T20:23:53Z", - "delta_pct": 70.0, - "id": "8f84ca57fd472f5b", + "completed_at": "2026-09-21T19:21:45Z", + "confirmation": null, + "delta_pct": 12.4, + "id": "cd422646c602bded", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40062,90 +179495,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "amc.ROBv301 1.1", + "classic_selected": "stelo.Lifestealer 1.0", "division": "roborumble", - "jar": "amc.ROBv301_1.1.jar", - "jar_sha256": "0f5ce30be90a631bbca672094046847e552d2b2370af3ec73b3d9ed8c737798f", - "key": "roborumble/amc.ROBv301_1.1.jar", + "jar": "stelo.Lifestealer_1.0.jar", + "jar_sha256": "9328e17f106c00c4f3c9f7a92bc0405500484845eed9c8a9a50d8859851880df", + "key": "roborumble/stelo.Lifestealer_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 24.1, + "bridge_only_signatures": null, + "elapsed": 10.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7541.0, + "score": 12435.0, "scores": [ - 3782.0, - 3759.0 + 6490.0, + 5945.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/amc.ROBv400_1.0.jar": { + "roborumble/stelo.MatchupAGF_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amc.ROBv400 1.0", + "classic_selected": "stelo.MatchupAGF 1.1", "division": "roborumble", - "jar": "amc.ROBv400_1.0.jar", - "jar_sha256": "ed8d81415f6cc852706df58f162e484cb4dc68882357c4e2f5875f5908eafa86", - "key": "roborumble/amc.ROBv400_1.0.jar", + "jar": "stelo.MatchupAGF_1.1.jar", + "jar_sha256": "1084b35dfa53e97a646b55ebe6e5cc4aeb15f089ee6c3b5ee2f145b9753bcf2f", + "key": "roborumble/stelo.MatchupAGF_1.1.jar", "kind": "robot" }, - "latest_observation": "09be55e2c9b7d445", + "latest_observation": "6d9918588d08695a", "observations": [ { "classic": { - "elapsed": 4.0, + "elapsed": 10.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4053.0, + "score": 6370.0, "scores": [ - 2092.0, - 1961.0 + 2814.0, + 3556.0 ], - "selected": "amc.ROBv400 1.0" + "selected": "stelo.MatchupAGF 1.1" }, - "completed_at": "2026-09-08T20:24:19Z", - "delta_pct": 78.2, - "id": "09be55e2c9b7d445", + "completed_at": "2026-09-21T19:22:36Z", + "confirmation": null, + "delta_pct": -18.5, + "id": "6d9918588d08695a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40153,191 +179586,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "amc.ROBv400 1.0", + "classic_selected": "stelo.MatchupAGF 1.1", "division": "roborumble", - "jar": "amc.ROBv400_1.0.jar", - "jar_sha256": "ed8d81415f6cc852706df58f162e484cb4dc68882357c4e2f5875f5908eafa86", - "key": "roborumble/amc.ROBv400_1.0.jar", + "jar": "stelo.MatchupAGF_1.1.jar", + "jar_sha256": "1084b35dfa53e97a646b55ebe6e5cc4aeb15f089ee6c3b5ee2f145b9753bcf2f", + "key": "roborumble/stelo.MatchupAGF_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 40.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7223.0, + "score": 5189.0, "scores": [ - 3849.0, - 3374.0 + 2688.0, + 2501.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/amk.ChumbaMini_0.2.jar": { + "roborumble/stelo.MatchupMicro_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amk.ChumbaMini 0.2", + "classic_selected": "stelo.MatchupMicro 1.2", "division": "roborumble", - "jar": "amk.ChumbaMini_0.2.jar", - "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", - "key": "roborumble/amk.ChumbaMini_0.2.jar", + "jar": "stelo.MatchupMicro_1.2.jar", + "jar_sha256": "99c7274985bf7f6b58dd5741136b2946439b6e17de5ae66ed3daa7ae38d02a2c", + "key": "roborumble/stelo.MatchupMicro_1.2.jar", "kind": "robot" }, - "latest_observation": "a2683415dda92a08", + "latest_observation": "44b4234cdd229266", "observations": [ { "classic": { - "elapsed": 3.0, - "error_count": 100, - "errors": [ - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.WinEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time.", - "SYSTEM: java.lang.SecurityException occurred on robocode.DeathEvent", - "java.lang.SecurityException: You may only have 5 streams open at a time." - ], - "has_log": true, + "elapsed": 6.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5187.0, + "score": 5016.0, "scores": [ - 2322.0, - 2865.0 + 2783.0, + 2233.0 ], - "selected": "amk.ChumbaMini 0.2" + "selected": "stelo.MatchupMicro 1.2" }, - "completed_at": "2026-09-08T20:24:36Z", - "delta_pct": 12.6, - "id": "a2683415dda92a08", + "completed_at": "2026-09-21T19:23:07Z", + "confirmation": null, + "delta_pct": 10.5, + "id": "44b4234cdd229266", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40345,24 +179677,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "amk.ChumbaMini 0.2", + "classic_selected": "stelo.MatchupMicro 1.2", "division": "roborumble", - "jar": "amk.ChumbaMini_0.2.jar", - "jar_sha256": "5770270c23f9223e4df93f5455fcf461ecd30309fc318f3d53cbbdf93e133d6b", - "key": "roborumble/amk.ChumbaMini_0.2.jar", + "jar": "stelo.MatchupMicro_1.2.jar", + "jar_sha256": "99c7274985bf7f6b58dd5741136b2946439b6e17de5ae66ed3daa7ae38d02a2c", + "key": "roborumble/stelo.MatchupMicro_1.2.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5843.0, + "score": 5543.0, "scores": [ - 3157.0, - 2686.0 + 2836.0, + 2707.0 ], "skipped": null } @@ -40370,65 +179704,63 @@ ], "status": "PASS" }, - "roborumble/amk.ChumbaWumba_0.3.jar": { + "roborumble/stelo.MatchupMini_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amk.ChumbaWumba 0.3", + "classic_selected": "stelo.MatchupMini 1.1", "division": "roborumble", - "jar": "amk.ChumbaWumba_0.3.jar", - "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", - "key": "roborumble/amk.ChumbaWumba_0.3.jar", + "jar": "stelo.MatchupMini_1.1.jar", + "jar_sha256": "e71ae4721c508bbdbb224f5af6fce2c12d1583f1dfe8a8d6215c640dd0dd24c1", + "key": "roborumble/stelo.MatchupMini_1.1.jar", "kind": "robot" }, - "latest_observation": "945bce04cca29751", + "latest_observation": "02bb9c6fd9075b86", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 6.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5213.0, + "score": 6746.0, "scores": [ - 2618.0, - 2595.0 + 3126.0, + 3620.0 ], - "selected": "amk.ChumbaWumba 0.3" + "selected": "stelo.MatchupMini 1.1" }, - "completed_at": "2026-09-08T20:24:55Z", - "delta_pct": -5.4, - "id": "945bce04cca29751", + "completed_at": "2026-09-21T19:23:54Z", + "confirmation": null, + "delta_pct": -2.5, + "id": "02bb9c6fd9075b86", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40436,24 +179768,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "amk.ChumbaWumba 0.3", + "classic_selected": "stelo.MatchupMini 1.1", "division": "roborumble", - "jar": "amk.ChumbaWumba_0.3.jar", - "jar_sha256": "f7594cdfa02419ae112013ec923387736a89840712162020ecb899e39d6127e9", - "key": "roborumble/amk.ChumbaWumba_0.3.jar", + "jar": "stelo.MatchupMini_1.1.jar", + "jar_sha256": "e71ae4721c508bbdbb224f5af6fce2c12d1583f1dfe8a8d6215c640dd0dd24c1", + "key": "roborumble/stelo.MatchupMini_1.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 40.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4933.0, + "score": 6579.0, "scores": [ - 2953.0, - 1980.0 + 3442.0, + 3137.0 ], "skipped": null } @@ -40461,65 +179795,63 @@ ], "status": "PASS" }, - "roborumble/amk.Punbot.Punbot_0.01.jar": { + "roborumble/stelo.MatchupWS_1.2c.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amk.Punbot.Punbot 0.01", + "classic_selected": "stelo.MatchupWS 1.2c", "division": "roborumble", - "jar": "amk.Punbot.Punbot_0.01.jar", - "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", - "key": "roborumble/amk.Punbot.Punbot_0.01.jar", + "jar": "stelo.MatchupWS_1.2c.jar", + "jar_sha256": "70336250b003bee9b8de50b76075e013da5d5f363dfcae5169fd00d56754aa4e", + "key": "roborumble/stelo.MatchupWS_1.2c.jar", "kind": "robot" }, - "latest_observation": "5cb33aff96c3e759", + "latest_observation": "806000fa021cba86", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 14.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5777.0, + "score": 5283.0, "scores": [ - 2448.0, - 3329.0 + 3040.0, + 2243.0 ], - "selected": "amk.Punbot.Punbot 0.01" + "selected": "stelo.MatchupWS 1.2c" }, - "completed_at": "2026-09-08T20:25:31Z", - "delta_pct": 1.1, - "id": "5cb33aff96c3e759", + "completed_at": "2026-09-21T19:24:53Z", + "confirmation": null, + "delta_pct": 4.4, + "id": "806000fa021cba86", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40527,24 +179859,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "amk.Punbot.Punbot 0.01", + "classic_selected": "stelo.MatchupWS 1.2c", "division": "roborumble", - "jar": "amk.Punbot.Punbot_0.01.jar", - "jar_sha256": "44e10755757c7cb523ad7f6a746f5524f6a054fe7d047528da8330829284b389", - "key": "roborumble/amk.Punbot.Punbot_0.01.jar", + "jar": "stelo.MatchupWS_1.2c.jar", + "jar_sha256": "70336250b003bee9b8de50b76075e013da5d5f363dfcae5169fd00d56754aa4e", + "key": "roborumble/stelo.MatchupWS_1.2c.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 44.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5841.0, + "score": 5517.0, "scores": [ - 3152.0, - 2689.0 + 2937.0, + 2580.0 ], "skipped": null } @@ -40552,65 +179886,63 @@ ], "status": "PASS" }, - "roborumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar": { + "roborumble/stelo.MirrorMicro_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "classic_selected": "stelo.MirrorMicro 1.1", "division": "roborumble", - "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", - "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", - "key": "roborumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar": "stelo.MirrorMicro_1.1.jar", + "jar_sha256": "5a8ec845822c9277703143e7b76e3efd93bb7cdc2a0c1a213c06eda10761eae0", + "key": "roborumble/stelo.MirrorMicro_1.1.jar", "kind": "robot" }, - "latest_observation": "fcb8486e2c29e9dc", + "latest_observation": "05d8191a63ab4f92", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 3.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6365.0, + "score": 10395.0, "scores": [ - 3091.0, - 3274.0 + 5111.0, + 5284.0 ], - "selected": "amk.ShizzleStiX.ShizzleStiX 0.6" + "selected": "stelo.MirrorMicro 1.1" }, - "completed_at": "2026-09-08T20:25:48Z", - "delta_pct": 0.5, - "id": "fcb8486e2c29e9dc", + "completed_at": "2026-09-21T19:25:43Z", + "confirmation": null, + "delta_pct": 26.5, + "id": "05d8191a63ab4f92", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40618,90 +179950,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "amk.ShizzleStiX.ShizzleStiX 0.6", + "classic_selected": "stelo.MirrorMicro 1.1", "division": "roborumble", - "jar": "amk.ShizzleStiX.ShizzleStiX_0.6.jar", - "jar_sha256": "3e93e50b7380b8b2f98ab1c30911bc56a98c6eb27ccb5125d1aa8cbbc5987850", - "key": "roborumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar", + "jar": "stelo.MirrorMicro_1.1.jar", + "jar_sha256": "5a8ec845822c9277703143e7b76e3efd93bb7cdc2a0c1a213c06eda10761eae0", + "key": "roborumble/stelo.MirrorMicro_1.1.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6399.0, + "score": 13151.0, "scores": [ - 3401.0, - 2998.0 + 6907.0, + 6244.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/amk.jointstrike.JointStrike_0.2.jar": { + "roborumble/stelo.MirrorNano_1.4.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amk.jointstrike.JointStrike 0.2", + "classic_selected": "stelo.MirrorNano 1.4", "division": "roborumble", - "jar": "amk.jointstrike.JointStrike_0.2.jar", - "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", - "key": "roborumble/amk.jointstrike.JointStrike_0.2.jar", + "jar": "stelo.MirrorNano_1.4.jar", + "jar_sha256": "bc78e74d35fd686bb26d08d96c8bb892d5569e41bc0dd03d42c0e7f732144ed3", + "key": "roborumble/stelo.MirrorNano_1.4.jar", "kind": "robot" }, - "latest_observation": "5c6c92d169d651d3", + "latest_observation": "954d91c27cca3cb6", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7614.0, + "score": 1544.0, "scores": [ - 3922.0, - 3692.0 + 711.0, + 833.0 ], - "selected": "amk.jointstrike.JointStrike 0.2" + "selected": "stelo.MirrorNano 1.4" }, - "completed_at": "2026-09-08T20:25:12Z", - "delta_pct": -17.6, - "id": "5c6c92d169d651d3", + "completed_at": "2026-09-21T19:26:02Z", + "confirmation": null, + "delta_pct": 137.0, + "id": "954d91c27cca3cb6", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40709,90 +180041,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "amk.jointstrike.JointStrike 0.2", + "classic_selected": "stelo.MirrorNano 1.4", "division": "roborumble", - "jar": "amk.jointstrike.JointStrike_0.2.jar", - "jar_sha256": "3f45fd832f7bb6b6ceb3841c1ab108583ba11b49ba06cbde2f8e61637dc28297", - "key": "roborumble/amk.jointstrike.JointStrike_0.2.jar", + "jar": "stelo.MirrorNano_1.4.jar", + "jar_sha256": "bc78e74d35fd686bb26d08d96c8bb892d5569e41bc0dd03d42c0e7f732144ed3", + "key": "roborumble/stelo.MirrorNano_1.4.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6274.0, + "score": 3660.0, "scores": [ - 3212.0, - 3062.0 + 1952.0, + 1708.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/amk.superstrike.SuperStrike_0.3.jar": { + "roborumble/stelo.Mirror_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "amk.superstrike.SuperStrike 0.3", + "classic_selected": "stelo.Mirror 1.1", "division": "roborumble", - "jar": "amk.superstrike.SuperStrike_0.3.jar", - "jar_sha256": "ef146a488f92e25b5f8f957831fd715bb6a6b2b1f8cf72ffa05bad505c34c79b", - "key": "roborumble/amk.superstrike.SuperStrike_0.3.jar", + "jar": "stelo.Mirror_1.1.jar", + "jar_sha256": "67f844badd8f11bd046808610b324fbecffdee94262c0e3528b925ab5f49a06d", + "key": "roborumble/stelo.Mirror_1.1.jar", "kind": "robot" }, - "latest_observation": "54ea093325f72804", + "latest_observation": "ca0b224ceadc65f1", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 3.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7839.0, + "score": 7404.0, "scores": [ - 4140.0, - 3699.0 + 3978.0, + 3426.0 ], - "selected": "amk.superstrike.SuperStrike 0.3" + "selected": "stelo.Mirror 1.1" }, - "completed_at": "2026-09-08T20:26:09Z", - "delta_pct": -57.0, - "id": "54ea093325f72804", + "completed_at": "2026-09-21T19:25:21Z", + "confirmation": null, + "delta_pct": -22.0, + "id": "ca0b224ceadc65f1", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40800,90 +180132,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "amk.superstrike.SuperStrike 0.3", + "classic_selected": "stelo.Mirror 1.1", "division": "roborumble", - "jar": "amk.superstrike.SuperStrike_0.3.jar", - "jar_sha256": "ef146a488f92e25b5f8f957831fd715bb6a6b2b1f8cf72ffa05bad505c34c79b", - "key": "roborumble/amk.superstrike.SuperStrike_0.3.jar", + "jar": "stelo.Mirror_1.1.jar", + "jar_sha256": "67f844badd8f11bd046808610b324fbecffdee94262c0e3528b925ab5f49a06d", + "key": "roborumble/stelo.Mirror_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3368.0, + "score": 5775.0, "scores": [ - 2340.0, - 1028.0 + 2899.0, + 2876.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ao.T100_0.9.jar": { + "roborumble/stelo.MoojukNano_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ao.T100 0.9", + "classic_selected": "stelo.MoojukNano 1.2", "division": "roborumble", - "jar": "ao.T100_0.9.jar", - "jar_sha256": "05273a2b787354f59695eeb17a4a8de330ed34d75d805aa17d91a7b756efaae0", - "key": "roborumble/ao.T100_0.9.jar", + "jar": "stelo.MoojukNano_1.2.jar", + "jar_sha256": "02c564b8aea42160fc362708598d0750e387ffc24c8493efa22d76ce755f275e", + "key": "roborumble/stelo.MoojukNano_1.2.jar", "kind": "robot" }, - "latest_observation": "4ae1803915fa8384", + "latest_observation": "5aea32191bb43a03", "observations": [ { "classic": { - "elapsed": 4.0, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7797.0, + "score": 5142.0, "scores": [ - 3914.0, - 3883.0 + 1687.0, + 3455.0 ], - "selected": "ao.T100 0.9" + "selected": "stelo.MoojukNano 1.2" }, - "completed_at": "2026-09-08T20:28:16Z", - "delta_pct": -51.0, - "id": "4ae1803915fa8384", + "completed_at": "2026-09-21T19:26:19Z", + "confirmation": null, + "delta_pct": -9.7, + "id": "5aea32191bb43a03", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "f5a241bd8f98012809b12b13be94f617d2634daf", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40891,90 +180223,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ao.T100 0.9", + "classic_selected": "stelo.MoojukNano 1.2", "division": "roborumble", - "jar": "ao.T100_0.9.jar", - "jar_sha256": "05273a2b787354f59695eeb17a4a8de330ed34d75d805aa17d91a7b756efaae0", - "key": "roborumble/ao.T100_0.9.jar", + "jar": "stelo.MoojukNano_1.2.jar", + "jar_sha256": "02c564b8aea42160fc362708598d0750e387ffc24c8493efa22d76ce755f275e", + "key": "roborumble/stelo.MoojukNano_1.2.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 96.1, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3822.0, + "score": 4642.0, "scores": [ - 2016.0, - 1806.0 + 2973.0, + 1669.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ap.Frederick_1.1.jar": { + "roborumble/stelo.PatternRobot_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ap.Frederick 1.1", + "classic_selected": "stelo.PatternRobot 1.0", "division": "roborumble", - "jar": "ap.Frederick_1.1.jar", - "jar_sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899", - "key": "roborumble/ap.Frederick_1.1.jar", + "jar": "stelo.PatternRobot_1.0.jar", + "jar_sha256": "be89fcf05353666ee404daa00dc092c918c2fcd1bfdbdf5f4b55b1f5b766f248", + "key": "roborumble/stelo.PatternRobot_1.0.jar", "kind": "robot" }, - "latest_observation": "df6c7329f8f52c4e", + "latest_observation": "d1abf12fd69afec8", "observations": [ { "classic": { - "elapsed": 4.4, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 120.0, + "score": 7337.0, "scores": [ - 120.0, - 0.0 + 4147.0, + 3190.0 ], - "selected": "ap.Frederick 1.1" + "selected": "stelo.PatternRobot 1.0" }, - "completed_at": "2026-09-08T20:28:55Z", - "delta_pct": 4.2, - "id": "df6c7329f8f52c4e", + "completed_at": "2026-09-21T19:26:51Z", + "confirmation": null, + "delta_pct": -54.4, + "id": "d1abf12fd69afec8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -40982,90 +180314,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ap.Frederick 1.1", + "classic_selected": "stelo.PatternRobot 1.0", "division": "roborumble", - "jar": "ap.Frederick_1.1.jar", - "jar_sha256": "d7f1709e4ea064f0662f383c339f57390977292fdd921933adc36e305a375899", - "key": "roborumble/ap.Frederick_1.1.jar", + "jar": "stelo.PatternRobot_1.0.jar", + "jar_sha256": "be89fcf05353666ee404daa00dc092c918c2fcd1bfdbdf5f4b55b1f5b766f248", + "key": "roborumble/stelo.PatternRobot_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 34.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 125.0, + "score": 3349.0, "scores": [ - 124.0, - 1.0 + 1839.0, + 1510.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/apc.Caan_1.0.jar": { + "roborumble/stelo.PianistNano_1.3.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apc.Caan 1.0", + "classic_selected": "stelo.PianistNano 1.3", "division": "roborumble", - "jar": "apc.Caan_1.0.jar", - "jar_sha256": "1cd29b8da786378b068170b3be45ce03620477218732e4b54e939165f33463b6", - "key": "roborumble/apc.Caan_1.0.jar", + "jar": "stelo.PianistNano_1.3.jar", + "jar_sha256": "6232aa5e13438091dfab8f68bbec7eb970bac4dcf4124dcb1e1c2269a81778ca", + "key": "roborumble/stelo.PianistNano_1.3.jar", "kind": "robot" }, - "latest_observation": "f844e4bc6aff7dc0", + "latest_observation": "dfbed6096848bdd9", "observations": [ { "classic": { - "elapsed": 3.0, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6154.0, + "score": 4954.0, "scores": [ - 2535.0, - 3619.0 + 2723.0, + 2231.0 ], - "selected": "apc.Caan 1.0" + "selected": "stelo.PianistNano 1.3" }, - "completed_at": "2026-09-08T20:29:39Z", - "delta_pct": -1.1, - "id": "f844e4bc6aff7dc0", + "completed_at": "2026-09-21T19:27:07Z", + "confirmation": null, + "delta_pct": -41.6, + "id": "dfbed6096848bdd9", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41073,90 +180405,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "apc.Caan 1.0", + "classic_selected": "stelo.PianistNano 1.3", "division": "roborumble", - "jar": "apc.Caan_1.0.jar", - "jar_sha256": "1cd29b8da786378b068170b3be45ce03620477218732e4b54e939165f33463b6", - "key": "roborumble/apc.Caan_1.0.jar", + "jar": "stelo.PianistNano_1.3.jar", + "jar_sha256": "6232aa5e13438091dfab8f68bbec7eb970bac4dcf4124dcb1e1c2269a81778ca", + "key": "roborumble/stelo.PianistNano_1.3.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6084.0, + "score": 2893.0, "scores": [ - 3257.0, - 2827.0 + 1778.0, + 1115.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/apc.Colossus2_0.12.jar": { + "roborumble/stelo.RamTrackSurfer_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apc.Colossus2 0.12", + "classic_selected": "stelo.RamTrackSurfer 1.2", "division": "roborumble", - "jar": "apc.Colossus2_0.12.jar", - "jar_sha256": "b4dbfb04c20332efad6d132d89259a0218fb245dbc8d73a14e368d6dcc024db3", - "key": "roborumble/apc.Colossus2_0.12.jar", + "jar": "stelo.RamTrackSurfer_1.2.jar", + "jar_sha256": "5946cd4f6311977bb2ea519440a6a18a5d7019b80ba1eadf120e82931a9ab58a", + "key": "roborumble/stelo.RamTrackSurfer_1.2.jar", "kind": "robot" }, - "latest_observation": "6234b82cd630f7c9", + "latest_observation": "2435f292d4571cb8", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 11750.0, + "score": 5320.0, "scores": [ - 5594.0, - 6156.0 + 2462.0, + 2858.0 ], - "selected": "apc.Colossus2 0.12" + "selected": "stelo.RamTrackSurfer 1.2" }, - "completed_at": "2026-09-08T20:29:46Z", - "delta_pct": null, - "id": "6234b82cd630f7c9", + "completed_at": "2026-09-21T19:27:39Z", + "confirmation": null, + "delta_pct": -11.6, + "id": "2435f292d4571cb8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41164,188 +180496,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "apc.Colossus2 0.12", + "classic_selected": "stelo.RamTrackSurfer 1.2", "division": "roborumble", - "jar": "apc.Colossus2_0.12.jar", - "jar_sha256": "b4dbfb04c20332efad6d132d89259a0218fb245dbc8d73a14e368d6dcc024db3", - "key": "roborumble/apc.Colossus2_0.12.jar", + "jar": "stelo.RamTrackSurfer_1.2.jar", + "jar_sha256": "5946cd4f6311977bb2ea519440a6a18a5d7019b80ba1eadf120e82931a9ab58a", + "key": "roborumble/stelo.RamTrackSurfer_1.2.jar", "kind": "robot" }, - "status": "FAIL (TR)", - "tank_royale": { - "elapsed": 4.2, - "error_count": 160, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.ArrayIndexOutOfBoundsException: Index 20 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 21 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 22 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 24 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 25 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 26 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 27 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 28 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 29 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 30 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 31 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 32 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 33 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 35 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 36 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 37 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 38 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 39 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 40 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 41 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 42 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 43 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 44 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 45 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 46 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 47 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 48 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 49 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 52 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 53 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 54 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 55 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 56 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 57 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 58 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 59 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 60 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 61 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 62 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 63 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 64 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 65 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 66 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 67 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 68 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 69 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 70 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 71 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 72 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 20 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 21 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 22 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 23 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 24 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 25 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 26 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 27 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 28 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 29 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 30 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 31 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 32 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 33 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 34 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 35 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 36 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 37 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 38 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 39 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 40 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 41 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 42 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 43 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 44 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 45 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 46 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 47 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 48 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 49 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 50 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 51 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 52 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 53 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 54 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 55 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 56 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 57 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 58 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 59 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 60 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 61 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 62 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 63 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 64 out of bounds for length 20", - "java.lang.ArrayIndexOutOfBoundsException: Index 65 out of bounds for length 20" + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 28.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4705.0, + "scores": [ + 2555.0, + 2150.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/apc.LeeroyJenkins2_1.0.jar": { + "roborumble/stelo.Randomness_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apc.LeeroyJenkins2 1.0", + "classic_selected": "stelo.Randomness 1.1", "division": "roborumble", - "jar": "apc.LeeroyJenkins2_1.0.jar", - "jar_sha256": "966e1947db52d724adaf02c233a17fdb172066c7fb9ab7a41741ba7eb5374a0d", - "key": "roborumble/apc.LeeroyJenkins2_1.0.jar", + "jar": "stelo.Randomness_1.1.jar", + "jar_sha256": "16a117f958df0bd34ea0c6a6f58607e7295f85146d655c0f5609b516dcaf5f90", + "key": "roborumble/stelo.Randomness_1.1.jar", "kind": "robot" }, - "latest_observation": "c115dfcf1a4a4fdf", + "latest_observation": "9fd868a5044a5de0", "observations": [ { "classic": { - "elapsed": 2.8, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6444.0, + "score": 6057.0, "scores": [ - 2482.0, - 3962.0 + 3130.0, + 2927.0 ], - "selected": "apc.LeeroyJenkins2 1.0" + "selected": "stelo.Randomness 1.1" }, - "completed_at": "2026-09-08T20:31:46Z", - "delta_pct": -1.3, - "id": "c115dfcf1a4a4fdf", + "completed_at": "2026-09-21T19:28:12Z", + "confirmation": null, + "delta_pct": -61.8, + "id": "9fd868a5044a5de0", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41353,90 +180587,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "apc.LeeroyJenkins2 1.0", + "classic_selected": "stelo.Randomness 1.1", "division": "roborumble", - "jar": "apc.LeeroyJenkins2_1.0.jar", - "jar_sha256": "966e1947db52d724adaf02c233a17fdb172066c7fb9ab7a41741ba7eb5374a0d", - "key": "roborumble/apc.LeeroyJenkins2_1.0.jar", + "jar": "stelo.Randomness_1.1.jar", + "jar_sha256": "16a117f958df0bd34ea0c6a6f58607e7295f85146d655c0f5609b516dcaf5f90", + "key": "roborumble/stelo.Randomness_1.1.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 30.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6361.0, + "score": 2311.0, "scores": [ - 3284.0, - 3077.0 + 1341.0, + 970.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/apc.botM_3.0.jar": { + "roborumble/stelo.SteloTestNano_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apc.botM 3.0", + "classic_selected": "stelo.SteloTestNano 1.0", "division": "roborumble", - "jar": "apc.botM_3.0.jar", - "jar_sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94", - "key": "roborumble/apc.botM_3.0.jar", + "jar": "stelo.SteloTestNano_1.0.jar", + "jar_sha256": "6276d993f10fcc06ff5202e2f165e67e8e9841df9d9581f957d8027d0c50394c", + "key": "roborumble/stelo.SteloTestNano_1.0.jar", "kind": "robot" }, - "latest_observation": "4a1b06c7f3fd0456", + "latest_observation": "11d2bb55a6b34db5", "observations": [ { "classic": { - "elapsed": 2.8, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5572.0, + "score": 4247.0, "scores": [ - 3017.0, - 2555.0 + 2223.0, + 2024.0 ], - "selected": "apc.botM 3.0" + "selected": "stelo.SteloTestNano 1.0" }, - "completed_at": "2026-09-08T20:29:18Z", - "delta_pct": 2.7, - "id": "4a1b06c7f3fd0456", + "completed_at": "2026-09-21T19:28:30Z", + "confirmation": null, + "delta_pct": -42.8, + "id": "11d2bb55a6b34db5", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41444,90 +180678,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "apc.botM 3.0", + "classic_selected": "stelo.SteloTestNano 1.0", "division": "roborumble", - "jar": "apc.botM_3.0.jar", - "jar_sha256": "9348a9b3c2e0f175bacf361dc3b20a0842f186c228564bcafd8b6d853d345d94", - "key": "roborumble/apc.botM_3.0.jar", + "jar": "stelo.SteloTestNano_1.0.jar", + "jar_sha256": "6276d993f10fcc06ff5202e2f165e67e8e9841df9d9581f957d8027d0c50394c", + "key": "roborumble/stelo.SteloTestNano_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5725.0, + "score": 2429.0, "scores": [ - 3022.0, - 2703.0 + 1313.0, + 1116.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/apollokidd.ApolloKidd_0.9.jar": { + "roborumble/stelo.UnfoolableNano_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apollokidd.ApolloKidd 0.9", + "classic_selected": "stelo.UnfoolableNano 1.0", "division": "roborumble", - "jar": "apollokidd.ApolloKidd_0.9.jar", - "jar_sha256": "e7153516f9b25d4d571e484022c7c9fc6ab19f036faeb46213764691c84e7390", - "key": "roborumble/apollokidd.ApolloKidd_0.9.jar", + "jar": "stelo.UnfoolableNano_1.0.jar", + "jar_sha256": "3133cce3cc0560116e8a50255aea3731025e9daa4f93318b5b46628eff92f6aa", + "key": "roborumble/stelo.UnfoolableNano_1.0.jar", "kind": "robot" }, - "latest_observation": "b90a01cef8102d4f", + "latest_observation": "18ffe1f130b14c1a", "observations": [ { "classic": { "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10425.0, + "score": 4581.0, "scores": [ - 4744.0, - 5681.0 + 2473.0, + 2108.0 ], - "selected": "apollokidd.ApolloKidd 0.9" + "selected": "stelo.UnfoolableNano 1.0" }, - "completed_at": "2026-09-08T20:32:13Z", - "delta_pct": 34.5, - "id": "b90a01cef8102d4f", + "completed_at": "2026-09-21T19:28:47Z", + "confirmation": null, + "delta_pct": -43.1, + "id": "18ffe1f130b14c1a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41535,24 +180769,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "apollokidd.ApolloKidd 0.9", + "classic_selected": "stelo.UnfoolableNano 1.0", "division": "roborumble", - "jar": "apollokidd.ApolloKidd_0.9.jar", - "jar_sha256": "e7153516f9b25d4d571e484022c7c9fc6ab19f036faeb46213764691c84e7390", - "key": "roborumble/apollokidd.ApolloKidd_0.9.jar", + "jar": "stelo.UnfoolableNano_1.0.jar", + "jar_sha256": "3133cce3cc0560116e8a50255aea3731025e9daa4f93318b5b46628eff92f6aa", + "key": "roborumble/stelo.UnfoolableNano_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 24.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 14020.0, + "score": 2608.0, "scores": [ - 7164.0, - 6856.0 + 1569.0, + 1039.0 ], "skipped": null } @@ -41560,65 +180796,63 @@ ], "status": "score-review" }, - "roborumble/apv.AspidReloaded_0.6.jar": { + "roborumble/stelo.UntouchableNano_1.4.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apv.AspidReloaded 0.6", + "classic_selected": "stelo.UntouchableNano 1.4", "division": "roborumble", - "jar": "apv.AspidReloaded_0.6.jar", - "jar_sha256": "9cbef59e538da1a8edb9d9dd38ac7970a9607232b6e663eeaae9899c4c3161b1", - "key": "roborumble/apv.AspidReloaded_0.6.jar", + "jar": "stelo.UntouchableNano_1.4.jar", + "jar_sha256": "64d8cbd097c62d7c10218a48733c47ba16577689b412bbd855ee034cd61748a8", + "key": "roborumble/stelo.UntouchableNano_1.4.jar", "kind": "robot" }, - "latest_observation": "22f23ec4b2359408", + "latest_observation": "d7e07b1217de2e3a", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5453.0, + "score": 4708.0, "scores": [ - 2852.0, - 2601.0 + 2370.0, + 2338.0 ], - "selected": "apv.AspidReloaded 0.6" + "selected": "stelo.UntouchableNano 1.4" }, - "completed_at": "2026-09-08T20:32:53Z", - "delta_pct": -9.7, - "id": "22f23ec4b2359408", + "completed_at": "2026-09-21T19:29:08Z", + "confirmation": null, + "delta_pct": -10.7, + "id": "d7e07b1217de2e3a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41626,24 +180860,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "apv.AspidReloaded 0.6", + "classic_selected": "stelo.UntouchableNano 1.4", "division": "roborumble", - "jar": "apv.AspidReloaded_0.6.jar", - "jar_sha256": "9cbef59e538da1a8edb9d9dd38ac7970a9607232b6e663eeaae9899c4c3161b1", - "key": "roborumble/apv.AspidReloaded_0.6.jar", + "jar": "stelo.UntouchableNano_1.4.jar", + "jar_sha256": "64d8cbd097c62d7c10218a48733c47ba16577689b412bbd855ee034cd61748a8", + "key": "roborumble/stelo.UntouchableNano_1.4.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4926.0, + "score": 4206.0, "scores": [ - 2805.0, - 2121.0 + 2540.0, + 1666.0 ], "skipped": null } @@ -41651,65 +180887,63 @@ ], "status": "PASS" }, - "roborumble/apv.Aspid_1.7.jar": { + "roborumble/step.NanoBidu_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apv.Aspid 1.7", + "classic_selected": "step.NanoBidu 1.0", "division": "roborumble", - "jar": "apv.Aspid_1.7.jar", - "jar_sha256": "4cf2bf08d8816f48106ef02f849e5afd7b52f46490902c8643d2d1c19853437d", - "key": "roborumble/apv.Aspid_1.7.jar", + "jar": "step.NanoBidu_1.0.jar", + "jar_sha256": "3f89161c29ced2b8b4a58cea2e9ef6f5679c906a905f6ce04a171eff8d8ea801", + "key": "roborumble/step.NanoBidu_1.0.jar", "kind": "robot" }, - "latest_observation": "f0bfd59e67a0674e", + "latest_observation": "b4b24069c0200fe4", "observations": [ { "classic": { - "elapsed": 3.2, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5475.0, + "score": 4379.0, "scores": [ - 2444.0, - 3031.0 + 2189.0, + 2190.0 ], - "selected": "apv.Aspid 1.7" + "selected": "step.NanoBidu 1.0" }, - "completed_at": "2026-09-08T20:32:34Z", - "delta_pct": -10.1, - "id": "f0bfd59e67a0674e", + "completed_at": "2026-09-21T19:29:27Z", + "confirmation": null, + "delta_pct": -3.6, + "id": "b4b24069c0200fe4", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41717,24 +180951,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "apv.Aspid 1.7", + "classic_selected": "step.NanoBidu 1.0", "division": "roborumble", - "jar": "apv.Aspid_1.7.jar", - "jar_sha256": "4cf2bf08d8816f48106ef02f849e5afd7b52f46490902c8643d2d1c19853437d", - "key": "roborumble/apv.Aspid_1.7.jar", + "jar": "step.NanoBidu_1.0.jar", + "jar_sha256": "3f89161c29ced2b8b4a58cea2e9ef6f5679c906a905f6ce04a171eff8d8ea801", + "key": "roborumble/step.NanoBidu_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4924.0, + "score": 4221.0, "scores": [ - 2572.0, - 2352.0 + 2260.0, + 1961.0 ], "skipped": null } @@ -41742,68 +180978,63 @@ ], "status": "PASS" }, - "roborumble/apv.LauLectrik_1.2.jar": { + "roborumble/step.nanoPri_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apv.LauLectrik 1.2", + "classic_selected": "step.nanoPri 1.0", "division": "roborumble", - "jar": "apv.LauLectrik_1.2.jar", - "jar_sha256": "b9268644ac0983cc1feaef4d7052c796ba74e0da321887bdaf37da70725ff822", - "key": "roborumble/apv.LauLectrik_1.2.jar", + "jar": "step.nanoPri_1.0.jar", + "jar_sha256": "b0e70f458532d1924cdf10ee5ab670bb3a705386dc8a5cac295a3b72c7606e75", + "key": "roborumble/step.nanoPri_1.0.jar", "kind": "robot" }, - "latest_observation": "379bc7ba025c9021", + "latest_observation": "9485f074e69490f3", "observations": [ { "classic": { - "elapsed": 3.2, - "error_count": 2, - "errors": [ - "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\apv\\LauLectrik.data\\apv.LauLectrik.zip (Den angivne fil blev ikke fundet)", - "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\apv\\LauLectrik.data\\apv.LauLectrik.zip (Den angivne fil blev ikke fundet)" - ], - "has_log": true, + "elapsed": 2.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5751.0, + "score": 10481.0, "scores": [ - 2852.0, - 2899.0 + 5534.0, + 4947.0 ], - "selected": "apv.LauLectrik 1.2" + "selected": "step.nanoPri 1.0" }, - "completed_at": "2026-09-08T20:33:13Z", - "delta_pct": 1.8, - "id": "379bc7ba025c9021", + "completed_at": "2026-09-21T19:29:39Z", + "confirmation": null, + "delta_pct": 38.9, + "id": "9485f074e69490f3", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41811,93 +181042,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "apv.LauLectrik 1.2", + "classic_selected": "step.nanoPri 1.0", "division": "roborumble", - "jar": "apv.LauLectrik_1.2.jar", - "jar_sha256": "b9268644ac0983cc1feaef4d7052c796ba74e0da321887bdaf37da70725ff822", - "key": "roborumble/apv.LauLectrik_1.2.jar", + "jar": "step.nanoPri_1.0.jar", + "jar_sha256": "b0e70f458532d1924cdf10ee5ab670bb3a705386dc8a5cac295a3b72c7606e75", + "key": "roborumble/step.nanoPri_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 16.0, - "error_count": 2, - "errors": [ - "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\apv.LauLectrik_1.2\\LauLectrik.data\\2.zip (Den angivne fil blev ikke fundet)", - "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\apv.LauLectrik_1.2-2\\LauLectrik.data\\1.zip (Den angivne fil blev ikke fundet)" - ], - "has_log": true, + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5853.0, + "score": 14558.0, "scores": [ - 3459.0, - 2394.0 + 7532.0, + 7026.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/apv.MicroAspid_1.8.jar": { + "roborumble/stf.PanzerGeneral_0.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apv.MicroAspid 1.8", + "classic_selected": "stf.PanzerGeneral 0.1", "division": "roborumble", - "jar": "apv.MicroAspid_1.8.jar", - "jar_sha256": "2bbff478cfaca3f612e1bb707973c4a65a7be125ef016689f3cba9363f9147e6", - "key": "roborumble/apv.MicroAspid_1.8.jar", + "jar": "stf.PanzerGeneral_0.1.jar", + "jar_sha256": "c3f1ed1e3855e25f1847ecdd8b9145aa869483754b5b4f93604920da703b374c", + "key": "roborumble/stf.PanzerGeneral_0.1.jar", "kind": "robot" }, - "latest_observation": "683da02ff1de941a", + "latest_observation": "4ae3b2213f277234", "observations": [ { "classic": { - "elapsed": 3.1, + "elapsed": 2.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4316.0, + "score": 9150.0, "scores": [ - 1971.0, - 2345.0 + 4732.0, + 4418.0 ], - "selected": "apv.MicroAspid 1.8" + "selected": "stf.PanzerGeneral 0.1" }, - "completed_at": "2026-09-08T20:33:36Z", - "delta_pct": -2.1, - "id": "683da02ff1de941a", + "completed_at": "2026-09-21T19:29:56Z", + "confirmation": null, + "delta_pct": 6.4, + "id": "4ae3b2213f277234", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41905,24 +181133,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "apv.MicroAspid 1.8", + "classic_selected": "stf.PanzerGeneral 0.1", "division": "roborumble", - "jar": "apv.MicroAspid_1.8.jar", - "jar_sha256": "2bbff478cfaca3f612e1bb707973c4a65a7be125ef016689f3cba9363f9147e6", - "key": "roborumble/apv.MicroAspid_1.8.jar", + "jar": "stf.PanzerGeneral_0.1.jar", + "jar_sha256": "c3f1ed1e3855e25f1847ecdd8b9145aa869483754b5b4f93604920da703b374c", + "key": "roborumble/stf.PanzerGeneral_0.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4224.0, + "score": 9740.0, "scores": [ - 2166.0, - 2058.0 + 5201.0, + 4539.0 ], "skipped": null } @@ -41930,65 +181160,63 @@ ], "status": "PASS" }, - "roborumble/apv.NanoLauLectrikTheCannibal_1.1.jar": { + "roborumble/stordy.StordyBot_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apv.NanoLauLectrikTheCannibal 1.1", + "classic_selected": "stordy.StordyBot 1.0", "division": "roborumble", - "jar": "apv.NanoLauLectrikTheCannibal_1.1.jar", - "jar_sha256": "de413e324848ddca35723cea47c4ed4e23c46b669d4fbfe97ceac6d2c93c1fc8", - "key": "roborumble/apv.NanoLauLectrikTheCannibal_1.1.jar", + "jar": "stordy.StordyBot_1.0.jar", + "jar_sha256": "3dd1123f7362f78804e2cc2906f8eb2c46cc96a32e0800c31fb937340eabbc33", + "key": "roborumble/stordy.StordyBot_1.0.jar", "kind": "robot" }, - "latest_observation": "15a460cbb677c889", + "latest_observation": "833fad64a48e390f", "observations": [ { "classic": { - "elapsed": 2.2, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 13019.0, + "score": 6397.0, "scores": [ - 6404.0, - 6615.0 + 3683.0, + 2714.0 ], - "selected": "apv.NanoLauLectrikTheCannibal 1.1" + "selected": "stordy.StordyBot 1.0" }, - "completed_at": "2026-09-08T20:34:11Z", - "delta_pct": -6.0, - "id": "15a460cbb677c889", + "completed_at": "2026-09-21T19:30:17Z", + "confirmation": null, + "delta_pct": -10.2, + "id": "833fad64a48e390f", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -41996,24 +181224,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "apv.NanoLauLectrikTheCannibal 1.1", + "classic_selected": "stordy.StordyBot 1.0", "division": "roborumble", - "jar": "apv.NanoLauLectrikTheCannibal_1.1.jar", - "jar_sha256": "de413e324848ddca35723cea47c4ed4e23c46b669d4fbfe97ceac6d2c93c1fc8", - "key": "roborumble/apv.NanoLauLectrikTheCannibal_1.1.jar", + "jar": "stordy.StordyBot_1.0.jar", + "jar_sha256": "3dd1123f7362f78804e2cc2906f8eb2c46cc96a32e0800c31fb937340eabbc33", + "key": "roborumble/stordy.StordyBot_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 12.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12236.0, + "score": 5743.0, "scores": [ - 6201.0, - 6035.0 + 2888.0, + 2855.0 ], "skipped": null } @@ -42021,65 +181251,63 @@ ], "status": "PASS" }, - "roborumble/apv.NanoLauLectrik_1.0.jar": { + "roborumble/stranger.nano.TestBot_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apv.NanoLauLectrik 1.0", + "classic_selected": "stranger.nano.TestBot 1.0", "division": "roborumble", - "jar": "apv.NanoLauLectrik_1.0.jar", - "jar_sha256": "4500794fdf2577950dd3981cdb314b4f750e1bfa66133dcdf546fa0203ee868d", - "key": "roborumble/apv.NanoLauLectrik_1.0.jar", + "jar": "stranger.nano.TestBot_1.0.jar", + "jar_sha256": "aea44be6c5038ec1af7720b42ad0b1e6f1cecb42b166f7c3658940a772312357", + "key": "roborumble/stranger.nano.TestBot_1.0.jar", "kind": "robot" }, - "latest_observation": "1aa9b09bc500fd4b", + "latest_observation": "0a6e1fec08a87839", "observations": [ { "classic": { - "elapsed": 3.9, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5376.0, + "score": 7030.0, "scores": [ - 2551.0, - 2825.0 + 2972.0, + 4058.0 ], - "selected": "apv.NanoLauLectrik 1.0" + "selected": "stranger.nano.TestBot 1.0" }, - "completed_at": "2026-09-08T20:33:57Z", - "delta_pct": -14.2, - "id": "1aa9b09bc500fd4b", + "completed_at": "2026-09-21T19:30:34Z", + "confirmation": null, + "delta_pct": -1.6, + "id": "0a6e1fec08a87839", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42087,24 +181315,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "apv.NanoLauLectrik 1.0", + "classic_selected": "stranger.nano.TestBot 1.0", "division": "roborumble", - "jar": "apv.NanoLauLectrik_1.0.jar", - "jar_sha256": "4500794fdf2577950dd3981cdb314b4f750e1bfa66133dcdf546fa0203ee868d", - "key": "roborumble/apv.NanoLauLectrik_1.0.jar", + "jar": "stranger.nano.TestBot_1.0.jar", + "jar_sha256": "aea44be6c5038ec1af7720b42ad0b1e6f1cecb42b166f7c3658940a772312357", + "key": "roborumble/stranger.nano.TestBot_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4612.0, + "score": 6915.0, "scores": [ - 2974.0, - 1638.0 + 3972.0, + 2943.0 ], "skipped": null } @@ -42112,65 +181342,63 @@ ], "status": "PASS" }, - "roborumble/apv.ScruchiPu_1.0.jar": { + "roborumble/strider.Festis_1.2.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apv.ScruchiPu 1.0", + "classic_selected": "strider.Festis 1.2.1", "division": "roborumble", - "jar": "apv.ScruchiPu_1.0.jar", - "jar_sha256": "dcefa76d1e2eb841349fe2dce3a84218c99c08dba3eb6ecc5a34b933e00096bc", - "key": "roborumble/apv.ScruchiPu_1.0.jar", + "jar": "strider.Festis_1.2.1.jar", + "jar_sha256": "f604f7d5d585520675450456dffcbfed7a2f05d22849fa3fa6af772b2e4d00af", + "key": "roborumble/strider.Festis_1.2.1.jar", "kind": "robot" }, - "latest_observation": "d749a519d41481d5", + "latest_observation": "e51b547ab2b1acfb", "observations": [ { "classic": { - "elapsed": 4.3, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5327.0, + "score": 5470.0, "scores": [ - 2914.0, - 2413.0 + 2700.0, + 2770.0 ], - "selected": "apv.ScruchiPu 1.0" + "selected": "strider.Festis 1.2.1" }, - "completed_at": "2026-09-08T20:34:32Z", - "delta_pct": -12.5, - "id": "d749a519d41481d5", + "completed_at": "2026-09-21T19:30:53Z", + "confirmation": null, + "delta_pct": -15.6, + "id": "e51b547ab2b1acfb", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42178,24 +181406,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "apv.ScruchiPu 1.0", + "classic_selected": "strider.Festis 1.2.1", "division": "roborumble", - "jar": "apv.ScruchiPu_1.0.jar", - "jar_sha256": "dcefa76d1e2eb841349fe2dce3a84218c99c08dba3eb6ecc5a34b933e00096bc", - "key": "roborumble/apv.ScruchiPu_1.0.jar", + "jar": "strider.Festis_1.2.1.jar", + "jar_sha256": "f604f7d5d585520675450456dffcbfed7a2f05d22849fa3fa6af772b2e4d00af", + "key": "roborumble/strider.Festis_1.2.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4661.0, + "score": 4614.0, "scores": [ - 2585.0, - 2076.0 + 2458.0, + 2156.0 ], "skipped": null } @@ -42203,65 +181433,63 @@ ], "status": "PASS" }, - "roborumble/apv.TheBrainPi_0.5fix.jar": { + "roborumble/strider.Mer_1.1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apv.TheBrainPi 0.5fix", + "classic_selected": "strider.Mer 1.1.0", "division": "roborumble", - "jar": "apv.TheBrainPi_0.5fix.jar", - "jar_sha256": "6414ce843145505046bfdb9c4cba00b486ebdead9767c9d3d1fb3b245746746e", - "key": "roborumble/apv.TheBrainPi_0.5fix.jar", + "jar": "strider.Mer_1.1.0.jar", + "jar_sha256": "4e14ee1bd5a7df2b244def13e9e8a32ac6020311aef6da54c5d2128eadd9b706", + "key": "roborumble/strider.Mer_1.1.0.jar", "kind": "robot" }, - "latest_observation": "0b26bcefd7d92f4f", + "latest_observation": "a3c8b04eee54adcc", "observations": [ { "classic": { - "elapsed": 4.8, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5321.0, + "score": 4688.0, "scores": [ - 2586.0, - 2735.0 + 2487.0, + 2201.0 ], - "selected": "apv.TheBrainPi 0.5fix" + "selected": "strider.Mer 1.1.0" }, - "completed_at": "2026-09-08T20:35:24Z", - "delta_pct": -4.0, - "id": "0b26bcefd7d92f4f", + "completed_at": "2026-09-21T19:31:16Z", + "confirmation": null, + "delta_pct": 9.0, + "id": "a3c8b04eee54adcc", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42269,24 +181497,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "apv.TheBrainPi 0.5fix", + "classic_selected": "strider.Mer 1.1.0", "division": "roborumble", - "jar": "apv.TheBrainPi_0.5fix.jar", - "jar_sha256": "6414ce843145505046bfdb9c4cba00b486ebdead9767c9d3d1fb3b245746746e", - "key": "roborumble/apv.TheBrainPi_0.5fix.jar", + "jar": "strider.Mer_1.1.0.jar", + "jar_sha256": "4e14ee1bd5a7df2b244def13e9e8a32ac6020311aef6da54c5d2128eadd9b706", + "key": "roborumble/strider.Mer_1.1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5107.0, + "score": 5109.0, "scores": [ - 2939.0, - 2168.0 + 3149.0, + 1960.0 ], "skipped": null } @@ -42294,65 +181524,63 @@ ], "status": "PASS" }, - "roborumble/apv.test.Virus_0.6.1.jar": { + "roborumble/stuff.Vlad_0.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "apv.test.Virus 0.6.1", + "classic_selected": "stuff.Vlad 0.1", "division": "roborumble", - "jar": "apv.test.Virus_0.6.1.jar", - "jar_sha256": "d6ce0ae230281fd974d6326c1e80fe53714bdbe20a09511911e81efed040f798", - "key": "roborumble/apv.test.Virus_0.6.1.jar", + "jar": "stuff.Vlad_0.1.jar", + "jar_sha256": "775e2901c72392e30e28e91ac0aa7e6678c3143726b785ac8bf8aa8d5c0cdeeb", + "key": "roborumble/stuff.Vlad_0.1.jar", "kind": "robot" }, - "latest_observation": "fb63ed9dcd64d83b", + "latest_observation": "adb6530a5ea5e2f9", "observations": [ { "classic": { - "elapsed": 6.8, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4347.0, + "score": 5447.0, "scores": [ - 2153.0, - 2194.0 + 2835.0, + 2612.0 ], - "selected": "apv.test.Virus 0.6.1" + "selected": "stuff.Vlad 0.1" }, - "completed_at": "2026-09-08T20:35:03Z", - "delta_pct": 3.5, - "id": "fb63ed9dcd64d83b", + "completed_at": "2026-09-21T19:31:37Z", + "confirmation": null, + "delta_pct": -17.9, + "id": "adb6530a5ea5e2f9", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42360,24 +181588,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "apv.test.Virus 0.6.1", + "classic_selected": "stuff.Vlad 0.1", "division": "roborumble", - "jar": "apv.test.Virus_0.6.1.jar", - "jar_sha256": "d6ce0ae230281fd974d6326c1e80fe53714bdbe20a09511911e81efed040f798", - "key": "roborumble/apv.test.Virus_0.6.1.jar", + "jar": "stuff.Vlad_0.1.jar", + "jar_sha256": "775e2901c72392e30e28e91ac0aa7e6678c3143726b785ac8bf8aa8d5c0cdeeb", + "key": "roborumble/stuff.Vlad_0.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 24.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4498.0, + "score": 4474.0, "scores": [ - 2685.0, - 1813.0 + 2278.0, + 2196.0 ], "skipped": null } @@ -42385,65 +181615,63 @@ ], "status": "PASS" }, - "roborumble/ar.QuantumChromodynamics_1.2.1.jar": { + "roborumble/suh.mega.WaveSurferGF_1.04.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ar.QuantumChromodynamics 1.2.1", + "classic_selected": "suh.mega.WaveSurferGF 1.04", "division": "roborumble", - "jar": "ar.QuantumChromodynamics_1.2.1.jar", - "jar_sha256": "fe5372baa66f5f4fe5c138baa674c7b38c4548e200b9cc878ae7a78a0d3d95d7", - "key": "roborumble/ar.QuantumChromodynamics_1.2.1.jar", + "jar": "suh.mega.WaveSurferGF_1.04.jar", + "jar_sha256": "aa149f2d63a26aa3a601bf8d76fd7e10cee78a3731908a0aa3ba58c3db54c3c4", + "key": "roborumble/suh.mega.WaveSurferGF_1.04.jar", "kind": "robot" }, - "latest_observation": "4ac5fb2477202c50", + "latest_observation": "d964e8f33ee413f0", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5392.0, + "score": 5552.0, "scores": [ - 2523.0, - 2869.0 + 3524.0, + 2028.0 ], - "selected": "ar.QuantumChromodynamics 1.2.1" + "selected": "suh.mega.WaveSurferGF 1.04" }, - "completed_at": "2026-09-08T20:36:18Z", - "delta_pct": -5.3, - "id": "4ac5fb2477202c50", + "completed_at": "2026-09-21T19:32:06Z", + "confirmation": null, + "delta_pct": -69.1, + "id": "d964e8f33ee413f0", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42451,90 +181679,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ar.QuantumChromodynamics 1.2.1", + "classic_selected": "suh.mega.WaveSurferGF 1.04", "division": "roborumble", - "jar": "ar.QuantumChromodynamics_1.2.1.jar", - "jar_sha256": "fe5372baa66f5f4fe5c138baa674c7b38c4548e200b9cc878ae7a78a0d3d95d7", - "key": "roborumble/ar.QuantumChromodynamics_1.2.1.jar", + "jar": "suh.mega.WaveSurferGF_1.04.jar", + "jar_sha256": "aa149f2d63a26aa3a601bf8d76fd7e10cee78a3731908a0aa3ba58c3db54c3c4", + "key": "roborumble/suh.mega.WaveSurferGF_1.04.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 26.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5106.0, + "score": 1714.0, "scores": [ - 2925.0, - 2181.0 + 894.0, + 820.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/ar.TheoryOfEverything_1.2.1.jar": { + "roborumble/suh.mega.WaveSurferPG_1.06.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ar.TheoryOfEverything 1.2.1", + "classic_selected": "suh.mega.WaveSurferPG 1.06", "division": "roborumble", - "jar": "ar.TheoryOfEverything_1.2.1.jar", - "jar_sha256": "488629ee6595de0c24c69df967caa534dcc4359ace7708088dc544dfb98293b9", - "key": "roborumble/ar.TheoryOfEverything_1.2.1.jar", + "jar": "suh.mega.WaveSurferPG_1.06.jar", + "jar_sha256": "8154cbe8645640447447d1f55bf5da0e9484b6b7d6507c87824f9ebe71952848", + "key": "roborumble/suh.mega.WaveSurferPG_1.06.jar", "kind": "robot" }, - "latest_observation": "9ace621bf12f4172", + "latest_observation": "663308f1025d87ed", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.9, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5861.0, + "score": 5706.0, "scores": [ - 3122.0, - 2739.0 + 2519.0, + 3187.0 ], - "selected": "ar.TheoryOfEverything 1.2.1" + "selected": "suh.mega.WaveSurferPG 1.06" }, - "completed_at": "2026-09-08T20:36:37Z", - "delta_pct": -6.5, - "id": "9ace621bf12f4172", + "completed_at": "2026-09-21T19:32:33Z", + "confirmation": null, + "delta_pct": -51.6, + "id": "663308f1025d87ed", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42542,90 +181770,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ar.TheoryOfEverything 1.2.1", + "classic_selected": "suh.mega.WaveSurferPG 1.06", "division": "roborumble", - "jar": "ar.TheoryOfEverything_1.2.1.jar", - "jar_sha256": "488629ee6595de0c24c69df967caa534dcc4359ace7708088dc544dfb98293b9", - "key": "roborumble/ar.TheoryOfEverything_1.2.1.jar", + "jar": "suh.mega.WaveSurferPG_1.06.jar", + "jar_sha256": "8154cbe8645640447447d1f55bf5da0e9484b6b7d6507c87824f9ebe71952848", + "key": "roborumble/suh.mega.WaveSurferPG_1.06.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5482.0, + "score": 2760.0, "scores": [ - 2950.0, - 2532.0 + 1579.0, + 1181.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/ar.horizon.Horizon_1.2.2.jar": { + "roborumble/suh.micro.MirrorPM_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ar.horizon.Horizon 1.2.2", + "classic_selected": "suh.micro.MirrorPM 1.00", "division": "roborumble", - "jar": "ar.horizon.Horizon_1.2.2.jar", - "jar_sha256": "2d8dee69f687581106100d53b46cea3571ed70c88e9d8601b69c48f850c20a70", - "key": "roborumble/ar.horizon.Horizon_1.2.2.jar", + "jar": "suh.micro.MirrorPM_1.00.jar", + "jar_sha256": "74270d2ddbaabc3bf48bb7c776819225a6b9cae120784bc1af1f2629f0202a8e", + "key": "roborumble/suh.micro.MirrorPM_1.00.jar", "kind": "robot" }, - "latest_observation": "97286a0cb62861a8", + "latest_observation": "950022fbee88c1b3", "observations": [ { "classic": { - "elapsed": 12.5, + "elapsed": 4.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4866.0, + "score": 11827.0, "scores": [ - 2623.0, - 2243.0 + 5513.0, + 6314.0 ], - "selected": "ar.horizon.Horizon 1.2.2" + "selected": "suh.micro.MirrorPM 1.00" }, - "completed_at": "2026-09-08T20:36:01Z", - "delta_pct": -63.3, - "id": "97286a0cb62861a8", + "completed_at": "2026-09-21T19:32:58Z", + "confirmation": null, + "delta_pct": -24.9, + "id": "950022fbee88c1b3", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42633,90 +181861,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ar.horizon.Horizon 1.2.2", + "classic_selected": "suh.micro.MirrorPM 1.00", "division": "roborumble", - "jar": "ar.horizon.Horizon_1.2.2.jar", - "jar_sha256": "2d8dee69f687581106100d53b46cea3571ed70c88e9d8601b69c48f850c20a70", - "key": "roborumble/ar.horizon.Horizon_1.2.2.jar", + "jar": "suh.micro.MirrorPM_1.00.jar", + "jar_sha256": "74270d2ddbaabc3bf48bb7c776819225a6b9cae120784bc1af1f2629f0202a8e", + "key": "roborumble/suh.micro.MirrorPM_1.00.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 24.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 1784.0, + "score": 8883.0, "scores": [ - 1084.0, - 700.0 + 4638.0, + 4245.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ara.Shera_0.88.jar": { + "roborumble/suh.micro.WallPM_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ara.Shera 0.88", + "classic_selected": "suh.micro.WallPM 1.00", "division": "roborumble", - "jar": "ara.Shera_0.88.jar", - "jar_sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040", - "key": "roborumble/ara.Shera_0.88.jar", + "jar": "suh.micro.WallPM_1.00.jar", + "jar_sha256": "9bffaa037f0fc7236dd867f7848624000957af398bf6ed2187818f8546861763", + "key": "roborumble/suh.micro.WallPM_1.00.jar", "kind": "robot" }, - "latest_observation": "b32a6997ff56c9af", + "latest_observation": "c29ea1a9486a82ac", "observations": [ { "classic": { - "elapsed": 3.1, + "elapsed": 4.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4900.0, + "score": 7070.0, "scores": [ - 2860.0, - 2040.0 + 3491.0, + 3579.0 ], - "selected": "ara.Shera 0.88" + "selected": "suh.micro.WallPM 1.00" }, - "completed_at": "2026-09-08T20:37:14Z", - "delta_pct": 13.7, - "id": "b32a6997ff56c9af", + "completed_at": "2026-09-21T19:33:22Z", + "confirmation": null, + "delta_pct": -15.8, + "id": "c29ea1a9486a82ac", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42724,24 +181952,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ara.Shera 0.88", + "classic_selected": "suh.micro.WallPM 1.00", "division": "roborumble", - "jar": "ara.Shera_0.88.jar", - "jar_sha256": "9474b68598ae5e71010b835259467b6dc35427e2826ace23e484a6a11160a040", - "key": "roborumble/ara.Shera_0.88.jar", + "jar": "suh.micro.WallPM_1.00.jar", + "jar_sha256": "9bffaa037f0fc7236dd867f7848624000957af398bf6ed2187818f8546861763", + "key": "roborumble/suh.micro.WallPM_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 34.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5570.0, + "score": 5954.0, "scores": [ - 2985.0, - 2585.0 + 3271.0, + 2683.0 ], "skipped": null } @@ -42749,65 +181979,63 @@ ], "status": "PASS" }, - "roborumble/areb.Union_1.06.jar": { + "roborumble/suh.nano.AngularMirrorC_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "areb.Union 1.06", + "classic_selected": "suh.nano.AngularMirrorC 1.00", "division": "roborumble", - "jar": "areb.Union_1.06.jar", - "jar_sha256": "98ee4d7e04fbf9b6ae81c712f6e1b3090d76f1ba36ef84b80d16c82ddf830f1d", - "key": "roborumble/areb.Union_1.06.jar", + "jar": "suh.nano.AngularMirrorC_1.00.jar", + "jar_sha256": "d0778bbe3848d8614868c0c5207ea6c494f4e7126f62ef3ee530de917556d812", + "key": "roborumble/suh.nano.AngularMirrorC_1.00.jar", "kind": "robot" }, - "latest_observation": "e533066dda10e17a", + "latest_observation": "603c4b17840a5982", "observations": [ { "classic": { - "elapsed": 4.2, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5803.0, + "score": 14271.0, "scores": [ - 3072.0, - 2731.0 + 7158.0, + 7113.0 ], - "selected": "areb.Union 1.06" + "selected": "suh.nano.AngularMirrorC 1.00" }, - "completed_at": "2026-09-08T20:38:24Z", - "delta_pct": -16.2, - "id": "e533066dda10e17a", + "completed_at": "2026-09-21T19:33:41Z", + "confirmation": null, + "delta_pct": -7.9, + "id": "603c4b17840a5982", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42815,24 +182043,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "areb.Union 1.06", + "classic_selected": "suh.nano.AngularMirrorC 1.00", "division": "roborumble", - "jar": "areb.Union_1.06.jar", - "jar_sha256": "98ee4d7e04fbf9b6ae81c712f6e1b3090d76f1ba36ef84b80d16c82ddf830f1d", - "key": "roborumble/areb.Union_1.06.jar", + "jar": "suh.nano.AngularMirrorC_1.00.jar", + "jar_sha256": "d0778bbe3848d8614868c0c5207ea6c494f4e7126f62ef3ee530de917556d812", + "key": "roborumble/suh.nano.AngularMirrorC_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 32.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4862.0, + "score": 13145.0, "scores": [ - 2516.0, - 2346.0 + 6573.0, + 6572.0 ], "skipped": null } @@ -42840,65 +182070,63 @@ ], "status": "PASS" }, - "roborumble/arthord.KostyaTszyu_Beta2.jar": { + "roborumble/suh.nano.AntiGravityL_1.01.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "arthord.KostyaTszyu Beta2", + "classic_selected": "suh.nano.AntiGravityL 1.01", "division": "roborumble", - "jar": "arthord.KostyaTszyu_Beta2.jar", - "jar_sha256": "c4aff289b00bc68748dde4f18aff699b9ef22eceeb1e529ea086be5a61cccc4d", - "key": "roborumble/arthord.KostyaTszyu_Beta2.jar", + "jar": "suh.nano.AntiGravityL_1.01.jar", + "jar_sha256": "4e2e503093d1ef6c80c4748685de85952d4a52a56c8a455e918bca06c5fab7fe", + "key": "roborumble/suh.nano.AntiGravityL_1.01.jar", "kind": "robot" }, - "latest_observation": "36f054afe6dfd556", + "latest_observation": "baf33495f851c17e", "observations": [ { "classic": { "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4899.0, + "score": 3694.0, "scores": [ - 2615.0, - 2284.0 + 1777.0, + 1917.0 ], - "selected": "arthord.KostyaTszyu Beta2" + "selected": "suh.nano.AntiGravityL 1.01" }, - "completed_at": "2026-09-08T20:38:45Z", - "delta_pct": -33.0, - "id": "36f054afe6dfd556", + "completed_at": "2026-09-21T19:34:06Z", + "confirmation": null, + "delta_pct": -0.8, + "id": "baf33495f851c17e", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42906,90 +182134,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "arthord.KostyaTszyu Beta2", + "classic_selected": "suh.nano.AntiGravityL 1.01", "division": "roborumble", - "jar": "arthord.KostyaTszyu_Beta2.jar", - "jar_sha256": "c4aff289b00bc68748dde4f18aff699b9ef22eceeb1e529ea086be5a61cccc4d", - "key": "roborumble/arthord.KostyaTszyu_Beta2.jar", + "jar": "suh.nano.AntiGravityL_1.01.jar", + "jar_sha256": "4e2e503093d1ef6c80c4748685de85952d4a52a56c8a455e918bca06c5fab7fe", + "key": "roborumble/suh.nano.AntiGravityL_1.01.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3282.0, + "score": 3666.0, "scores": [ - 2664.0, - 618.0 + 1848.0, + 1818.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/arthord.NanoSatanMelee_Beta.jar": { + "roborumble/suh.nano.CornerRL_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "arthord.NanoSatanMelee Beta", + "classic_selected": "suh.nano.CornerRL 1.00", "division": "roborumble", - "jar": "arthord.NanoSatanMelee_Beta.jar", - "jar_sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe", - "key": "roborumble/arthord.NanoSatanMelee_Beta.jar", + "jar": "suh.nano.CornerRL_1.00.jar", + "jar_sha256": "a63e61f6c494a477ea7a44abcba82be98740089532c3b4cbec0270fd7d4c89c6", + "key": "roborumble/suh.nano.CornerRL_1.00.jar", "kind": "robot" }, - "latest_observation": "aee831eb589eb863", + "latest_observation": "b66676204709299f", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6700.0, + "score": 6100.0, "scores": [ - 3438.0, - 3262.0 + 2776.0, + 3324.0 ], - "selected": "arthord.NanoSatanMelee Beta" + "selected": "suh.nano.CornerRL 1.00" }, - "completed_at": "2026-09-08T20:39:55Z", - "delta_pct": 5.6, - "id": "aee831eb589eb863", + "completed_at": "2026-09-21T19:34:35Z", + "confirmation": null, + "delta_pct": -15.4, + "id": "b66676204709299f", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -42997,24 +182225,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "arthord.NanoSatanMelee Beta", + "classic_selected": "suh.nano.CornerRL 1.00", "division": "roborumble", - "jar": "arthord.NanoSatanMelee_Beta.jar", - "jar_sha256": "a0737bc6d25f6b89618c119a6df62ae89a44d9a2a7d662056dddefdde04f37fe", - "key": "roborumble/arthord.NanoSatanMelee_Beta.jar", + "jar": "suh.nano.CornerRL_1.00.jar", + "jar_sha256": "a63e61f6c494a477ea7a44abcba82be98740089532c3b4cbec0270fd7d4c89c6", + "key": "roborumble/suh.nano.CornerRL_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 26.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7076.0, + "score": 5162.0, "scores": [ - 3811.0, - 3265.0 + 2884.0, + 2278.0 ], "skipped": null } @@ -43022,65 +182252,63 @@ ], "status": "PASS" }, - "roborumble/arthord.NanoSatan_Mu.jar": { + "roborumble/suh.nano.CrossC_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "arthord.NanoSatan Mu", + "classic_selected": "suh.nano.CrossC 1.00", "division": "roborumble", - "jar": "arthord.NanoSatan_Mu.jar", - "jar_sha256": "a4796a1447ea7a3d8268dff283375e5188089afb88d66a62e14de9346a32e5fb", - "key": "roborumble/arthord.NanoSatan_Mu.jar", + "jar": "suh.nano.CrossC_1.00.jar", + "jar_sha256": "bed4b0e5eaa0121ad10506823406d4040bdcaee92a5d837d2eaa7bbb15859e7e", + "key": "roborumble/suh.nano.CrossC_1.00.jar", "kind": "robot" }, - "latest_observation": "cb4397fbdd3591a9", + "latest_observation": "70186a636cda28eb", "observations": [ { "classic": { - "elapsed": 3.4, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4802.0, + "score": 6486.0, "scores": [ - 2054.0, - 2748.0 + 2983.0, + 3503.0 ], - "selected": "arthord.NanoSatan Mu" + "selected": "suh.nano.CrossC 1.00" }, - "completed_at": "2026-09-08T20:39:38Z", - "delta_pct": -10.2, - "id": "cb4397fbdd3591a9", + "completed_at": "2026-09-21T19:34:58Z", + "confirmation": null, + "delta_pct": -15.9, + "id": "70186a636cda28eb", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43088,24 +182316,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "arthord.NanoSatan Mu", + "classic_selected": "suh.nano.CrossC 1.00", "division": "roborumble", - "jar": "arthord.NanoSatan_Mu.jar", - "jar_sha256": "a4796a1447ea7a3d8268dff283375e5188089afb88d66a62e14de9346a32e5fb", - "key": "roborumble/arthord.NanoSatan_Mu.jar", + "jar": "suh.nano.CrossC_1.00.jar", + "jar_sha256": "bed4b0e5eaa0121ad10506823406d4040bdcaee92a5d837d2eaa7bbb15859e7e", + "key": "roborumble/suh.nano.CrossC_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4310.0, + "score": 5452.0, "scores": [ - 2214.0, - 2096.0 + 2942.0, + 2510.0 ], "skipped": null } @@ -43113,65 +182343,63 @@ ], "status": "PASS" }, - "roborumble/arthord.micro.Apoptygma_0.4.jar": { + "roborumble/suh.nano.CrossH_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "arthord.micro.Apoptygma 0.4", + "classic_selected": "suh.nano.CrossH 1.00", "division": "roborumble", - "jar": "arthord.micro.Apoptygma_0.4.jar", - "jar_sha256": "d07f93659bb20a2980e452dad383dbe0e1333144918cabf313423bc19dba8509", - "key": "roborumble/arthord.micro.Apoptygma_0.4.jar", + "jar": "suh.nano.CrossH_1.00.jar", + "jar_sha256": "ea9b21dd77d31e759224ac576a403913aa77d4992d670b36c10976b8de1ec30f", + "key": "roborumble/suh.nano.CrossH_1.00.jar", "kind": "robot" }, - "latest_observation": "3c369261b2915cd0", + "latest_observation": "2ec68234ab872c7d", "observations": [ { "classic": { - "elapsed": 3.1, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5399.0, + "score": 8153.0, "scores": [ - 2673.0, - 2726.0 + 4036.0, + 4117.0 ], - "selected": "arthord.micro.Apoptygma 0.4" + "selected": "suh.nano.CrossH 1.00" }, - "completed_at": "2026-09-08T20:39:02Z", - "delta_pct": -24.5, - "id": "3c369261b2915cd0", + "completed_at": "2026-09-21T19:35:17Z", + "confirmation": null, + "delta_pct": -11.5, + "id": "2ec68234ab872c7d", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43179,24 +182407,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "arthord.micro.Apoptygma 0.4", + "classic_selected": "suh.nano.CrossH 1.00", "division": "roborumble", - "jar": "arthord.micro.Apoptygma_0.4.jar", - "jar_sha256": "d07f93659bb20a2980e452dad383dbe0e1333144918cabf313423bc19dba8509", - "key": "roborumble/arthord.micro.Apoptygma_0.4.jar", + "jar": "suh.nano.CrossH_1.00.jar", + "jar_sha256": "ea9b21dd77d31e759224ac576a403913aa77d4992d670b36c10976b8de1ec30f", + "key": "roborumble/suh.nano.CrossH_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4076.0, + "score": 7217.0, "scores": [ - 2054.0, - 2022.0 + 3641.0, + 3576.0 ], "skipped": null } @@ -43204,65 +182434,63 @@ ], "status": "PASS" }, - "roborumble/arthord.micro.Muffin_0.6.1.jar": { + "roborumble/suh.nano.CrossL_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "arthord.micro.Muffin 0.6.1", + "classic_selected": "suh.nano.CrossL 1.00", "division": "roborumble", - "jar": "arthord.micro.Muffin_0.6.1.jar", - "jar_sha256": "a5b7c2fe230839a0452e06b8036ef3ed5ebbe771c75a67a00e6d9f6ffe547c6c", - "key": "roborumble/arthord.micro.Muffin_0.6.1.jar", + "jar": "suh.nano.CrossL_1.00.jar", + "jar_sha256": "56a8e3f00172067e1e8b8083ff2005e46cc79dcf9adc73ea33a0958250c9c0f0", + "key": "roborumble/suh.nano.CrossL_1.00.jar", "kind": "robot" }, - "latest_observation": "a7b360b5da35fac2", + "latest_observation": "dcf16cb442c321eb", "observations": [ { "classic": { - "elapsed": 3.8, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5820.0, + "score": 6255.0, "scores": [ - 2568.0, - 3252.0 + 3019.0, + 3236.0 ], - "selected": "arthord.micro.Muffin 0.6.1" + "selected": "suh.nano.CrossL 1.00" }, - "completed_at": "2026-09-08T20:39:19Z", - "delta_pct": -63.2, - "id": "a7b360b5da35fac2", + "completed_at": "2026-09-21T19:35:38Z", + "confirmation": null, + "delta_pct": -6.0, + "id": "dcf16cb442c321eb", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "416f694b1474fed03af2601a1b2c486e57321cc6", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43270,90 +182498,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "arthord.micro.Muffin 0.6.1", + "classic_selected": "suh.nano.CrossL 1.00", "division": "roborumble", - "jar": "arthord.micro.Muffin_0.6.1.jar", - "jar_sha256": "a5b7c2fe230839a0452e06b8036ef3ed5ebbe771c75a67a00e6d9f6ffe547c6c", - "key": "roborumble/arthord.micro.Muffin_0.6.1.jar", + "jar": "suh.nano.CrossL_1.00.jar", + "jar_sha256": "56a8e3f00172067e1e8b8083ff2005e46cc79dcf9adc73ea33a0958250c9c0f0", + "key": "roborumble/suh.nano.CrossL_1.00.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 12.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2140.0, + "score": 5879.0, "scores": [ - 1415.0, - 725.0 + 2999.0, + 2880.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ary.Crisis_1.0.jar": { + "roborumble/suh.nano.MirrorH_1.01.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ary.Crisis 1.0", + "classic_selected": "suh.nano.MirrorH 1.01", "division": "roborumble", - "jar": "ary.Crisis_1.0.jar", - "jar_sha256": "ff0f375c270611bb30a788d6ea8d53c4237f0aef7e59138bdce5da97749b160e", - "key": "roborumble/ary.Crisis_1.0.jar", + "jar": "suh.nano.MirrorH_1.01.jar", + "jar_sha256": "2bfc095ad3a3a21b98c7b07646626c378b69e4ca732564b2fb8c10bb96d53fbf", + "key": "roborumble/suh.nano.MirrorH_1.01.jar", "kind": "robot" }, - "latest_observation": "2728b67184ef42c0", + "latest_observation": "cc4c6f2a362c05ef", "observations": [ { "classic": { - "elapsed": 3.0, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5380.0, + "score": 14157.0, "scores": [ - 2640.0, - 2740.0 + 7313.0, + 6844.0 ], - "selected": "ary.Crisis 1.0" + "selected": "suh.nano.MirrorH 1.01" }, - "completed_at": "2026-09-08T20:40:18Z", - "delta_pct": 0.7, - "id": "2728b67184ef42c0", + "completed_at": "2026-09-21T19:36:12Z", + "confirmation": null, + "delta_pct": 4.4, + "id": "cc4c6f2a362c05ef", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43361,24 +182589,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ary.Crisis 1.0", + "classic_selected": "suh.nano.MirrorH 1.01", "division": "roborumble", - "jar": "ary.Crisis_1.0.jar", - "jar_sha256": "ff0f375c270611bb30a788d6ea8d53c4237f0aef7e59138bdce5da97749b160e", - "key": "roborumble/ary.Crisis_1.0.jar", + "jar": "suh.nano.MirrorH_1.01.jar", + "jar_sha256": "2bfc095ad3a3a21b98c7b07646626c378b69e4ca732564b2fb8c10bb96d53fbf", + "key": "roborumble/suh.nano.MirrorH_1.01.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5417.0, + "score": 14775.0, "scores": [ - 3008.0, - 2409.0 + 7497.0, + 7278.0 ], "skipped": null } @@ -43386,133 +182616,63 @@ ], "status": "PASS" }, - "roborumble/ary.FourWD_1.3d.jar": { + "roborumble/suh.nano.MirrorL_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ary.FourWD 1.3d", + "classic_selected": "suh.nano.MirrorL 1.00", "division": "roborumble", - "jar": "ary.FourWD_1.3d.jar", - "jar_sha256": "bfe8768af3401df35cf4d4ec8e3e1d47d779cc5dfc284b212fda3153dbd21537", - "key": "roborumble/ary.FourWD_1.3d.jar", + "jar": "suh.nano.MirrorL_1.00.jar", + "jar_sha256": "4a13fde88c26aa681377ebc3e21445446cebf71a1675be81428e184fde564d8f", + "key": "roborumble/suh.nano.MirrorL_1.00.jar", "kind": "robot" }, - "latest_observation": "10b51506f52cd1be", + "latest_observation": "d11c0c11fe5784cf", "observations": [ { "classic": { - "elapsed": 2.9, - "error_count": 67, - "errors": [ - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"pt\" is null", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException", - "java.lang.NullPointerException" - ], - "has_log": true, + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5331.0, + "score": 113.0, "scores": [ - 2389.0, - 2942.0 + 58.0, + 55.0 ], - "selected": "ary.FourWD 1.3d" + "selected": "suh.nano.MirrorL 1.00" }, - "completed_at": "2026-09-08T20:40:43Z", - "delta_pct": -40.4, - "id": "10b51506f52cd1be", + "completed_at": "2026-09-21T19:36:35Z", + "confirmation": null, + "delta_pct": 3616.8, + "id": "d11c0c11fe5784cf", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43520,24 +182680,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ary.FourWD 1.3d", + "classic_selected": "suh.nano.MirrorL 1.00", "division": "roborumble", - "jar": "ary.FourWD_1.3d.jar", - "jar_sha256": "bfe8768af3401df35cf4d4ec8e3e1d47d779cc5dfc284b212fda3153dbd21537", - "key": "roborumble/ary.FourWD_1.3d.jar", + "jar": "suh.nano.MirrorL_1.00.jar", + "jar_sha256": "4a13fde88c26aa681377ebc3e21445446cebf71a1675be81428e184fde564d8f", + "key": "roborumble/suh.nano.MirrorL_1.00.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3178.0, + "score": 4200.0, "scores": [ - 1891.0, - 1287.0 + 2135.0, + 2065.0 ], "skipped": null } @@ -43545,65 +182707,63 @@ ], "status": "score-review" }, - "roborumble/ary.Help_1.0.jar": { + "roborumble/suh.nano.MyFirstAdvancedRobot_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ary.Help 1.0", + "classic_selected": "suh.nano.MyFirstAdvancedRobot 1.00", "division": "roborumble", - "jar": "ary.Help_1.0.jar", - "jar_sha256": "53b6ea8218bd5d68255505bee581a741a88511e58840a395b855ec8f69c2355d", - "key": "roborumble/ary.Help_1.0.jar", + "jar": "suh.nano.MyFirstAdvancedRobot_1.00.jar", + "jar_sha256": "e08fcc771e4315c3845ee2ae6526242c74a2e9310c8a26c53dfe65bb215c3416", + "key": "roborumble/suh.nano.MyFirstAdvancedRobot_1.00.jar", "kind": "robot" }, - "latest_observation": "a5fc6afd26a475b9", + "latest_observation": "d60893882f7b6653", "observations": [ { "classic": { - "elapsed": 3.4, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4834.0, + "score": 3329.0, "scores": [ - 2430.0, - 2404.0 + 1622.0, + 1707.0 ], - "selected": "ary.Help 1.0" + "selected": "suh.nano.MyFirstAdvancedRobot 1.00" }, - "completed_at": "2026-09-08T20:41:13Z", - "delta_pct": -38.8, - "id": "a5fc6afd26a475b9", + "completed_at": "2026-09-21T19:37:00Z", + "confirmation": null, + "delta_pct": -11.3, + "id": "d60893882f7b6653", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43611,90 +182771,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ary.Help 1.0", + "classic_selected": "suh.nano.MyFirstAdvancedRobot 1.00", "division": "roborumble", - "jar": "ary.Help_1.0.jar", - "jar_sha256": "53b6ea8218bd5d68255505bee581a741a88511e58840a395b855ec8f69c2355d", - "key": "roborumble/ary.Help_1.0.jar", + "jar": "suh.nano.MyFirstAdvancedRobot_1.00.jar", + "jar_sha256": "e08fcc771e4315c3845ee2ae6526242c74a2e9310c8a26c53dfe65bb215c3416", + "key": "roborumble/suh.nano.MyFirstAdvancedRobot_1.00.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 26.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2960.0, + "score": 2952.0, "scores": [ - 1618.0, - 1342.0 + 1559.0, + 1393.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ary.SMG_1.01.jar": { + "roborumble/suh.nano.OscillatorL_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ary.SMG 1.01", + "classic_selected": "suh.nano.OscillatorL 1.00", "division": "roborumble", - "jar": "ary.SMG_1.01.jar", - "jar_sha256": "036caac2e9d5aefaec139d97b677ac1ffc9e41af7f0f19c09431a781d3bd00f7", - "key": "roborumble/ary.SMG_1.01.jar", + "jar": "suh.nano.OscillatorL_1.00.jar", + "jar_sha256": "e10cd3dd99645ff94d965a14a7995c3d596db7de306b84527acb8aa9f065cb92", + "key": "roborumble/suh.nano.OscillatorL_1.00.jar", "kind": "robot" }, - "latest_observation": "5df472261fca6166", + "latest_observation": "d8e670aca92a6405", "observations": [ { "classic": { - "elapsed": 5.1, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5205.0, + "score": 5654.0, "scores": [ - 2298.0, - 2907.0 + 2476.0, + 3178.0 ], - "selected": "ary.SMG 1.01" + "selected": "suh.nano.OscillatorL 1.00" }, - "completed_at": "2026-09-08T20:43:38Z", - "delta_pct": -63.2, - "id": "5df472261fca6166", + "completed_at": "2026-09-21T19:37:21Z", + "confirmation": null, + "delta_pct": -5.1, + "id": "d8e670aca92a6405", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43702,90 +182862,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ary.SMG 1.01", + "classic_selected": "suh.nano.OscillatorL 1.00", "division": "roborumble", - "jar": "ary.SMG_1.01.jar", - "jar_sha256": "036caac2e9d5aefaec139d97b677ac1ffc9e41af7f0f19c09431a781d3bd00f7", - "key": "roborumble/ary.SMG_1.01.jar", + "jar": "suh.nano.OscillatorL_1.00.jar", + "jar_sha256": "e10cd3dd99645ff94d965a14a7995c3d596db7de306b84527acb8aa9f065cb92", + "key": "roborumble/suh.nano.OscillatorL_1.00.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 1918.0, + "score": 5366.0, "scores": [ - 1058.0, - 860.0 + 2973.0, + 2393.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ary.micro.Weak_1.2.jar": { + "roborumble/suh.nano.RammingC_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ary.micro.Weak 1.2", + "classic_selected": "suh.nano.RammingC 1.00", "division": "roborumble", - "jar": "ary.micro.Weak_1.2.jar", - "jar_sha256": "0544bc89b923a2ff7c63dc5781c07703dc8c0053a78d5f4a058d3c49e0a03f33", - "key": "roborumble/ary.micro.Weak_1.2.jar", + "jar": "suh.nano.RammingC_1.00.jar", + "jar_sha256": "7dd8cc30438fb1a4b5959f346a536978bb23f5048b16f83ea2973a0d9af73028", + "key": "roborumble/suh.nano.RammingC_1.00.jar", "kind": "robot" }, - "latest_observation": "371017386f1da182", + "latest_observation": "b1747d10befd7b00", "observations": [ { "classic": { - "elapsed": 13.8, + "elapsed": 2.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5205.0, + "score": 10622.0, "scores": [ - 2473.0, - 2732.0 + 5267.0, + 5355.0 ], - "selected": "ary.micro.Weak 1.2" + "selected": "suh.nano.RammingC 1.00" }, - "completed_at": "2026-09-08T20:42:01Z", - "delta_pct": -4.6, - "id": "371017386f1da182", + "completed_at": "2026-09-21T19:37:41Z", + "confirmation": null, + "delta_pct": 8.3, + "id": "b1747d10befd7b00", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43793,24 +182953,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ary.micro.Weak 1.2", + "classic_selected": "suh.nano.RammingC 1.00", "division": "roborumble", - "jar": "ary.micro.Weak_1.2.jar", - "jar_sha256": "0544bc89b923a2ff7c63dc5781c07703dc8c0053a78d5f4a058d3c49e0a03f33", - "key": "roborumble/ary.micro.Weak_1.2.jar", + "jar": "suh.nano.RammingC_1.00.jar", + "jar_sha256": "7dd8cc30438fb1a4b5959f346a536978bb23f5048b16f83ea2973a0d9af73028", + "key": "roborumble/suh.nano.RammingC_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 34.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4965.0, + "score": 11506.0, "scores": [ - 2509.0, - 2456.0 + 5947.0, + 5559.0 ], "skipped": null } @@ -43818,65 +182980,63 @@ ], "status": "PASS" }, - "roborumble/ary.mini.Nimi_1.0.jar": { + "roborumble/suh.nano.RandomPM_1.02.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ary.mini.Nimi 1.0", + "classic_selected": "suh.nano.RandomPM 1.02", "division": "roborumble", - "jar": "ary.mini.Nimi_1.0.jar", - "jar_sha256": "36bee330a80f2f3914bf93c24b5a0df11ad64530f588b05c06a68fff920c1ed0", - "key": "roborumble/ary.mini.Nimi_1.0.jar", + "jar": "suh.nano.RandomPM_1.02.jar", + "jar_sha256": "db88a2ac33373d597d8e5015d745cc726eb283c08c07cff582d1a55ede657eda", + "key": "roborumble/suh.nano.RandomPM_1.02.jar", "kind": "robot" }, - "latest_observation": "e0d8d0f6f8806455", + "latest_observation": "204e1654c1de1f8b", "observations": [ { "classic": { - "elapsed": 3.1, + "elapsed": 4.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5247.0, + "score": 4554.0, "scores": [ - 2277.0, - 2970.0 + 2200.0, + 2354.0 ], - "selected": "ary.mini.Nimi 1.0" + "selected": "suh.nano.RandomPM 1.02" }, - "completed_at": "2026-09-08T20:42:33Z", - "delta_pct": -31.2, - "id": "e0d8d0f6f8806455", + "completed_at": "2026-09-21T19:38:06Z", + "confirmation": null, + "delta_pct": -2.1, + "id": "204e1654c1de1f8b", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43884,90 +183044,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ary.mini.Nimi 1.0", + "classic_selected": "suh.nano.RandomPM 1.02", "division": "roborumble", - "jar": "ary.mini.Nimi_1.0.jar", - "jar_sha256": "36bee330a80f2f3914bf93c24b5a0df11ad64530f588b05c06a68fff920c1ed0", - "key": "roborumble/ary.mini.Nimi_1.0.jar", + "jar": "suh.nano.RandomPM_1.02.jar", + "jar_sha256": "db88a2ac33373d597d8e5015d745cc726eb283c08c07cff582d1a55ede657eda", + "key": "roborumble/suh.nano.RandomPM_1.02.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 28.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3608.0, + "score": 4457.0, "scores": [ - 1844.0, - 1764.0 + 2547.0, + 1910.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ary.nano.AceSurf_1.2.jar": { + "roborumble/suh.nano.StopAndGoL_1.01.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ary.nano.AceSurf 1.2", + "classic_selected": "suh.nano.StopAndGoL 1.01", "division": "roborumble", - "jar": "ary.nano.AceSurf_1.2.jar", - "jar_sha256": "2d693c09246861c6b044d534aa1b5b463f5eb869f00a88afd9f30a21472e7a1d", - "key": "roborumble/ary.nano.AceSurf_1.2.jar", + "jar": "suh.nano.StopAndGoL_1.01.jar", + "jar_sha256": "652fad2e00b39e8a7805926ef3b0b61947abf433dbbb7ac5a53784907e52a9cd", + "key": "roborumble/suh.nano.StopAndGoL_1.01.jar", "kind": "robot" }, - "latest_observation": "bd77f78dc4f9642f", + "latest_observation": "65d0272ac03b42e7", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2521.0, + "score": 2859.0, "scores": [ - 1376.0, - 1145.0 + 1582.0, + 1277.0 ], - "selected": "ary.nano.AceSurf 1.2" + "selected": "suh.nano.StopAndGoL 1.01" }, - "completed_at": "2026-09-08T20:42:54Z", - "delta_pct": 38.1, - "id": "bd77f78dc4f9642f", + "completed_at": "2026-09-21T19:38:36Z", + "confirmation": null, + "delta_pct": 9.5, + "id": "65d0272ac03b42e7", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -43975,90 +183135,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "ary.nano.AceSurf 1.2", + "classic_selected": "suh.nano.StopAndGoL 1.01", "division": "roborumble", - "jar": "ary.nano.AceSurf_1.2.jar", - "jar_sha256": "2d693c09246861c6b044d534aa1b5b463f5eb869f00a88afd9f30a21472e7a1d", - "key": "roborumble/ary.nano.AceSurf_1.2.jar", + "jar": "suh.nano.StopAndGoL_1.01.jar", + "jar_sha256": "652fad2e00b39e8a7805926ef3b0b61947abf433dbbb7ac5a53784907e52a9cd", + "key": "roborumble/suh.nano.StopAndGoL_1.01.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 26.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3481.0, + "score": 3130.0, "scores": [ - 1797.0, - 1684.0 + 1734.0, + 1396.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/ary.nano.ColorNanoP_1.1.jar": { + "roborumble/suh.nano.TargetC_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ary.nano.ColorNanoP 1.1", + "classic_selected": "suh.nano.TargetC 1.00", "division": "roborumble", - "jar": "ary.nano.ColorNanoP_1.1.jar", - "jar_sha256": "f1b339cda45f96f9c73a4a2ef286d7e6d6d837dcc92d140f5615b9b57421a3e8", - "key": "roborumble/ary.nano.ColorNanoP_1.1.jar", + "jar": "suh.nano.TargetC_1.00.jar", + "jar_sha256": "e35f8237abec96fcf16300dfccea62df90a614261838d3f08a294c2bac927a5b", + "key": "roborumble/suh.nano.TargetC_1.00.jar", "kind": "robot" }, - "latest_observation": "7c40044d94ec9a01", + "latest_observation": "7835e6c7967bf17d", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 2.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7699.0, + "score": 11700.0, "scores": [ - 3670.0, - 4029.0 + 5616.0, + 6084.0 ], - "selected": "ary.nano.ColorNanoP 1.1" + "selected": "suh.nano.TargetC 1.00" }, - "completed_at": "2026-09-08T20:43:11Z", - "delta_pct": -12.4, - "id": "7c40044d94ec9a01", + "completed_at": "2026-09-21T19:38:50Z", + "confirmation": null, + "delta_pct": 7.0, + "id": "7835e6c7967bf17d", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44066,24 +183226,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ary.nano.ColorNanoP 1.1", + "classic_selected": "suh.nano.TargetC 1.00", "division": "roborumble", - "jar": "ary.nano.ColorNanoP_1.1.jar", - "jar_sha256": "f1b339cda45f96f9c73a4a2ef286d7e6d6d837dcc92d140f5615b9b57421a3e8", - "key": "roborumble/ary.nano.ColorNanoP_1.1.jar", + "jar": "suh.nano.TargetC_1.00.jar", + "jar_sha256": "e35f8237abec96fcf16300dfccea62df90a614261838d3f08a294c2bac927a5b", + "key": "roborumble/suh.nano.TargetC_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6744.0, + "score": 12519.0, "scores": [ - 3377.0, - 3367.0 + 6287.0, + 6232.0 ], "skipped": null } @@ -44091,65 +183253,63 @@ ], "status": "PASS" }, - "roborumble/as.xbots_1.0.jar": { + "roborumble/suh.nano.TargetH_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "as.xbots 1.0", + "classic_selected": "suh.nano.TargetH 1.00", "division": "roborumble", - "jar": "as.xbots_1.0.jar", - "jar_sha256": "6adf1183af7ed3e4cccbaf35249fede5ffb8dc2101e49458106909cea95120cf", - "key": "roborumble/as.xbots_1.0.jar", + "jar": "suh.nano.TargetH_1.00.jar", + "jar_sha256": "c65ade6e342612a9291cfdee6572dc11109d0502050d89b67faab342b1f688e0", + "key": "roborumble/suh.nano.TargetH_1.00.jar", "kind": "robot" }, - "latest_observation": "a84fbf62fb36b2a2", + "latest_observation": "f34d220c589d50c9", "observations": [ { "classic": { - "elapsed": 2.1, + "elapsed": 2.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10650.0, + "score": 12109.0, "scores": [ - 5019.0, - 5631.0 + 6164.0, + 5945.0 ], - "selected": "as.xbots 1.0" + "selected": "suh.nano.TargetH 1.00" }, - "completed_at": "2026-09-08T20:43:51Z", - "delta_pct": 54.8, - "id": "a84fbf62fb36b2a2", + "completed_at": "2026-09-21T19:39:07Z", + "confirmation": null, + "delta_pct": -15.0, + "id": "f34d220c589d50c9", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44157,90 +183317,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "as.xbots 1.0", + "classic_selected": "suh.nano.TargetH 1.00", "division": "roborumble", - "jar": "as.xbots_1.0.jar", - "jar_sha256": "6adf1183af7ed3e4cccbaf35249fede5ffb8dc2101e49458106909cea95120cf", - "key": "roborumble/as.xbots_1.0.jar", + "jar": "suh.nano.TargetH_1.00.jar", + "jar_sha256": "c65ade6e342612a9291cfdee6572dc11109d0502050d89b67faab342b1f688e0", + "key": "roborumble/suh.nano.TargetH_1.00.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 10.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 16487.0, + "score": 10287.0, "scores": [ - 8529.0, - 7958.0 + 5232.0, + 5055.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/asd.Cthulhu_1.2.jar": { + "roborumble/suh.nano.TargetL_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "asd.Cthulhu 1.2", + "classic_selected": "suh.nano.TargetL 1.00", "division": "roborumble", - "jar": "asd.Cthulhu_1.2.jar", - "jar_sha256": "63459d2c15c8c2227ad40c9fe6f89b51e934abffcc10d49837874199767c060e", - "key": "roborumble/asd.Cthulhu_1.2.jar", + "jar": "suh.nano.TargetL_1.00.jar", + "jar_sha256": "333a45a6b4beef552ab99dacad1c8839c88e074944d098167e05f166d9c7e7b2", + "key": "roborumble/suh.nano.TargetL_1.00.jar", "kind": "robot" }, - "latest_observation": "62a7416486d668ba", + "latest_observation": "e9d42bb929e25d9f", "observations": [ { "classic": { - "elapsed": 32.3, + "elapsed": 2.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6883.0, + "score": 12260.0, "scores": [ - 3827.0, - 3056.0 + 5770.0, + 6490.0 ], - "selected": "asd.Cthulhu 1.2" + "selected": "suh.nano.TargetL 1.00" }, - "completed_at": "2026-09-08T20:44:51Z", - "delta_pct": 2.3, - "id": "62a7416486d668ba", + "completed_at": "2026-09-21T19:39:21Z", + "confirmation": null, + "delta_pct": -7.8, + "id": "e9d42bb929e25d9f", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44248,24 +183408,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "asd.Cthulhu 1.2", + "classic_selected": "suh.nano.TargetL 1.00", "division": "roborumble", - "jar": "asd.Cthulhu_1.2.jar", - "jar_sha256": "63459d2c15c8c2227ad40c9fe6f89b51e934abffcc10d49837874199767c060e", - "key": "roborumble/asd.Cthulhu_1.2.jar", + "jar": "suh.nano.TargetL_1.00.jar", + "jar_sha256": "333a45a6b4beef552ab99dacad1c8839c88e074944d098167e05f166d9c7e7b2", + "key": "roborumble/suh.nano.TargetL_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 28.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7044.0, + "score": 11307.0, "scores": [ - 3534.0, - 3510.0 + 5750.0, + 5557.0 ], "skipped": null } @@ -44273,65 +183435,63 @@ ], "status": "PASS" }, - "roborumble/asm.Statistas_0.1.jar": { + "roborumble/suh.nano.TargetR_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "asm.Statistas 0.1", + "classic_selected": "suh.nano.TargetR 1.00", "division": "roborumble", - "jar": "asm.Statistas_0.1.jar", - "jar_sha256": "35553b2c09fcebec047f79582cc5a274d6bcd6d0034c1e5175d545281c76d0e4", - "key": "roborumble/asm.Statistas_0.1.jar", + "jar": "suh.nano.TargetR_1.00.jar", + "jar_sha256": "d72deeead5f57f47cd3b367a41ba762f54761ad5b0cc896e1fedd9becd75a038", + "key": "roborumble/suh.nano.TargetR_1.00.jar", "kind": "robot" }, - "latest_observation": "1f68932ec9132d3a", + "latest_observation": "f83026b90d87da70", "observations": [ { "classic": { "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4972.0, + "score": 5132.0, "scores": [ - 2714.0, - 2258.0 + 2435.0, + 2697.0 ], - "selected": "asm.Statistas 0.1" + "selected": "suh.nano.TargetR 1.00" }, - "completed_at": "2026-09-08T20:45:10Z", - "delta_pct": -5.1, - "id": "1f68932ec9132d3a", + "completed_at": "2026-09-21T19:39:40Z", + "confirmation": null, + "delta_pct": 14.8, + "id": "f83026b90d87da70", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44339,24 +183499,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "asm.Statistas 0.1", + "classic_selected": "suh.nano.TargetR 1.00", "division": "roborumble", - "jar": "asm.Statistas_0.1.jar", - "jar_sha256": "35553b2c09fcebec047f79582cc5a274d6bcd6d0034c1e5175d545281c76d0e4", - "key": "roborumble/asm.Statistas_0.1.jar", + "jar": "suh.nano.TargetR_1.00.jar", + "jar_sha256": "d72deeead5f57f47cd3b367a41ba762f54761ad5b0cc896e1fedd9becd75a038", + "key": "roborumble/suh.nano.TargetR_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4717.0, + "score": 5894.0, "scores": [ - 2396.0, - 2321.0 + 3164.0, + 2730.0 ], "skipped": null } @@ -44364,65 +183526,63 @@ ], "status": "PASS" }, - "roborumble/awl.Locutus_1.5.jar": { + "roborumble/suh.nano.Worst_1.02.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "awl.Locutus 1.5", + "classic_selected": "suh.nano.Worst 1.02", "division": "roborumble", - "jar": "awl.Locutus_1.5.jar", - "jar_sha256": "c7f5c5cca58627f58db3c1590036255788fbaf333da16641ff0633c709ad0c2b", - "key": "roborumble/awl.Locutus_1.5.jar", + "jar": "suh.nano.Worst_1.02.jar", + "jar_sha256": "fc35ffe45cfd62ce50ffd0067c254cb510261aa269db73bc443df79d4eb4d9b2", + "key": "roborumble/suh.nano.Worst_1.02.jar", "kind": "robot" }, - "latest_observation": "044a09527daed943", + "latest_observation": "5fe1ac3884e8bb3a", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.9, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6083.0, + "score": 0.0, "scores": [ - 2605.0, - 3478.0 + 0.0, + 0.0 ], - "selected": "awl.Locutus 1.5" + "selected": "suh.nano.Worst 1.02" }, - "completed_at": "2026-09-08T20:45:37Z", - "delta_pct": -16.0, - "id": "044a09527daed943", + "completed_at": "2026-09-21T19:40:00Z", + "confirmation": null, + "delta_pct": null, + "id": "5fe1ac3884e8bb3a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44430,90 +183590,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "awl.Locutus 1.5", + "classic_selected": "suh.nano.Worst 1.02", "division": "roborumble", - "jar": "awl.Locutus_1.5.jar", - "jar_sha256": "c7f5c5cca58627f58db3c1590036255788fbaf333da16641ff0633c709ad0c2b", - "key": "roborumble/awl.Locutus_1.5.jar", + "jar": "suh.nano.Worst_1.02.jar", + "jar_sha256": "fc35ffe45cfd62ce50ffd0067c254cb510261aa269db73bc443df79d4eb4d9b2", + "key": "roborumble/suh.nano.Worst_1.02.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (no score)", "tank_royale": { - "elapsed": 24.1, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5107.0, + "score": 1480.0, "scores": [ - 3156.0, - 1951.0 + 860.0, + 620.0 ], "skipped": null } } ], - "status": "PASS" + "status": "DISCREPANCY (no score)" }, - "roborumble/axeBots.HataMoto_3.09.jar": { + "roborumble/sul.Bicephal_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "axeBots.HataMoto 3.09", + "classic_selected": "sul.Bicephal 1.2", "division": "roborumble", - "jar": "axeBots.HataMoto_3.09.jar", - "jar_sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c", - "key": "roborumble/axeBots.HataMoto_3.09.jar", + "jar": "sul.Bicephal_1.2.jar", + "jar_sha256": "acf9ac032f1e33b72260d4f5442551dbc45ad23402cc45552a67659389930a3a", + "key": "roborumble/sul.Bicephal_1.2.jar", "kind": "robot" }, - "latest_observation": "f3c9ed411fa769b7", + "latest_observation": "76e39a0c93333f46", "observations": [ { "classic": { - "elapsed": 5.9, + "elapsed": 2.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4777.0, + "score": 10781.0, "scores": [ - 1548.0, - 3229.0 + 5001.0, + 5780.0 ], - "selected": "axeBots.HataMoto 3.09" + "selected": "sul.Bicephal 1.2" }, - "completed_at": "2026-09-08T20:46:16Z", - "delta_pct": 5.3, - "id": "f3c9ed411fa769b7", + "completed_at": "2026-09-21T19:40:12Z", + "confirmation": null, + "delta_pct": -57.7, + "id": "76e39a0c93333f46", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44521,93 +183681,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "axeBots.HataMoto 3.09", + "classic_selected": "sul.Bicephal 1.2", "division": "roborumble", - "jar": "axeBots.HataMoto_3.09.jar", - "jar_sha256": "293a92846b40195a5de25c7379f72e0dcb08297f79d2b6fffd7d3a95b50afb2c", - "key": "roborumble/axeBots.HataMoto_3.09.jar", + "jar": "sul.Bicephal_1.2.jar", + "jar_sha256": "acf9ac032f1e33b72260d4f5442551dbc45ad23402cc45552a67659389930a3a", + "key": "roborumble/sul.Bicephal_1.2.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 32.3, + "bridge_only_signatures": null, + "elapsed": 10.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5029.0, + "score": 4563.0, "scores": [ - 2525.0, - 2504.0 + 3735.0, + 828.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/axeBots.Musashi_2.18.jar": { + "roborumble/sul.BlueBot_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "axeBots.Musashi 2.18", + "classic_selected": "sul.BlueBot 1.0", "division": "roborumble", - "jar": "axeBots.Musashi_2.18.jar", - "jar_sha256": "f7890ddc132b5ae0595e1faa65464e79628bb5dda7a64f5e20e74cb3ee9d8707", - "key": "roborumble/axeBots.Musashi_2.18.jar", + "jar": "sul.BlueBot_1.0.jar", + "jar_sha256": "37b462950ff35307644fbe06918c2fa1b73da0df8ed9a00b032aa1814ea80bf1", + "key": "roborumble/sul.BlueBot_1.0.jar", "kind": "robot" }, - "latest_observation": "d96c381e473a9e9f", + "latest_observation": "64d4a7f3b70e43e7", "observations": [ { "classic": { - "elapsed": 3.9, - "error_count": 2, - "errors": [ - "IOException trying to read: java.lang.NullPointerException: name can't be null", - "IOException trying to read: java.lang.NullPointerException: name can't be null" - ], - "has_log": true, + "elapsed": 2.7, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5575.0, + "score": 603.0, "scores": [ - 2545.0, - 3030.0 + 396.0, + 207.0 ], - "selected": "axeBots.Musashi 2.18" + "selected": "sul.BlueBot 1.0" }, - "completed_at": "2026-09-08T20:46:48Z", - "delta_pct": -5.5, - "id": "d96c381e473a9e9f", + "completed_at": "2026-09-21T19:40:35Z", + "confirmation": null, + "delta_pct": 232.8, + "id": "64d4a7f3b70e43e7", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44615,96 +183772,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "axeBots.Musashi 2.18", + "classic_selected": "sul.BlueBot 1.0", "division": "roborumble", - "jar": "axeBots.Musashi_2.18.jar", - "jar_sha256": "f7890ddc132b5ae0595e1faa65464e79628bb5dda7a64f5e20e74cb3ee9d8707", - "key": "roborumble/axeBots.Musashi_2.18.jar", + "jar": "sul.BlueBot_1.0.jar", + "jar_sha256": "37b462950ff35307644fbe06918c2fa1b73da0df8ed9a00b032aa1814ea80bf1", + "key": "roborumble/sul.BlueBot_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 28.0, - "error_count": 2, - "errors": [ - "IOException trying to read: java.lang.NullPointerException: Cannot invoke \"java.io.File.isInvalid()\" because \"file\" is null", - "IOException trying to read: java.lang.NullPointerException: Cannot invoke \"java.io.File.isInvalid()\" because \"file\" is null" - ], - "has_log": true, + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5270.0, + "score": 2007.0, "scores": [ - 2646.0, - 2624.0 + 1287.0, + 720.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/axeBots.Okami_1.04.jar": { + "roborumble/sul.NanoR2_1.32.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "axeBots.Okami 1.04", + "classic_selected": "sul.NanoR2 1.32", "division": "roborumble", - "jar": "axeBots.Okami_1.04.jar", - "jar_sha256": "608f42ae73765a352e9034e41f36af721cd745835a19a20f8fe7e8bbe3be30fa", - "key": "roborumble/axeBots.Okami_1.04.jar", + "jar": "sul.NanoR2_1.32.jar", + "jar_sha256": "96d9a946ce1161f846655c960960897d91b2f15dc27e6caf5b0e9cc29afcf210", + "key": "roborumble/sul.NanoR2_1.32.jar", "kind": "robot" }, - "latest_observation": "74bce683db58a4ec", + "latest_observation": "20cdad7b00c03ba7", "observations": [ { "classic": { - "elapsed": 5.0, - "error_count": 2, - "errors": [ - "IOException trying to read: java.lang.NullPointerException: name can't be null", - "IOException trying to read: java.lang.NullPointerException: name can't be null" - ], - "has_log": true, + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5383.0, + "score": 4779.0, "scores": [ - 2856.0, - 2527.0 + 2621.0, + 2158.0 ], - "selected": "axeBots.Okami 1.04" + "selected": "sul.NanoR2 1.32" }, - "completed_at": "2026-09-08T20:47:22Z", - "delta_pct": -7.1, - "id": "74bce683db58a4ec", + "completed_at": "2026-09-21T19:40:54Z", + "confirmation": null, + "delta_pct": -8.8, + "id": "20cdad7b00c03ba7", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44712,24 +183863,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "axeBots.Okami 1.04", + "classic_selected": "sul.NanoR2 1.32", "division": "roborumble", - "jar": "axeBots.Okami_1.04.jar", - "jar_sha256": "608f42ae73765a352e9034e41f36af721cd745835a19a20f8fe7e8bbe3be30fa", - "key": "roborumble/axeBots.Okami_1.04.jar", + "jar": "sul.NanoR2_1.32.jar", + "jar_sha256": "96d9a946ce1161f846655c960960897d91b2f15dc27e6caf5b0e9cc29afcf210", + "key": "roborumble/sul.NanoR2_1.32.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 28.2, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4999.0, + "score": 4360.0, "scores": [ - 3272.0, - 1727.0 + 2238.0, + 2122.0 ], "skipped": null } @@ -44737,68 +183890,63 @@ ], "status": "PASS" }, - "roborumble/axeBots.SilverSurfer_2.53.33fix.jar": { + "roborumble/sul.Pinkbot_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "axeBots.SilverSurfer 2.53.33fix", + "classic_selected": "sul.Pinkbot 1.1", "division": "roborumble", - "jar": "axeBots.SilverSurfer_2.53.33fix.jar", - "jar_sha256": "d0b3667a0a9c38bc0cfdb5c47d7b68a8b73194fd88be12d6bee64fcfddb86add", - "key": "roborumble/axeBots.SilverSurfer_2.53.33fix.jar", + "jar": "sul.Pinkbot_1.1.jar", + "jar_sha256": "f887a763d0bbc67bd354d5b88b21acc6f54ecd5bd7c14cc89626716987dcd40b", + "key": "roborumble/sul.Pinkbot_1.1.jar", "kind": "robot" }, - "latest_observation": "9b6fc48236f56191", + "latest_observation": "c459c9c5b1b4a0e6", "observations": [ { "classic": { - "elapsed": 6.3, - "error_count": 2, - "errors": [ - "IOException, trying to read: java.io.InterruptedIOException: File not Found:axeBots.SilverSurfer 2.53.33fix (2).gfs", - "IOException, trying to read: java.io.InterruptedIOException: File not Found:axeBots.SilverSurfer 2.53.33fix (1).gfs" - ], - "has_log": true, + "elapsed": 2.6, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5487.0, + "score": 4008.0, "scores": [ - 3158.0, - 2329.0 + 1914.0, + 2094.0 ], - "selected": "axeBots.SilverSurfer 2.53.33fix" + "selected": "sul.Pinkbot 1.1" }, - "completed_at": "2026-09-08T20:47:52Z", - "delta_pct": -3.4, - "id": "9b6fc48236f56191", + "completed_at": "2026-09-21T19:41:13Z", + "confirmation": null, + "delta_pct": 11.3, + "id": "c459c9c5b1b4a0e6", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44806,27 +183954,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "axeBots.SilverSurfer 2.53.33fix", + "classic_selected": "sul.Pinkbot 1.1", "division": "roborumble", - "jar": "axeBots.SilverSurfer_2.53.33fix.jar", - "jar_sha256": "d0b3667a0a9c38bc0cfdb5c47d7b68a8b73194fd88be12d6bee64fcfddb86add", - "key": "roborumble/axeBots.SilverSurfer_2.53.33fix.jar", + "jar": "sul.Pinkbot_1.1.jar", + "jar_sha256": "f887a763d0bbc67bd354d5b88b21acc6f54ecd5bd7c14cc89626716987dcd40b", + "key": "roborumble/sul.Pinkbot_1.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 24.0, - "error_count": 2, - "errors": [ - "IOException, trying to read: java.io.InterruptedIOException: File not Found:2.gfs", - "IOException, trying to read: java.io.InterruptedIOException: File not Found:1.gfs" - ], - "has_log": true, + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5298.0, + "score": 4459.0, "scores": [ - 2951.0, - 2347.0 + 2443.0, + 2016.0 ], "skipped": null } @@ -44834,65 +183981,63 @@ ], "status": "PASS" }, - "roborumble/ayk.WallHugger_1.0.jar": { + "roborumble/supersample.SuperBoxBot_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ayk.WallHugger 1.0", + "classic_selected": "supersample.SuperBoxBot 1.0", "division": "roborumble", - "jar": "ayk.WallHugger_1.0.jar", - "jar_sha256": "6a5eb97de641d4c81e3456da75997dbe50aa072eacf0cc79db2d212899979470", - "key": "roborumble/ayk.WallHugger_1.0.jar", + "jar": "supersample.SuperBoxBot_1.0.jar", + "jar_sha256": "341053107cf6f2fb5737892960a33c1ea337d88685137c5e9ceb9e4872d517fd", + "key": "roborumble/supersample.SuperBoxBot_1.0.jar", "kind": "robot" }, - "latest_observation": "7d779898eaf34726", + "latest_observation": "7738e93552ec227a", "observations": [ { "classic": { "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10066.0, + "score": 6134.0, "scores": [ - 4868.0, - 5198.0 + 3240.0, + 2894.0 ], - "selected": "ayk.WallHugger 1.0" + "selected": "supersample.SuperBoxBot 1.0" }, - "completed_at": "2026-09-08T20:48:09Z", - "delta_pct": -22.2, - "id": "7d779898eaf34726", + "completed_at": "2026-09-21T19:41:32Z", + "confirmation": null, + "delta_pct": 0.9, + "id": "7738e93552ec227a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44900,24 +184045,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ayk.WallHugger 1.0", + "classic_selected": "supersample.SuperBoxBot 1.0", "division": "roborumble", - "jar": "ayk.WallHugger_1.0.jar", - "jar_sha256": "6a5eb97de641d4c81e3456da75997dbe50aa072eacf0cc79db2d212899979470", - "key": "roborumble/ayk.WallHugger_1.0.jar", + "jar": "supersample.SuperBoxBot_1.0.jar", + "jar_sha256": "341053107cf6f2fb5737892960a33c1ea337d88685137c5e9ceb9e4872d517fd", + "key": "roborumble/supersample.SuperBoxBot_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7835.0, + "score": 6188.0, "scores": [ - 4757.0, - 3078.0 + 3359.0, + 2829.0 ], "skipped": null } @@ -44925,65 +184072,63 @@ ], "status": "PASS" }, - "roborumble/az.Ololobot_0.2.4.jar": { + "roborumble/supersample.SuperCorners_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "az.Ololobot 0.2.4", + "classic_selected": "supersample.SuperCorners 1.0", "division": "roborumble", - "jar": "az.Ololobot_0.2.4.jar", - "jar_sha256": "b6938411c048bde80bf0186892f03342e0c60dff05127052ed21932825765eb9", - "key": "roborumble/az.Ololobot_0.2.4.jar", + "jar": "supersample.SuperCorners_1.0.jar", + "jar_sha256": "5450c1599b90e8a8c513a5d79746106a4ed3b41c58201c8f476eefc33377ff5f", + "key": "roborumble/supersample.SuperCorners_1.0.jar", "kind": "robot" }, - "latest_observation": "5cf402dd473c1227", + "latest_observation": "4faaf2cd8dc15378", "observations": [ { "classic": { - "elapsed": 17.1, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10091.0, + "score": 8323.0, "scores": [ - 4636.0, - 5455.0 + 4332.0, + 3991.0 ], - "selected": "az.Ololobot 0.2.4" + "selected": "supersample.SuperCorners 1.0" }, - "completed_at": "2026-09-08T20:48:31Z", + "completed_at": "2026-09-21T19:41:41Z", + "confirmation": null, "delta_pct": null, - "id": "5cf402dd473c1227", + "id": "4faaf2cd8dc15378", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -44991,118 +184136,39 @@ "width": 800 }, "source_identity": { - "classic_selected": "az.Ololobot 0.2.4", + "classic_selected": "supersample.SuperCorners 1.0", "division": "roborumble", - "jar": "az.Ololobot_0.2.4.jar", - "jar_sha256": "b6938411c048bde80bf0186892f03342e0c60dff05127052ed21932825765eb9", - "key": "roborumble/az.Ololobot_0.2.4.jar", + "jar": "supersample.SuperCorners_1.0.jar", + "jar_sha256": "5450c1599b90e8a8c513a5d79746106a4ed3b41c58201c8f476eefc33377ff5f", + "key": "roborumble/supersample.SuperCorners_1.0.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 4.2, - "error_count": 189, + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "supersample.SuperCorners.onScannedRobot" + ] + ], + "elapsed": 6.2, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "supersample.SuperCorners.onScannedRobot" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + } + ], "errors": [ "HARNESS: worker produced no result (exit code -1)", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5", - "java.lang.ArrayIndexOutOfBoundsException: Index 5 out of bounds for length 5" + "java.lang.ArrayIndexOutOfBoundsException: Index 35 out of bounds for length 35", + "java.lang.ArrayIndexOutOfBoundsException: Index 243 out of bounds for length 243", + "java.lang.ArrayIndexOutOfBoundsException: Index 200 out of bounds for length 200", + "java.lang.ArrayIndexOutOfBoundsException" ], "has_log": true, "ok": false, @@ -45112,67 +184178,65 @@ } } ], - "status": "FAIL (TR)" + "status": "DISCREPANCY (outcome)" }, - "roborumble/banshee.micro.Nexus6_0.3.0.jar": { + "roborumble/supersample.SuperMercutio_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "banshee.micro.Nexus6 0.3.0", + "classic_selected": "supersample.SuperMercutio 1.0", "division": "roborumble", - "jar": "banshee.micro.Nexus6_0.3.0.jar", - "jar_sha256": "e4cb9d96e7487b927a54b89221c2ee262ce514759f3960670b9aa95ff6dbaecc", - "key": "roborumble/banshee.micro.Nexus6_0.3.0.jar", + "jar": "supersample.SuperMercutio_1.0.jar", + "jar_sha256": "ec7b29dad3b40cc44c15d4530738a091c6a7b58abee11433d6a5c93334240292", + "key": "roborumble/supersample.SuperMercutio_1.0.jar", "kind": "robot" }, - "latest_observation": "0cf456b6f9cb9978", + "latest_observation": "98b321a2d49dd008", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.9, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6536.0, + "score": 4561.0, "scores": [ - 2916.0, - 3620.0 + 2539.0, + 2022.0 ], - "selected": "banshee.micro.Nexus6 0.3.0" + "selected": "supersample.SuperMercutio 1.0" }, - "completed_at": "2026-09-08T20:48:47Z", - "delta_pct": -13.0, - "id": "0cf456b6f9cb9978", + "completed_at": "2026-09-21T19:42:29Z", + "confirmation": null, + "delta_pct": -8.7, + "id": "98b321a2d49dd008", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45180,24 +184244,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "banshee.micro.Nexus6 0.3.0", + "classic_selected": "supersample.SuperMercutio 1.0", "division": "roborumble", - "jar": "banshee.micro.Nexus6_0.3.0.jar", - "jar_sha256": "e4cb9d96e7487b927a54b89221c2ee262ce514759f3960670b9aa95ff6dbaecc", - "key": "roborumble/banshee.micro.Nexus6_0.3.0.jar", + "jar": "supersample.SuperMercutio_1.0.jar", + "jar_sha256": "ec7b29dad3b40cc44c15d4530738a091c6a7b58abee11433d6a5c93334240292", + "key": "roborumble/supersample.SuperMercutio_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5689.0, + "score": 4165.0, "scores": [ - 3295.0, - 2394.0 + 2314.0, + 1851.0 ], "skipped": null } @@ -45205,65 +184271,63 @@ ], "status": "PASS" }, - "roborumble/banshee.mini.Nexus6_0.2.0.jar": { + "roborumble/supersample.SuperRamFire_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "banshee.mini.Nexus6 0.2.0", + "classic_selected": "supersample.SuperRamFire 1.0", "division": "roborumble", - "jar": "banshee.mini.Nexus6_0.2.0.jar", - "jar_sha256": "2bb08e1c59e732361dcdee3df148534bc0dabd9d8f14147c4a583c04f1dc7a42", - "key": "roborumble/banshee.mini.Nexus6_0.2.0.jar", + "jar": "supersample.SuperRamFire_1.0.jar", + "jar_sha256": "34044b66a730220013d5cff6a040fb644a487ef09cb955787afd3fae070f8b80", + "key": "roborumble/supersample.SuperRamFire_1.0.jar", "kind": "robot" }, - "latest_observation": "d4cda9b611b80d04", + "latest_observation": "0241ee9884b5a0e3", "observations": [ { "classic": { - "elapsed": 3.0, + "elapsed": 2.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5731.0, + "score": 10615.0, "scores": [ - 3179.0, - 2552.0 + 5195.0, + 5420.0 ], - "selected": "banshee.mini.Nexus6 0.2.0" + "selected": "supersample.SuperRamFire 1.0" }, - "completed_at": "2026-09-08T20:49:13Z", - "delta_pct": 2.7, - "id": "d4cda9b611b80d04", + "completed_at": "2026-09-21T19:42:44Z", + "confirmation": null, + "delta_pct": 14.2, + "id": "0241ee9884b5a0e3", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45271,24 +184335,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "banshee.mini.Nexus6 0.2.0", + "classic_selected": "supersample.SuperRamFire 1.0", "division": "roborumble", - "jar": "banshee.mini.Nexus6_0.2.0.jar", - "jar_sha256": "2bb08e1c59e732361dcdee3df148534bc0dabd9d8f14147c4a583c04f1dc7a42", - "key": "roborumble/banshee.mini.Nexus6_0.2.0.jar", + "jar": "supersample.SuperRamFire_1.0.jar", + "jar_sha256": "34044b66a730220013d5cff6a040fb644a487ef09cb955787afd3fae070f8b80", + "key": "roborumble/supersample.SuperRamFire_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5883.0, + "score": 12127.0, "scores": [ - 3324.0, - 2559.0 + 6522.0, + 5605.0 ], "skipped": null } @@ -45296,65 +184362,63 @@ ], "status": "PASS" }, - "roborumble/barontrozo.BaronTrozo_1.7.6.jar": { + "roborumble/supersample.SuperSpinBot_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "barontrozo.BaronTrozo 1.7.6", + "classic_selected": "supersample.SuperSpinBot 1.0", "division": "roborumble", - "jar": "barontrozo.BaronTrozo_1.7.6.jar", - "jar_sha256": "0031d364bd6cc01f74c537d9c88be09c53d7fd11999aa586480d010a77a37f3c", - "key": "roborumble/barontrozo.BaronTrozo_1.7.6.jar", + "jar": "supersample.SuperSpinBot_1.0.jar", + "jar_sha256": "23bb76cc85cba5c181118c3edc7b93755cd9aa81000fd2a5fae1422dc33b319c", + "key": "roborumble/supersample.SuperSpinBot_1.0.jar", "kind": "robot" }, - "latest_observation": "004179d3a54b0e5a", + "latest_observation": "b746540ce1ec858b", "observations": [ { "classic": { - "elapsed": 5.3, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5725.0, + "score": 7453.0, "scores": [ - 2259.0, - 3466.0 + 4021.0, + 3432.0 ], - "selected": "barontrozo.BaronTrozo 1.7.6" + "selected": "supersample.SuperSpinBot 1.0" }, - "completed_at": "2026-09-08T20:49:38Z", - "delta_pct": -9.3, - "id": "004179d3a54b0e5a", + "completed_at": "2026-09-21T19:42:58Z", + "confirmation": null, + "delta_pct": 5.9, + "id": "b746540ce1ec858b", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45362,24 +184426,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "barontrozo.BaronTrozo 1.7.6", + "classic_selected": "supersample.SuperSpinBot 1.0", "division": "roborumble", - "jar": "barontrozo.BaronTrozo_1.7.6.jar", - "jar_sha256": "0031d364bd6cc01f74c537d9c88be09c53d7fd11999aa586480d010a77a37f3c", - "key": "roborumble/barontrozo.BaronTrozo_1.7.6.jar", + "jar": "supersample.SuperSpinBot_1.0.jar", + "jar_sha256": "23bb76cc85cba5c181118c3edc7b93755cd9aa81000fd2a5fae1422dc33b319c", + "key": "roborumble/supersample.SuperSpinBot_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5195.0, + "score": 7894.0, "scores": [ - 2691.0, - 2504.0 + 3959.0, + 3935.0 ], "skipped": null } @@ -45387,65 +184453,63 @@ ], "status": "PASS" }, - "roborumble/bayen.UbaMicro_1.4.jar": { + "roborumble/supersample.SuperTrackFire_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bayen.UbaMicro 1.4", + "classic_selected": "supersample.SuperTrackFire 1.0", "division": "roborumble", - "jar": "bayen.UbaMicro_1.4.jar", - "jar_sha256": "7691bd56732d5813079f65319f62a7bda392937bfe458528383fd2b89b1a7d11", - "key": "roborumble/bayen.UbaMicro_1.4.jar", + "jar": "supersample.SuperTrackFire_1.0.jar", + "jar_sha256": "81db842f2bf42b978ee44f762414d53dac2f0a0c9696148e07a19b14d905cebb", + "key": "roborumble/supersample.SuperTrackFire_1.0.jar", "kind": "robot" }, - "latest_observation": "26edca5dc7a5d68a", + "latest_observation": "a1533dd1f66ec02e", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5531.0, + "score": 6268.0, "scores": [ - 2586.0, - 2945.0 + 2906.0, + 3362.0 ], - "selected": "bayen.UbaMicro 1.4" + "selected": "supersample.SuperTrackFire 1.0" }, - "completed_at": "2026-09-08T20:51:01Z", - "delta_pct": -20.6, - "id": "26edca5dc7a5d68a", + "completed_at": "2026-09-21T19:43:48Z", + "confirmation": null, + "delta_pct": -79.1, + "id": "a1533dd1f66ec02e", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45453,90 +184517,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bayen.UbaMicro 1.4", + "classic_selected": "supersample.SuperTrackFire 1.0", "division": "roborumble", - "jar": "bayen.UbaMicro_1.4.jar", - "jar_sha256": "7691bd56732d5813079f65319f62a7bda392937bfe458528383fd2b89b1a7d11", - "key": "roborumble/bayen.UbaMicro_1.4.jar", + "jar": "supersample.SuperTrackFire_1.0.jar", + "jar_sha256": "81db842f2bf42b978ee44f762414d53dac2f0a0c9696148e07a19b14d905cebb", + "key": "roborumble/supersample.SuperTrackFire_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 32.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4389.0, + "score": 1311.0, "scores": [ - 2283.0, - 2106.0 + 696.0, + 615.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/bayen.UbaRamLT_1.0.jar": { + "roborumble/supersample.SuperTracker_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bayen.UbaRamLT 1.0", + "classic_selected": "supersample.SuperTracker 1.0", "division": "roborumble", - "jar": "bayen.UbaRamLT_1.0.jar", - "jar_sha256": "604d19bdcfa6caa05964df927bb24e237e8f7aaa1fcbd7d13aea4e4d9b5e028b", - "key": "roborumble/bayen.UbaRamLT_1.0.jar", + "jar": "supersample.SuperTracker_1.0.jar", + "jar_sha256": "8153d6cb75f1782c0bb42484a5d5302e5ed56d661f4df2b0b0219a64447c9dc5", + "key": "roborumble/supersample.SuperTracker_1.0.jar", "kind": "robot" }, - "latest_observation": "13b1bb4843e9815b", + "latest_observation": "dfdc197d7c56cdd8", "observations": [ { "classic": { "elapsed": 2.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10862.0, + "score": 12173.0, "scores": [ - 5678.0, - 5184.0 + 6022.0, + 6151.0 ], - "selected": "bayen.UbaRamLT 1.0" + "selected": "supersample.SuperTracker 1.0" }, - "completed_at": "2026-09-08T20:51:14Z", - "delta_pct": 29.8, - "id": "13b1bb4843e9815b", + "completed_at": "2026-09-21T19:43:13Z", + "confirmation": null, + "delta_pct": -3.3, + "id": "dfdc197d7c56cdd8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45544,90 +184608,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bayen.UbaRamLT 1.0", + "classic_selected": "supersample.SuperTracker 1.0", "division": "roborumble", - "jar": "bayen.UbaRamLT_1.0.jar", - "jar_sha256": "604d19bdcfa6caa05964df927bb24e237e8f7aaa1fcbd7d13aea4e4d9b5e028b", - "key": "roborumble/bayen.UbaRamLT_1.0.jar", + "jar": "supersample.SuperTracker_1.0.jar", + "jar_sha256": "8153d6cb75f1782c0bb42484a5d5302e5ed56d661f4df2b0b0219a64447c9dc5", + "key": "roborumble/supersample.SuperTracker_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 10.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 14098.0, + "score": 11771.0, "scores": [ - 7311.0, - 6787.0 + 5908.0, + 5863.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/bayen.nano.Squirrel_0.2.jar": { + "roborumble/supersample.SuperWalls_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bayen.nano.Squirrel 0.2", + "classic_selected": "supersample.SuperWalls 1.0", "division": "roborumble", - "jar": "bayen.nano.Squirrel_0.2.jar", - "jar_sha256": "5207b14349401cf529947785f203d80e0bd5d21c2e42672ef6585686caa74e7f", - "key": "roborumble/bayen.nano.Squirrel_0.2.jar", + "jar": "supersample.SuperWalls_1.0.jar", + "jar_sha256": "2ca5398b7e5c67ab76c19afc9ea622a1c997d8b36b7428a15d72e247aaa620ce", + "key": "roborumble/supersample.SuperWalls_1.0.jar", "kind": "robot" }, - "latest_observation": "6fcfbf55b4d8ff5c", + "latest_observation": "56cd96ff1a1380f1", "observations": [ { "classic": { - "elapsed": 2.8, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4209.0, + "score": 6734.0, "scores": [ - 2194.0, - 2015.0 + 3316.0, + 3418.0 ], - "selected": "bayen.nano.Squirrel 0.2" + "selected": "supersample.SuperWalls 1.0" }, - "completed_at": "2026-09-08T20:50:00Z", - "delta_pct": -19.4, - "id": "6fcfbf55b4d8ff5c", + "completed_at": "2026-09-21T19:44:07Z", + "confirmation": null, + "delta_pct": -9.5, + "id": "56cd96ff1a1380f1", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "b535f48e4b6478211570da0066f0a0d3345cf107", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45635,24 +184699,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bayen.nano.Squirrel 0.2", + "classic_selected": "supersample.SuperWalls 1.0", "division": "roborumble", - "jar": "bayen.nano.Squirrel_0.2.jar", - "jar_sha256": "5207b14349401cf529947785f203d80e0bd5d21c2e42672ef6585686caa74e7f", - "key": "roborumble/bayen.nano.Squirrel_0.2.jar", + "jar": "supersample.SuperWalls_1.0.jar", + "jar_sha256": "2ca5398b7e5c67ab76c19afc9ea622a1c997d8b36b7428a15d72e247aaa620ce", + "key": "roborumble/supersample.SuperWalls_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3391.0, + "score": 6094.0, "scores": [ - 2033.0, - 1358.0 + 3261.0, + 2833.0 ], "skipped": null } @@ -45660,65 +184726,63 @@ ], "status": "PASS" }, - "roborumble/bayen.nut.Squirrel_1.621.jar": { + "roborumble/suzushin7.nano.Galaxy01_1.01.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bayen.nut.Squirrel 1.621", + "classic_selected": "suzushin7.nano.Galaxy01 1.01", "division": "roborumble", - "jar": "bayen.nut.Squirrel_1.621.jar", - "jar_sha256": "a5a1b82535752ee271c91cdec18f433e21dcfe1efc46ed4001bed116eeca1f76", - "key": "roborumble/bayen.nut.Squirrel_1.621.jar", + "jar": "suzushin7.nano.Galaxy01_1.01.jar", + "jar_sha256": "ad0ea6afc73ac85943875581d5fa91e1f30523c313393cd51c0c56689a28bbe3", + "key": "roborumble/suzushin7.nano.Galaxy01_1.01.jar", "kind": "robot" }, - "latest_observation": "517b1c7cec309414", + "latest_observation": "a394261125eaff21", "observations": [ { "classic": { - "elapsed": 4.4, + "elapsed": 2.9, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5175.0, + "score": 0.0, "scores": [ - 2188.0, - 2987.0 + 0.0, + 0.0 ], - "selected": "bayen.nut.Squirrel 1.621" + "selected": "suzushin7.nano.Galaxy01 1.01" }, - "completed_at": "2026-09-08T20:50:40Z", - "delta_pct": -100.0, - "id": "517b1c7cec309414", + "completed_at": "2026-09-21T19:44:41Z", + "confirmation": null, + "delta_pct": null, + "id": "a394261125eaff21", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45726,90 +184790,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bayen.nut.Squirrel 1.621", + "classic_selected": "suzushin7.nano.Galaxy01 1.01", "division": "roborumble", - "jar": "bayen.nut.Squirrel_1.621.jar", - "jar_sha256": "a5a1b82535752ee271c91cdec18f433e21dcfe1efc46ed4001bed116eeca1f76", - "key": "roborumble/bayen.nut.Squirrel_1.621.jar", + "jar": "suzushin7.nano.Galaxy01_1.01.jar", + "jar_sha256": "ad0ea6afc73ac85943875581d5fa91e1f30523c313393cd51c0c56689a28bbe3", + "key": "roborumble/suzushin7.nano.Galaxy01_1.01.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "DISCREPANCY (no score)", "tank_royale": { - "elapsed": 36.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 0.0, + "score": 1481.0, "scores": [ - 0.0, - 0.0 + 741.0, + 740.0 ], "skipped": null } } ], - "status": "score-review" + "status": "DISCREPANCY (no score)" }, - "roborumble/bbo.RamboT_0.3.jar": { + "roborumble/suzushin7.nano.Galaxy02_1.01.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bbo.RamboT 0.3", + "classic_selected": "suzushin7.nano.Galaxy02 1.01", "division": "roborumble", - "jar": "bbo.RamboT_0.3.jar", - "jar_sha256": "3c933f89750dfd882f03844f5fc83ae4bf36d5a6baca855251417b4a1457e6ed", - "key": "roborumble/bbo.RamboT_0.3.jar", + "jar": "suzushin7.nano.Galaxy02_1.01.jar", + "jar_sha256": "759a5a699d81fd51adffea268b87e25964cf857bbea2b9b0a02350cfbfd14841", + "key": "roborumble/suzushin7.nano.Galaxy02_1.01.jar", "kind": "robot" }, - "latest_observation": "df99f8a1d6c00d7e", + "latest_observation": "6175968fee4da756", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 9366.0, + "score": 5285.0, "scores": [ - 4626.0, - 4740.0 + 2445.0, + 2840.0 ], - "selected": "bbo.RamboT 0.3" + "selected": "suzushin7.nano.Galaxy02 1.01" }, - "completed_at": "2026-09-08T20:51:30Z", - "delta_pct": 22.4, - "id": "df99f8a1d6c00d7e", + "completed_at": "2026-09-21T19:45:04Z", + "confirmation": null, + "delta_pct": -22.1, + "id": "6175968fee4da756", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45817,24 +184881,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bbo.RamboT 0.3", + "classic_selected": "suzushin7.nano.Galaxy02 1.01", "division": "roborumble", - "jar": "bbo.RamboT_0.3.jar", - "jar_sha256": "3c933f89750dfd882f03844f5fc83ae4bf36d5a6baca855251417b4a1457e6ed", - "key": "roborumble/bbo.RamboT_0.3.jar", + "jar": "suzushin7.nano.Galaxy02_1.01.jar", + "jar_sha256": "759a5a699d81fd51adffea268b87e25964cf857bbea2b9b0a02350cfbfd14841", + "key": "roborumble/suzushin7.nano.Galaxy02_1.01.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 11461.0, + "score": 4118.0, "scores": [ - 6133.0, - 5328.0 + 2317.0, + 1801.0 ], "skipped": null } @@ -45842,65 +184908,63 @@ ], "status": "PASS" }, - "roborumble/bbo.TheRoof_1.4.3.jar": { + "roborumble/suzushin7.nano.Galaxy03_1.01.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bbo.TheRoof 1.4.3", + "classic_selected": "suzushin7.nano.Galaxy03 1.01", "division": "roborumble", - "jar": "bbo.TheRoof_1.4.3.jar", - "jar_sha256": "0d3aac41de0b798e76e684b60756f8fb8318c5c5dcf890f26ecfb8bea6d01076", - "key": "roborumble/bbo.TheRoof_1.4.3.jar", + "jar": "suzushin7.nano.Galaxy03_1.01.jar", + "jar_sha256": "273070235e3054cfc3f7b2796a8295a969c3fe4624952d1cbdc4cb816fb61b9e", + "key": "roborumble/suzushin7.nano.Galaxy03_1.01.jar", "kind": "robot" }, - "latest_observation": "39adaf77fb8fca87", + "latest_observation": "2e76da0c6d40e9f0", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5240.0, + "score": 11079.0, "scores": [ - 2321.0, - 2919.0 + 5476.0, + 5603.0 ], - "selected": "bbo.TheRoof 1.4.3" + "selected": "suzushin7.nano.Galaxy03 1.01" }, - "completed_at": "2026-09-08T20:51:47Z", - "delta_pct": 4.9, - "id": "39adaf77fb8fca87", + "completed_at": "2026-09-21T19:45:16Z", + "confirmation": null, + "delta_pct": 25.4, + "id": "2e76da0c6d40e9f0", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45908,90 +184972,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bbo.TheRoof 1.4.3", + "classic_selected": "suzushin7.nano.Galaxy03 1.01", "division": "roborumble", - "jar": "bbo.TheRoof_1.4.3.jar", - "jar_sha256": "0d3aac41de0b798e76e684b60756f8fb8318c5c5dcf890f26ecfb8bea6d01076", - "key": "roborumble/bbo.TheRoof_1.4.3.jar", + "jar": "suzushin7.nano.Galaxy03_1.01.jar", + "jar_sha256": "273070235e3054cfc3f7b2796a8295a969c3fe4624952d1cbdc4cb816fb61b9e", + "key": "roborumble/suzushin7.nano.Galaxy03_1.01.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 10.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5495.0, + "score": 13892.0, "scores": [ - 2941.0, - 2554.0 + 7234.0, + 6658.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/benhorner.PureAggression_0.2.6.jar": { + "roborumble/suzushin7.nano.TargetC_1.00.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "benhorner.PureAggression 0.2.6", + "classic_selected": "suzushin7.nano.TargetC 1.00", "division": "roborumble", - "jar": "benhorner.PureAggression_0.2.6.jar", - "jar_sha256": "ff9129cad35f13a68dc008ab29e71e073ea28ff77fae33dba73846e4da0e041e", - "key": "roborumble/benhorner.PureAggression_0.2.6.jar", + "jar": "suzushin7.nano.TargetC_1.00.jar", + "jar_sha256": "ed000f16235729a35d386b22371578a7adeb0235c6d42f496c9cba0d9f182cea", + "key": "roborumble/suzushin7.nano.TargetC_1.00.jar", "kind": "robot" }, - "latest_observation": "ca5a8e78cc56d369", + "latest_observation": "413c450b19fa855b", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 11194.0, + "score": 13008.0, "scores": [ - 5562.0, - 5632.0 + 6224.0, + 6784.0 ], - "selected": "benhorner.PureAggression 0.2.6" + "selected": "suzushin7.nano.TargetC 1.00" }, - "completed_at": "2026-09-08T20:51:58Z", - "delta_pct": 17.0, - "id": "ca5a8e78cc56d369", + "completed_at": "2026-09-21T19:45:31Z", + "confirmation": null, + "delta_pct": -2.2, + "id": "413c450b19fa855b", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -45999,24 +185063,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "benhorner.PureAggression 0.2.6", + "classic_selected": "suzushin7.nano.TargetC 1.00", "division": "roborumble", - "jar": "benhorner.PureAggression_0.2.6.jar", - "jar_sha256": "ff9129cad35f13a68dc008ab29e71e073ea28ff77fae33dba73846e4da0e041e", - "key": "roborumble/benhorner.PureAggression_0.2.6.jar", + "jar": "suzushin7.nano.TargetC_1.00.jar", + "jar_sha256": "ed000f16235729a35d386b22371578a7adeb0235c6d42f496c9cba0d9f182cea", + "key": "roborumble/suzushin7.nano.TargetC_1.00.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 8.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 13099.0, + "score": 12726.0, "scores": [ - 6661.0, - 6438.0 + 6464.0, + 6262.0 ], "skipped": null } @@ -46024,65 +185090,63 @@ ], "status": "PASS" }, - "roborumble/bigpete.Stewie_1.0.jar": { + "roborumble/syl.Centipede_0.5.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bigpete.Stewie 1.0", + "classic_selected": "syl.Centipede 0.5", "division": "roborumble", - "jar": "bigpete.Stewie_1.0.jar", - "jar_sha256": "743ecaf04844e35915d24a80533652a29adaaf9539955f2178df0ef6148c481d", - "key": "roborumble/bigpete.Stewie_1.0.jar", + "jar": "syl.Centipede_0.5.jar", + "jar_sha256": "a544fb7a3f5584e2ca6b533ff563f677c0130e12b193b3b82f55ea5d4ef4cdaa", + "key": "roborumble/syl.Centipede_0.5.jar", "kind": "robot" }, - "latest_observation": "e8b293a979c1c0b4", + "latest_observation": "f66ba72fbf46d41c", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 3.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5593.0, + "score": 5498.0, "scores": [ - 2575.0, - 3018.0 + 2619.0, + 2879.0 ], - "selected": "bigpete.Stewie 1.0" + "selected": "syl.Centipede 0.5" }, - "completed_at": "2026-09-08T20:52:39Z", - "delta_pct": -4.9, - "id": "e8b293a979c1c0b4", + "completed_at": "2026-09-21T19:45:50Z", + "confirmation": null, + "delta_pct": -7.9, + "id": "f66ba72fbf46d41c", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46090,24 +185154,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bigpete.Stewie 1.0", + "classic_selected": "syl.Centipede 0.5", "division": "roborumble", - "jar": "bigpete.Stewie_1.0.jar", - "jar_sha256": "743ecaf04844e35915d24a80533652a29adaaf9539955f2178df0ef6148c481d", - "key": "roborumble/bigpete.Stewie_1.0.jar", + "jar": "syl.Centipede_0.5.jar", + "jar_sha256": "a544fb7a3f5584e2ca6b533ff563f677c0130e12b193b3b82f55ea5d4ef4cdaa", + "key": "roborumble/syl.Centipede_0.5.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5321.0, + "score": 5063.0, "scores": [ - 2839.0, - 2482.0 + 2728.0, + 2335.0 ], "skipped": null } @@ -46115,65 +185181,63 @@ ], "status": "PASS" }, - "roborumble/bing2.Melody_1.3.1.jar": { + "roborumble/synapse.Geomancy_15.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bing2.Melody 1.3.1", + "classic_selected": "synapse.Geomancy 15", "division": "roborumble", - "jar": "bing2.Melody_1.3.1.jar", - "jar_sha256": "3a63316b12e61f4810fdb73e18bb068fb5bc0a78f82a2c9865be1aa22611137a", - "key": "roborumble/bing2.Melody_1.3.1.jar", + "jar": "synapse.Geomancy_15.jar", + "jar_sha256": "d2a2ea209337b5634bfb1741a1a89ebeb3543ddd2e4829d3d4960d828b8c1ddf", + "key": "roborumble/synapse.Geomancy_15.jar", "kind": "robot" }, - "latest_observation": "6d5c62b55bd1282c", + "latest_observation": "bea0a9c36cec6503", "observations": [ { "classic": { - "elapsed": 3.7, + "elapsed": 4.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2848.0, + "score": 4896.0, "scores": [ - 1643.0, - 1205.0 + 2563.0, + 2333.0 ], - "selected": "bing2.Melody 1.3.1" + "selected": "synapse.Geomancy 15" }, - "completed_at": "2026-09-08T20:52:59Z", - "delta_pct": 190.3, - "id": "6d5c62b55bd1282c", + "completed_at": "2026-09-21T19:46:01Z", + "confirmation": null, + "delta_pct": null, + "id": "bea0a9c36cec6503", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46181,90 +185245,105 @@ "width": 800 }, "source_identity": { - "classic_selected": "bing2.Melody 1.3.1", + "classic_selected": "synapse.Geomancy 15", "division": "roborumble", - "jar": "bing2.Melody_1.3.1.jar", - "jar_sha256": "3a63316b12e61f4810fdb73e18bb068fb5bc0a78f82a2c9865be1aa22611137a", - "key": "roborumble/bing2.Melody_1.3.1.jar", + "jar": "synapse.Geomancy_15.jar", + "jar_sha256": "d2a2ea209337b5634bfb1741a1a89ebeb3543ddd2e4829d3d4960d828b8c1ddf", + "key": "roborumble/synapse.Geomancy_15.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 16.0, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 8268.0, - "scores": [ - 4299.0, - 3969.0 + "bridge_only_signatures": [ + [ + "java.lang.StringIndexOutOfBoundsException", + "synapse.BaseBot.printStats" + ] + ], + "elapsed": 6.1, + "error_count": 7, + "error_signatures": [ + { + "exception": "java.lang.StringIndexOutOfBoundsException", + "origin": "synapse.BaseBot.printStats" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 1" ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } } ], - "status": "score-review" + "status": "DISCREPANCY (outcome)" }, - "roborumble/bjl.LoneDragon_0.5.jar": { + "roborumble/synapse.rsim.GeomancyBS_0.11.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bjl.LoneDragon 0.5", + "classic_selected": "synapse.rsim.GeomancyBS 0.11", "division": "roborumble", - "jar": "bjl.LoneDragon_0.5.jar", - "jar_sha256": "016175c3d3f7c0522eebac3154f93c65abe35cc57bbdaee04e606f8d023e1efe", - "key": "roborumble/bjl.LoneDragon_0.5.jar", + "jar": "synapse.rsim.GeomancyBS_0.11.jar", + "jar_sha256": "cd1340a3256f82b28d09102201f7c17c1b15f1b1e41f2f2a505fb65e20bc912d", + "key": "roborumble/synapse.rsim.GeomancyBS_0.11.jar", "kind": "robot" }, - "latest_observation": "b407ed4b3237d3e7", + "latest_observation": "315c584dc2afb693", "observations": [ { "classic": { - "elapsed": 7.3, + "elapsed": 4.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5694.0, + "score": 3414.0, "scores": [ - 2412.0, - 3282.0 + 2173.0, + 1241.0 ], - "selected": "bjl.LoneDragon 0.5" + "selected": "synapse.rsim.GeomancyBS 0.11" }, - "completed_at": "2026-09-08T20:54:27Z", - "delta_pct": 19.1, - "id": "b407ed4b3237d3e7", + "completed_at": "2026-09-21T19:46:30Z", + "confirmation": null, + "delta_pct": 42.4, + "id": "315c584dc2afb693", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46272,90 +185351,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bjl.LoneDragon 0.5", + "classic_selected": "synapse.rsim.GeomancyBS 0.11", "division": "roborumble", - "jar": "bjl.LoneDragon_0.5.jar", - "jar_sha256": "016175c3d3f7c0522eebac3154f93c65abe35cc57bbdaee04e606f8d023e1efe", - "key": "roborumble/bjl.LoneDragon_0.5.jar", + "jar": "synapse.rsim.GeomancyBS_0.11.jar", + "jar_sha256": "cd1340a3256f82b28d09102201f7c17c1b15f1b1e41f2f2a505fb65e20bc912d", + "key": "roborumble/synapse.rsim.GeomancyBS_0.11.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 80.1, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6781.0, + "score": 4861.0, "scores": [ - 3952.0, - 2829.0 + 2497.0, + 2364.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/bk.Shooter_1.0.jar": { + "roborumble/synnalagma.NeuralPremier_0.51.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bk.Shooter 1.0", + "classic_selected": "synnalagma.NeuralPremier 0.51", "division": "roborumble", - "jar": "bk.Shooter_1.0.jar", - "jar_sha256": "0dfe57a84edd868ba0517b270c817bfdc9765139b6517fe4c7868110cf9c0e16", - "key": "roborumble/bk.Shooter_1.0.jar", + "jar": "synnalagma.NeuralPremier_0.51.jar", + "jar_sha256": "1ea06978e60f8c3381766306e96abaf88a32a239b71110ba4863b83fa3f1c047", + "key": "roborumble/synnalagma.NeuralPremier_0.51.jar", "kind": "robot" }, - "latest_observation": "17eb9124acd74e55", + "latest_observation": "1078dbb5bc70fa17", "observations": [ { "classic": { - "elapsed": 3.2, + "elapsed": 2.9, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7416.0, + "score": 5808.0, "scores": [ - 3476.0, - 3940.0 + 3304.0, + 2504.0 ], - "selected": "bk.Shooter 1.0" + "selected": "synnalagma.NeuralPremier 0.51" }, - "completed_at": "2026-09-08T20:54:58Z", - "delta_pct": -25.3, - "id": "17eb9124acd74e55", + "completed_at": "2026-09-21T19:46:49Z", + "confirmation": null, + "delta_pct": 105.4, + "id": "1078dbb5bc70fa17", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46363,24 +185442,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bk.Shooter 1.0", + "classic_selected": "synnalagma.NeuralPremier 0.51", "division": "roborumble", - "jar": "bk.Shooter_1.0.jar", - "jar_sha256": "0dfe57a84edd868ba0517b270c817bfdc9765139b6517fe4c7868110cf9c0e16", - "key": "roborumble/bk.Shooter_1.0.jar", + "jar": "synnalagma.NeuralPremier_0.51.jar", + "jar_sha256": "1ea06978e60f8c3381766306e96abaf88a32a239b71110ba4863b83fa3f1c047", + "key": "roborumble/synnalagma.NeuralPremier_0.51.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 28.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5541.0, + "score": 11932.0, "scores": [ - 2915.0, - 2626.0 + 6193.0, + 5739.0 ], "skipped": null } @@ -46388,65 +185469,270 @@ ], "status": "score-review" }, - "roborumble/blir.micro.blixi.Blixi_1.2.jar": { + "roborumble/synnalagma.test.MiniNeural_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "blir.micro.blixi.Blixi 1.2", + "classic_selected": "synnalagma.test.MiniNeural 1.1", "division": "roborumble", - "jar": "blir.micro.blixi.Blixi_1.2.jar", - "jar_sha256": "939340a6e589c7bd36ea58fb12018f4f4ee512bbaf8264c0fee5d706e2d6325b", - "key": "roborumble/blir.micro.blixi.Blixi_1.2.jar", + "jar": "synnalagma.test.MiniNeural_1.1.jar", + "jar_sha256": "61557984aeb7f944e8f503e9e68554fe194531676fda9310e60c104310cb29db", + "key": "roborumble/synnalagma.test.MiniNeural_1.1.jar", "kind": "robot" }, - "latest_observation": "32ac2de21087f5bd", + "latest_observation": "59a1db3597e37770", "observations": [ { "classic": { - "elapsed": 5.2, + "elapsed": 5.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6468.0, + "score": 5552.0, "scores": [ - 1515.0, - 4953.0 + 2418.0, + 3134.0 ], - "selected": "blir.micro.blixi.Blixi 1.2" + "selected": "synnalagma.test.MiniNeural 1.1" }, - "completed_at": "2026-09-08T20:55:40Z", - "delta_pct": -44.5, - "id": "32ac2de21087f5bd", + "completed_at": "2026-09-21T19:47:20Z", + "confirmation": null, + "delta_pct": null, + "id": "59a1db3597e37770", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "synnalagma.test.MiniNeural 1.1", + "division": "roborumble", + "jar": "synnalagma.test.MiniNeural_1.1.jar", + "jar_sha256": "61557984aeb7f944e8f503e9e68554fe194531676fda9310e60c104310cb29db", + "key": "roborumble/synnalagma.test.MiniNeural_1.1.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "synnalagma.test.MiniNeural.onScannedRobot" + ], + [ + "java.lang.ArrayIndexOutOfBoundsException", + "unknown" + ] + ], + "elapsed": 24.2, + "error_count": 428, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "synnalagma.test.MiniNeural.onScannedRobot" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "unknown" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException: Index 20000 out of bounds for length 20000", + "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException", + "java.lang.ArrayIndexOutOfBoundsException" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "roborumble/t3.Ripper_1.0.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "t3.Ripper 1.0", + "division": "roborumble", + "jar": "t3.Ripper_1.0.jar", + "jar_sha256": "7b09daef7f0312ade7cc84f561bcab2fc8b1a131b6e00e7577c30c42b79f1ff6", + "key": "roborumble/t3.Ripper_1.0.jar", + "kind": "robot" + }, + "latest_observation": "805d2e1260db693b", + "observations": [ + { + "classic": { + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7638.0, + "scores": [ + 3953.0, + 3685.0 + ], + "selected": "t3.Ripper 1.0" + }, + "completed_at": "2026-09-21T19:47:40Z", + "confirmation": null, + "delta_pct": -31.0, + "id": "805d2e1260db693b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46454,24 +185740,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "blir.micro.blixi.Blixi 1.2", + "classic_selected": "t3.Ripper 1.0", "division": "roborumble", - "jar": "blir.micro.blixi.Blixi_1.2.jar", - "jar_sha256": "939340a6e589c7bd36ea58fb12018f4f4ee512bbaf8264c0fee5d706e2d6325b", - "key": "roborumble/blir.micro.blixi.Blixi_1.2.jar", + "jar": "t3.Ripper_1.0.jar", + "jar_sha256": "7b09daef7f0312ade7cc84f561bcab2fc8b1a131b6e00e7577c30c42b79f1ff6", + "key": "roborumble/t3.Ripper_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 36.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3589.0, + "score": 5273.0, "scores": [ - 1820.0, - 1769.0 + 2639.0, + 2634.0 ], "skipped": null } @@ -46479,65 +185767,63 @@ ], "status": "score-review" }, - "roborumble/blir.mini.oops.Splooshlu_2.0.jar": { + "roborumble/tad.Dalek98_0.98.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "blir.mini.oops.Splooshlu 2.0", + "classic_selected": "tad.Dalek98 0.98", "division": "roborumble", - "jar": "blir.mini.oops.Splooshlu_2.0.jar", - "jar_sha256": "43d728428624085e09e6bd3fa34ae9ed864b4d056959c207b3daa20c0ad6e42b", - "key": "roborumble/blir.mini.oops.Splooshlu_2.0.jar", + "jar": "tad.Dalek98_0.98.jar", + "jar_sha256": "141d8b2d5a9def635ee12014988be520e8cd458f764e84ebf656ac4608ee3655", + "key": "roborumble/tad.Dalek98_0.98.jar", "kind": "robot" }, - "latest_observation": "9d2209ef822252f0", + "latest_observation": "e30890eadbb32b0f", "observations": [ { "classic": { - "elapsed": 4.1, + "elapsed": 3.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5726.0, + "score": 5393.0, "scores": [ - 2882.0, - 2844.0 + 2454.0, + 2939.0 ], - "selected": "blir.mini.oops.Splooshlu 2.0" + "selected": "tad.Dalek98 0.98" }, - "completed_at": "2026-09-08T20:56:40Z", - "delta_pct": -19.6, - "id": "9d2209ef822252f0", + "completed_at": "2026-09-21T19:48:06Z", + "confirmation": null, + "delta_pct": -5.2, + "id": "e30890eadbb32b0f", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46545,24 +185831,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "blir.mini.oops.Splooshlu 2.0", + "classic_selected": "tad.Dalek98 0.98", "division": "roborumble", - "jar": "blir.mini.oops.Splooshlu_2.0.jar", - "jar_sha256": "43d728428624085e09e6bd3fa34ae9ed864b4d056959c207b3daa20c0ad6e42b", - "key": "roborumble/blir.mini.oops.Splooshlu_2.0.jar", + "jar": "tad.Dalek98_0.98.jar", + "jar_sha256": "141d8b2d5a9def635ee12014988be520e8cd458f764e84ebf656ac4608ee3655", + "key": "roborumble/tad.Dalek98_0.98.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 56.1, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4604.0, + "score": 5112.0, "scores": [ - 2341.0, - 2263.0 + 2744.0, + 2368.0 ], "skipped": null } @@ -46570,65 +185858,63 @@ ], "status": "PASS" }, - "roborumble/blir.nano.Bruce_R1.0.0.jar": { + "roborumble/takeBot.SpinSpiral_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "blir.nano.Bruce R1.0.0", + "classic_selected": "takeBot.SpinSpiral 1.2", "division": "roborumble", - "jar": "blir.nano.Bruce_R1.0.0.jar", - "jar_sha256": "380d1895fca7181874921c6b8735c9659ea3cb6e5d35d42799bab523dfdd1bae", - "key": "roborumble/blir.nano.Bruce_R1.0.0.jar", + "jar": "takeBot.SpinSpiral_1.2.jar", + "jar_sha256": "520582297f1d66faa0d2623379a4ff5fb44bdb98d0063eeeadd0c81f628c660b", + "key": "roborumble/takeBot.SpinSpiral_1.2.jar", "kind": "robot" }, - "latest_observation": "e98608d4efb99503", + "latest_observation": "871912878b912f9b", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12737.0, + "score": 5815.0, "scores": [ - 6532.0, - 6205.0 + 2943.0, + 2872.0 ], - "selected": "blir.nano.Bruce R1.0.0" + "selected": "takeBot.SpinSpiral 1.2" }, - "completed_at": "2026-09-08T20:56:55Z", - "delta_pct": -3.5, - "id": "e98608d4efb99503", + "completed_at": "2026-09-21T19:48:33Z", + "confirmation": null, + "delta_pct": -25.1, + "id": "871912878b912f9b", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46636,90 +185922,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "blir.nano.Bruce R1.0.0", + "classic_selected": "takeBot.SpinSpiral 1.2", "division": "roborumble", - "jar": "blir.nano.Bruce_R1.0.0.jar", - "jar_sha256": "380d1895fca7181874921c6b8735c9659ea3cb6e5d35d42799bab523dfdd1bae", - "key": "roborumble/blir.nano.Bruce_R1.0.0.jar", + "jar": "takeBot.SpinSpiral_1.2.jar", + "jar_sha256": "520582297f1d66faa0d2623379a4ff5fb44bdb98d0063eeeadd0c81f628c660b", + "key": "roborumble/takeBot.SpinSpiral_1.2.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 12.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12287.0, + "score": 4355.0, "scores": [ - 6420.0, - 5867.0 + 2180.0, + 2175.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/blir.nano.Cabbage_R1.0.1.jar": { + "roborumble/takeBot.SpiralCrash_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "blir.nano.Cabbage R1.0.1", + "classic_selected": "takeBot.SpiralCrash 1.0", "division": "roborumble", - "jar": "blir.nano.Cabbage_R1.0.1.jar", - "jar_sha256": "6048d93ca6c18440d2442930806a4edb783d6bc3e7b019f324fad7aebaccb222", - "key": "roborumble/blir.nano.Cabbage_R1.0.1.jar", + "jar": "takeBot.SpiralCrash_1.0.jar", + "jar_sha256": "b14701c121c82e1e025e1e69dacf783521b00ea54bfa5c4d6793ac31d219ca6f", + "key": "roborumble/takeBot.SpiralCrash_1.0.jar", "kind": "robot" }, - "latest_observation": "14e36192003c6140", + "latest_observation": "fc13dea89be82484", "observations": [ { "classic": { - "elapsed": 3.0, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 1399.0, + "score": 9298.0, "scores": [ - 510.0, - 889.0 + 4374.0, + 4924.0 ], - "selected": "blir.nano.Cabbage R1.0.1" + "selected": "takeBot.SpiralCrash 1.0" }, - "completed_at": "2026-09-08T20:57:18Z", - "delta_pct": 111.9, - "id": "14e36192003c6140", + "completed_at": "2026-09-21T19:48:53Z", + "confirmation": null, + "delta_pct": -35.0, + "id": "fc13dea89be82484", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46727,24 +186013,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "blir.nano.Cabbage R1.0.1", + "classic_selected": "takeBot.SpiralCrash 1.0", "division": "roborumble", - "jar": "blir.nano.Cabbage_R1.0.1.jar", - "jar_sha256": "6048d93ca6c18440d2442930806a4edb783d6bc3e7b019f324fad7aebaccb222", - "key": "roborumble/blir.nano.Cabbage_R1.0.1.jar", + "jar": "takeBot.SpiralCrash_1.0.jar", + "jar_sha256": "b14701c121c82e1e025e1e69dacf783521b00ea54bfa5c4d6793ac31d219ca6f", + "key": "roborumble/takeBot.SpiralCrash_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2965.0, + "score": 6041.0, "scores": [ - 1677.0, - 1288.0 + 3121.0, + 2920.0 ], "skipped": null } @@ -46752,65 +186040,63 @@ ], "status": "score-review" }, - "roborumble/blir.nano.inch.Inchworm_1.0.jar": { + "roborumble/takeBot.WeavingWiggle_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "blir.nano.inch.Inchworm 1.0", + "classic_selected": "takeBot.WeavingWiggle 1.1", "division": "roborumble", - "jar": "blir.nano.inch.Inchworm_1.0.jar", - "jar_sha256": "168c6b33a9c90cd70b268369ed7aedb8773e1f04c3b99382fcd2cf98d5b49bd4", - "key": "roborumble/blir.nano.inch.Inchworm_1.0.jar", + "jar": "takeBot.WeavingWiggle_1.1.jar", + "jar_sha256": "8d758d7f664ba0f44c7b5630063a39f666796962d2a4a37c4389a876efc23dd0", + "key": "roborumble/takeBot.WeavingWiggle_1.1.jar", "kind": "robot" }, - "latest_observation": "7bd4cdf08768932e", + "latest_observation": "abb81ddb48d816a8", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7657.0, + "score": 5720.0, "scores": [ - 3538.0, - 4119.0 + 3309.0, + 2411.0 ], - "selected": "blir.nano.inch.Inchworm 1.0" + "selected": "takeBot.WeavingWiggle 1.1" }, - "completed_at": "2026-09-08T20:57:41Z", - "delta_pct": -20.5, - "id": "7bd4cdf08768932e", + "completed_at": "2026-09-21T19:49:20Z", + "confirmation": null, + "delta_pct": -28.3, + "id": "abb81ddb48d816a8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46818,90 +186104,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "blir.nano.inch.Inchworm 1.0", + "classic_selected": "takeBot.WeavingWiggle 1.1", "division": "roborumble", - "jar": "blir.nano.inch.Inchworm_1.0.jar", - "jar_sha256": "168c6b33a9c90cd70b268369ed7aedb8773e1f04c3b99382fcd2cf98d5b49bd4", - "key": "roborumble/blir.nano.inch.Inchworm_1.0.jar", + "jar": "takeBot.WeavingWiggle_1.1.jar", + "jar_sha256": "8d758d7f664ba0f44c7b5630063a39f666796962d2a4a37c4389a876efc23dd0", + "key": "roborumble/takeBot.WeavingWiggle_1.1.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6088.0, + "score": 4103.0, "scores": [ - 3161.0, - 2927.0 + 2368.0, + 1735.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/blr.Chicken001_0.1.jar": { + "roborumble/tango.Recrimpo_2.51.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "blr.Chicken001 0.1", + "classic_selected": "tango.Recrimpo 2.51", "division": "roborumble", - "jar": "blr.Chicken001_0.1.jar", - "jar_sha256": "b60dc3905b4861b427dae9e16d964f3978947773e5f9c3e5ae32f7c4182f976e", - "key": "roborumble/blr.Chicken001_0.1.jar", + "jar": "tango.Recrimpo_2.51.jar", + "jar_sha256": "c907427cbeb41025272b28a91a64857b0708a027aea9ab15d3cd30fe212aeb06", + "key": "roborumble/tango.Recrimpo_2.51.jar", "kind": "robot" }, - "latest_observation": "fa1b7716484381ca", + "latest_observation": "3e8f4473a36ede89", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10637.0, + "score": 5282.0, "scores": [ - 5565.0, - 5072.0 + 3142.0, + 2140.0 ], - "selected": "blr.Chicken001 0.1" + "selected": "tango.Recrimpo 2.51" }, - "completed_at": "2026-09-08T20:58:00Z", - "delta_pct": -5.1, - "id": "fa1b7716484381ca", + "completed_at": "2026-09-21T19:49:39Z", + "confirmation": null, + "delta_pct": -12.2, + "id": "3e8f4473a36ede89", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -46909,24 +186195,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "blr.Chicken001 0.1", + "classic_selected": "tango.Recrimpo 2.51", "division": "roborumble", - "jar": "blr.Chicken001_0.1.jar", - "jar_sha256": "b60dc3905b4861b427dae9e16d964f3978947773e5f9c3e5ae32f7c4182f976e", - "key": "roborumble/blr.Chicken001_0.1.jar", + "jar": "tango.Recrimpo_2.51.jar", + "jar_sha256": "c907427cbeb41025272b28a91a64857b0708a027aea9ab15d3cd30fe212aeb06", + "key": "roborumble/tango.Recrimpo_2.51.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.1, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10090.0, + "score": 4635.0, "scores": [ - 5323.0, - 4767.0 + 2445.0, + 2190.0 ], "skipped": null } @@ -46934,65 +186222,103 @@ ], "status": "PASS" }, - "roborumble/bndl.LostLion_1.2.jar": { + "roborumble/taqho.taqbot_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bndl.LostLion 1.2", + "classic_selected": "taqho.taqbot 1.0", "division": "roborumble", - "jar": "bndl.LostLion_1.2.jar", - "jar_sha256": "991c707bd0af71a46d5fc34e4a34b0df2267f0ffc06567cdfaebfbea87f80cc2", - "key": "roborumble/bndl.LostLion_1.2.jar", + "jar": "taqho.taqbot_1.0.jar", + "jar_sha256": "50ed2ab0decf7087387ec3039a9563ff6a9381991aa97fc7849623d4ca12a382", + "key": "roborumble/taqho.taqbot_1.0.jar", "kind": "robot" }, - "latest_observation": "1a29913b8f87ac3a", + "latest_observation": "6ec301502f0dfec6", "observations": [ { "classic": { - "elapsed": 17.4, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 169.8, + "error_count": 39, + "error_signatures": [], + "errors": [ + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)", + "Robot taqho.taqbot 1.0 (1) is not stopping. Forcing a stop.", + "Unable to stop thread: taqho.taqbot 1.0 (1)" + ], + "has_log": true, "ok": true, - "score": 6370.0, + "score": 3697.0, "scores": [ - 3271.0, - 3099.0 + 1077.0, + 2620.0 ], - "selected": "bndl.LostLion 1.2" + "selected": "taqho.taqbot 1.0" }, - "completed_at": "2026-09-08T20:58:46Z", - "delta_pct": -6.4, - "id": "1a29913b8f87ac3a", + "completed_at": "2026-09-21T19:52:48Z", + "confirmation": null, + "delta_pct": 60.4, + "id": "6ec301502f0dfec6", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47000,90 +186326,97 @@ "width": 800 }, "source_identity": { - "classic_selected": "bndl.LostLion 1.2", + "classic_selected": "taqho.taqbot 1.0", "division": "roborumble", - "jar": "bndl.LostLion_1.2.jar", - "jar_sha256": "991c707bd0af71a46d5fc34e4a34b0df2267f0ffc06567cdfaebfbea87f80cc2", - "key": "roborumble/bndl.LostLion_1.2.jar", + "jar": "taqho.taqbot_1.0.jar", + "jar_sha256": "50ed2ab0decf7087387ec3039a9563ff6a9381991aa97fc7849623d4ca12a382", + "key": "roborumble/taqho.taqbot_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 28.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5961.0, + "score": 5931.0, "scores": [ - 3239.0, - 2722.0 + 3114.0, + 2817.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/boe.Minerva_0.80.jar": { + "roborumble/tcf.Drifter_29.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "boe.Minerva 0.80", + "classic_selected": "tcf.Drifter 29", "division": "roborumble", - "jar": "boe.Minerva_0.80.jar", - "jar_sha256": "79dd5b1ad699fe82fc423f2a35d3264fd460c787fef7c528a9f897d88365a5d6", - "key": "roborumble/boe.Minerva_0.80.jar", + "jar": "tcf.Drifter_29.jar", + "jar_sha256": "7408a767601208c9a62b7fbfaef8c8b214ab3f5134e531c871f152a831c58d7e", + "key": "roborumble/tcf.Drifter_29.jar", "kind": "robot" }, - "latest_observation": "8205a7ec0f3730f8", + "latest_observation": "130805a6a6f49274", "observations": [ { "classic": { - "elapsed": 9.6, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 6.9, + "error_count": 1, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "tcf.Drifter.readProperties" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\tcf\\Drifter.data\\properties.txt (Den angivne fil blev ikke fundet)" + ], + "has_log": true, "ok": true, - "score": 6318.0, + "score": 4044.0, "scores": [ - 3360.0, - 2958.0 + 2161.0, + 1883.0 ], - "selected": "boe.Minerva 0.80" + "selected": "tcf.Drifter 29" }, - "completed_at": "2026-09-08T20:59:20Z", - "delta_pct": -9.3, - "id": "8205a7ec0f3730f8", + "completed_at": "2026-09-21T19:53:27Z", + "confirmation": null, + "delta_pct": 4.0, + "id": "130805a6a6f49274", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47091,24 +186424,34 @@ "width": 800 }, "source_identity": { - "classic_selected": "boe.Minerva 0.80", + "classic_selected": "tcf.Drifter 29", "division": "roborumble", - "jar": "boe.Minerva_0.80.jar", - "jar_sha256": "79dd5b1ad699fe82fc423f2a35d3264fd460c787fef7c528a9f897d88365a5d6", - "key": "roborumble/boe.Minerva_0.80.jar", + "jar": "tcf.Drifter_29.jar", + "jar_sha256": "7408a767601208c9a62b7fbfaef8c8b214ab3f5134e531c871f152a831c58d7e", + "key": "roborumble/tcf.Drifter_29.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 24.2, - "error_count": 0, - "errors": [], - "has_log": false, + "bridge_only_signatures": null, + "elapsed": 32.2, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "tcf.Drifter.readProperties" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\tcf.Drifter_29\\Drifter.data\\properties.txt (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\tcf.Drifter_29-2\\Drifter.data\\properties.txt (Den angivne fil blev ikke fundet)" + ], + "has_log": true, "ok": true, - "score": 5732.0, + "score": 4205.0, "scores": [ - 3019.0, - 2713.0 + 2302.0, + 1903.0 ], "skipped": null } @@ -47116,65 +186459,108 @@ ], "status": "PASS" }, - "roborumble/bons.NanoStalker_1.2.jar": { + "roborumble/tcf.Repat3_2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bons.NanoStalker 1.2", + "classic_selected": "tcf.Repat3 2", "division": "roborumble", - "jar": "bons.NanoStalker_1.2.jar", - "jar_sha256": "25169213aa301260dbe320aab5011618b95dd7283102fc6272cdd2e5afdc0936", - "key": "roborumble/bons.NanoStalker_1.2.jar", + "jar": "tcf.Repat3_2.jar", + "jar_sha256": "591ff9ee335ab0a53d48d1d1678f8aa2cc1865f8cd227ef9ec3e059d11e616a2", + "key": "roborumble/tcf.Repat3_2.jar", "kind": "robot" }, - "latest_observation": "73559040c308ecc0", + "latest_observation": "552afce98b4a69a2", "observations": [ { "classic": { - "elapsed": 2.4, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 3.2, + "error_count": 35, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "tcf.Repat3.doRadar" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException: Cannot invoke \"tcf.Vec2d.minus(tcf.Vec2d)\" because \"oldest.m_curPos\" is null", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException" + ], + "has_log": true, "ok": true, - "score": 7639.0, + "score": 6167.0, "scores": [ - 3715.0, - 3924.0 + 2730.0, + 3437.0 ], - "selected": "bons.NanoStalker 1.2" + "selected": "tcf.Repat3 2" }, - "completed_at": "2026-09-08T20:59:33Z", - "delta_pct": -62.6, - "id": "73559040c308ecc0", + "completed_at": "2026-09-21T19:53:51Z", + "confirmation": null, + "delta_pct": -13.8, + "id": "552afce98b4a69a2", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47182,90 +186568,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bons.NanoStalker 1.2", + "classic_selected": "tcf.Repat3 2", "division": "roborumble", - "jar": "bons.NanoStalker_1.2.jar", - "jar_sha256": "25169213aa301260dbe320aab5011618b95dd7283102fc6272cdd2e5afdc0936", - "key": "roborumble/bons.NanoStalker_1.2.jar", + "jar": "tcf.Repat3_2.jar", + "jar_sha256": "591ff9ee335ab0a53d48d1d1678f8aa2cc1865f8cd227ef9ec3e059d11e616a2", + "key": "roborumble/tcf.Repat3_2.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "DISCREPANCY (errors)", "tank_royale": { - "elapsed": 10.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2859.0, + "score": 5317.0, "scores": [ - 1527.0, - 1332.0 + 3008.0, + 2309.0 ], "skipped": null } } ], - "status": "score-review" + "status": "DISCREPANCY (errors)" }, - "roborumble/bots.UberBot_1.2c.jar": { + "roborumble/techdude.Class2C.Class2C_0.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bots.UberBot 1.2c", + "classic_selected": "techdude.Class2C.Class2C 0.1", "division": "roborumble", - "jar": "bots.UberBot_1.2c.jar", - "jar_sha256": "5406ba168c88b8e114b607bddd2959d76d4601740fe12236d5066d8a6bfcb556", - "key": "roborumble/bots.UberBot_1.2c.jar", + "jar": "techdude.Class2C.Class2C_0.1.jar", + "jar_sha256": "edb071910ca9ec10dffb6f53a7ca3a02d1c579f4278ef1af0b2c9ef7601e8ea0", + "key": "roborumble/techdude.Class2C.Class2C_0.1.jar", "kind": "robot" }, - "latest_observation": "258737685abd4504", + "latest_observation": "b0d5a71172c4dced", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6154.0, + "score": 6664.0, "scores": [ - 2720.0, - 3434.0 + 4196.0, + 2468.0 ], - "selected": "bots.UberBot 1.2c" + "selected": "techdude.Class2C.Class2C 0.1" }, - "completed_at": "2026-09-08T20:59:58Z", - "delta_pct": -8.6, - "id": "258737685abd4504", + "completed_at": "2026-09-21T19:54:50Z", + "confirmation": null, + "delta_pct": null, + "id": "b0d5a71172c4dced", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47273,90 +186659,100 @@ "width": 800 }, "source_identity": { - "classic_selected": "bots.UberBot 1.2c", + "classic_selected": "techdude.Class2C.Class2C 0.1", "division": "roborumble", - "jar": "bots.UberBot_1.2c.jar", - "jar_sha256": "5406ba168c88b8e114b607bddd2959d76d4601740fe12236d5066d8a6bfcb556", - "key": "roborumble/bots.UberBot_1.2c.jar", + "jar": "techdude.Class2C.Class2C_0.1.jar", + "jar_sha256": "edb071910ca9ec10dffb6f53a7ca3a02d1c579f4278ef1af0b2c9ef7601e8ea0", + "key": "roborumble/techdude.Class2C.Class2C_0.1.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 22.0, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 5625.0, - "scores": [ - 3120.0, - 2505.0 + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "techdude.Class2C.Class2C.doEnemyWaves" + ] + ], + "elapsed": 6.1, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "techdude.Class2C.Class2C.doEnemyWaves" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null" ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } } ], - "status": "PASS" + "status": "DISCREPANCY (outcome)" }, - "roborumble/bots.UnterBot_1.0.jar": { + "roborumble/techdude.kombat.FlamingKombat_1.5.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bots.UnterBot 1.0", + "classic_selected": "techdude.kombat.FlamingKombat 1.5", "division": "roborumble", - "jar": "bots.UnterBot_1.0.jar", - "jar_sha256": "7c24869acf14c596bca3c7eeb85b0dbab99b99e470f5df1bb886c4d101f1e66d", - "key": "roborumble/bots.UnterBot_1.0.jar", + "jar": "techdude.kombat.FlamingKombat_1.5.jar", + "jar_sha256": "a62d963b1ceb2e36e9d022a8c56d09ba9e03ffbd84a186ab3e50424afc3fdc5d", + "key": "roborumble/techdude.kombat.FlamingKombat_1.5.jar", "kind": "robot" }, - "latest_observation": "a57b9c4d5a68c0e3", + "latest_observation": "0094f8d67f9249b8", "observations": [ { "classic": { - "elapsed": 2.3, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7852.0, + "score": 5318.0, "scores": [ - 4216.0, - 3636.0 + 2828.0, + 2490.0 ], - "selected": "bots.UnterBot 1.0" + "selected": "techdude.kombat.FlamingKombat 1.5" }, - "completed_at": "2026-09-08T21:00:22Z", - "delta_pct": -45.5, - "id": "a57b9c4d5a68c0e3", + "completed_at": "2026-09-21T19:55:18Z", + "confirmation": null, + "delta_pct": -47.5, + "id": "0094f8d67f9249b8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47364,24 +186760,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bots.UnterBot 1.0", + "classic_selected": "techdude.kombat.FlamingKombat 1.5", "division": "roborumble", - "jar": "bots.UnterBot_1.0.jar", - "jar_sha256": "7c24869acf14c596bca3c7eeb85b0dbab99b99e470f5df1bb886c4d101f1e66d", - "key": "roborumble/bots.UnterBot_1.0.jar", + "jar": "techdude.kombat.FlamingKombat_1.5.jar", + "jar_sha256": "a62d963b1ceb2e36e9d022a8c56d09ba9e03ffbd84a186ab3e50424afc3fdc5d", + "key": "roborumble/techdude.kombat.FlamingKombat_1.5.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4279.0, + "score": 2794.0, "scores": [ - 2713.0, - 1566.0 + 1476.0, + 1318.0 ], "skipped": null } @@ -47389,65 +186787,63 @@ ], "status": "score-review" }, - "roborumble/bots.UnterExBot_1.0.jar": { + "roborumble/test.Fuzzer_1.0.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bots.UnterExBot 1.0", + "classic_selected": "test.Fuzzer 1.0.1", "division": "roborumble", - "jar": "bots.UnterExBot_1.0.jar", - "jar_sha256": "773aa3a9953e440b5e5464c54b5efbd269a15b17ab05f301d3401d16c263d25b", - "key": "roborumble/bots.UnterExBot_1.0.jar", + "jar": "test.Fuzzer_1.0.1.jar", + "jar_sha256": "e9bec542b722bcab3a0a8553f744eed3f48a13c7ac2aa34cb2de5aeb4fe0e2dd", + "key": "roborumble/test.Fuzzer_1.0.1.jar", "kind": "robot" }, - "latest_observation": "0eeef9f8e9a05217", + "latest_observation": "3c7ff8aefc109aa0", "observations": [ { "classic": { - "elapsed": 2.3, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 9251.0, + "score": 5487.0, "scores": [ - 4666.0, - 4585.0 + 2607.0, + 2880.0 ], - "selected": "bots.UnterExBot 1.0" + "selected": "test.Fuzzer 1.0.1" }, - "completed_at": "2026-09-08T21:00:45Z", - "delta_pct": -47.8, - "id": "0eeef9f8e9a05217", + "completed_at": "2026-09-21T19:55:35Z", + "confirmation": null, + "delta_pct": 101.1, + "id": "3c7ff8aefc109aa0", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47455,24 +186851,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bots.UnterExBot 1.0", + "classic_selected": "test.Fuzzer 1.0.1", "division": "roborumble", - "jar": "bots.UnterExBot_1.0.jar", - "jar_sha256": "773aa3a9953e440b5e5464c54b5efbd269a15b17ab05f301d3401d16c263d25b", - "key": "roborumble/bots.UnterExBot_1.0.jar", + "jar": "test.Fuzzer_1.0.1.jar", + "jar_sha256": "e9bec542b722bcab3a0a8553f744eed3f48a13c7ac2aa34cb2de5aeb4fe0e2dd", + "key": "roborumble/test.Fuzzer_1.0.1.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4833.0, + "score": 11032.0, "scores": [ - 2438.0, - 2395.0 + 5535.0, + 5497.0 ], "skipped": null } @@ -47480,65 +186878,63 @@ ], "status": "score-review" }, - "roborumble/bp.Kuma_1.0.jar": { + "roborumble/test.Podgy_4.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bp.Kuma 1.0", + "classic_selected": "test.Podgy 4.0", "division": "roborumble", - "jar": "bp.Kuma_1.0.jar", - "jar_sha256": "2646c78e817ac3701fbd23306259844fdea377b82ac7748f8d3cf6ea36b4825e", - "key": "roborumble/bp.Kuma_1.0.jar", + "jar": "test.Podgy_4.0.jar", + "jar_sha256": "d3f2f8771f490a35f2e25115d17d4c5de2c04a45b49a98c305e697adb3913e17", + "key": "roborumble/test.Podgy_4.0.jar", "kind": "robot" }, - "latest_observation": "a5efd143dba4df0f", + "latest_observation": "fbc9e6ea567d3568", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3008.0, + "score": 5231.0, "scores": [ - 1726.0, - 1282.0 + 2476.0, + 2755.0 ], - "selected": "bp.Kuma 1.0" + "selected": "test.Podgy 4.0" }, - "completed_at": "2026-09-08T21:01:06Z", - "delta_pct": 91.6, - "id": "a5efd143dba4df0f", + "completed_at": "2026-09-21T19:55:52Z", + "confirmation": null, + "delta_pct": 76.7, + "id": "fbc9e6ea567d3568", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47546,24 +186942,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bp.Kuma 1.0", + "classic_selected": "test.Podgy 4.0", "division": "roborumble", - "jar": "bp.Kuma_1.0.jar", - "jar_sha256": "2646c78e817ac3701fbd23306259844fdea377b82ac7748f8d3cf6ea36b4825e", - "key": "roborumble/bp.Kuma_1.0.jar", + "jar": "test.Podgy_4.0.jar", + "jar_sha256": "d3f2f8771f490a35f2e25115d17d4c5de2c04a45b49a98c305e697adb3913e17", + "key": "roborumble/test.Podgy_4.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5762.0, + "score": 9244.0, "scores": [ - 3303.0, - 2459.0 + 5152.0, + 4092.0 ], "skipped": null } @@ -47571,65 +186969,63 @@ ], "status": "score-review" }, - "roborumble/braaropolis.Abot_1.0.jar": { + "roborumble/testantiswapgun.AntiSwap_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "braaropolis.Abot 1.0", + "classic_selected": "testantiswapgun.AntiSwap 1.0", "division": "roborumble", - "jar": "braaropolis.Abot_1.0.jar", - "jar_sha256": "d8e61877edd6f98d13b8c78bce6fb1fa8930834ce8414b95f2f0c46f7dd9a8be", - "key": "roborumble/braaropolis.Abot_1.0.jar", + "jar": "testantiswapgun.AntiSwap_1.0.jar", + "jar_sha256": "c124edd287d720b4ce632d19ef9854a068539fb756b66e4e52e191a1cfd5c82f", + "key": "roborumble/testantiswapgun.AntiSwap_1.0.jar", "kind": "robot" }, - "latest_observation": "36610aff4c63ca29", + "latest_observation": "7efb12702de04526", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 4.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4862.0, + "score": 6249.0, "scores": [ - 1751.0, - 3111.0 + 3094.0, + 3155.0 ], - "selected": "braaropolis.Abot 1.0" + "selected": "testantiswapgun.AntiSwap 1.0" }, - "completed_at": "2026-09-08T21:01:31Z", - "delta_pct": -26.1, - "id": "36610aff4c63ca29", + "completed_at": "2026-09-21T19:56:27Z", + "confirmation": null, + "delta_pct": -1.7, + "id": "7efb12702de04526", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "40a7fcf65ce27c0034b7855fa842ab712b35d102", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47637,90 +187033,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "braaropolis.Abot 1.0", + "classic_selected": "testantiswapgun.AntiSwap 1.0", "division": "roborumble", - "jar": "braaropolis.Abot_1.0.jar", - "jar_sha256": "d8e61877edd6f98d13b8c78bce6fb1fa8930834ce8414b95f2f0c46f7dd9a8be", - "key": "roborumble/braaropolis.Abot_1.0.jar", + "jar": "testantiswapgun.AntiSwap_1.0.jar", + "jar_sha256": "c124edd287d720b4ce632d19ef9854a068539fb756b66e4e52e191a1cfd5c82f", + "key": "roborumble/testantiswapgun.AntiSwap_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 30.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3594.0, + "score": 6142.0, "scores": [ - 1866.0, - 1728.0 + 3354.0, + 2788.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/brainfade.Fallen_0.63.jar": { + "roborumble/tex.Longbot_0.4.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "brainfade.Fallen 0.63", + "classic_selected": "tex.Longbot 0.4", "division": "roborumble", - "jar": "brainfade.Fallen_0.63.jar", - "jar_sha256": "7affe8566b9200ec51bc97f81bd7e3a98d5e9f2c011c70bd3331754bfc832373", - "key": "roborumble/brainfade.Fallen_0.63.jar", + "jar": "tex.Longbot_0.4.jar", + "jar_sha256": "dff836e0ae22add360287585b35b6fa050c0eaa5739f198e792f239a1bdf86ad", + "key": "roborumble/tex.Longbot_0.4.jar", "kind": "robot" }, - "latest_observation": "cfd838bd46fc2f16", + "latest_observation": "8c0df9a5304fb375", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5630.0, + "score": 8297.0, "scores": [ - 2323.0, - 3307.0 + 4011.0, + 4286.0 ], - "selected": "brainfade.Fallen 0.63" + "selected": "tex.Longbot 0.4" }, - "completed_at": "2026-09-08T21:01:54Z", - "delta_pct": -12.6, - "id": "cfd838bd46fc2f16", + "completed_at": "2026-09-21T19:56:59Z", + "confirmation": null, + "delta_pct": -1.9, + "id": "8c0df9a5304fb375", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47728,24 +187124,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "brainfade.Fallen 0.63", + "classic_selected": "tex.Longbot 0.4", "division": "roborumble", - "jar": "brainfade.Fallen_0.63.jar", - "jar_sha256": "7affe8566b9200ec51bc97f81bd7e3a98d5e9f2c011c70bd3331754bfc832373", - "key": "roborumble/brainfade.Fallen_0.63.jar", + "jar": "tex.Longbot_0.4.jar", + "jar_sha256": "dff836e0ae22add360287585b35b6fa050c0eaa5739f198e792f239a1bdf86ad", + "key": "roborumble/tex.Longbot_0.4.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 16.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4918.0, + "score": 8139.0, "scores": [ - 3163.0, - 1755.0 + 4630.0, + 3509.0 ], "skipped": null } @@ -47753,65 +187151,63 @@ ], "status": "PASS" }, - "roborumble/brainfade.melee.Dusk_0.44.jar": { + "roborumble/throxbot.ThroxBot_0.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "brainfade.melee.Dusk 0.44", + "classic_selected": "throxbot.ThroxBot 0.1", "division": "roborumble", - "jar": "brainfade.melee.Dusk_0.44.jar", - "jar_sha256": "a9ebabb60c05453723be3680d718a93a6b212ecf13d3fc408b4e2ab88f5d853b", - "key": "roborumble/brainfade.melee.Dusk_0.44.jar", + "jar": "throxbot.ThroxBot_0.1.jar", + "jar_sha256": "4f1b40c146e7a1107ee9a3661648c368813f61f8c65fb0eee6f96700954b42c3", + "key": "roborumble/throxbot.ThroxBot_0.1.jar", "kind": "robot" }, - "latest_observation": "c24d76413b604bbc", + "latest_observation": "f562e62e29cb6bf8", "observations": [ { "classic": { - "elapsed": 3.5, + "elapsed": 2.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5163.0, + "score": 5519.0, "scores": [ - 2822.0, - 2341.0 + 3012.0, + 2507.0 ], - "selected": "brainfade.melee.Dusk 0.44" + "selected": "throxbot.ThroxBot 0.1" }, - "completed_at": "2026-09-08T21:02:28Z", - "delta_pct": -1.8, - "id": "c24d76413b604bbc", + "completed_at": "2026-09-21T19:57:20Z", + "confirmation": null, + "delta_pct": -1.3, + "id": "f562e62e29cb6bf8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47819,24 +187215,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "brainfade.melee.Dusk 0.44", + "classic_selected": "throxbot.ThroxBot 0.1", "division": "roborumble", - "jar": "brainfade.melee.Dusk_0.44.jar", - "jar_sha256": "a9ebabb60c05453723be3680d718a93a6b212ecf13d3fc408b4e2ab88f5d853b", - "key": "roborumble/brainfade.melee.Dusk_0.44.jar", + "jar": "throxbot.ThroxBot_0.1.jar", + "jar_sha256": "4f1b40c146e7a1107ee9a3661648c368813f61f8c65fb0eee6f96700954b42c3", + "key": "roborumble/throxbot.ThroxBot_0.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 30.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5071.0, + "score": 5445.0, "scores": [ - 2645.0, - 2426.0 + 2970.0, + 2475.0 ], "skipped": null } @@ -47844,65 +187242,63 @@ ], "status": "PASS" }, - "roborumble/bts.mega.Gnarly_1.4.jar": { + "roborumble/tide.pear.Pear_0.62.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bts.mega.Gnarly 1.4", + "classic_selected": "tide.pear.Pear 0.62.1", "division": "roborumble", - "jar": "bts.mega.Gnarly_1.4.jar", - "jar_sha256": "77d1f463511e268b1a020f8571fe932a03760447e30067846a3c1d6090368f81", - "key": "roborumble/bts.mega.Gnarly_1.4.jar", + "jar": "tide.pear.Pear_0.62.1.jar", + "jar_sha256": "3fbf18bf78ea325b2ced103c64b430cd98c63c5375a33a05f78aad05f2a2535c", + "key": "roborumble/tide.pear.Pear_0.62.1.jar", "kind": "robot" }, - "latest_observation": "ea1a4d3c629039e8", + "latest_observation": "c1e37ab1650b02a6", "observations": [ { "classic": { - "elapsed": 2.8, + "elapsed": 4.9, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8473.0, + "score": 4971.0, "scores": [ - 4405.0, - 4068.0 + 2760.0, + 2211.0 ], - "selected": "bts.mega.Gnarly 1.4" + "selected": "tide.pear.Pear 0.62.1" }, - "completed_at": "2026-09-08T21:02:45Z", - "delta_pct": 2.3, - "id": "ea1a4d3c629039e8", + "completed_at": "2026-09-21T19:57:42Z", + "confirmation": null, + "delta_pct": 49.0, + "id": "c1e37ab1650b02a6", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -47910,90 +187306,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bts.mega.Gnarly 1.4", + "classic_selected": "tide.pear.Pear 0.62.1", "division": "roborumble", - "jar": "bts.mega.Gnarly_1.4.jar", - "jar_sha256": "77d1f463511e268b1a020f8571fe932a03760447e30067846a3c1d6090368f81", - "key": "roborumble/bts.mega.Gnarly_1.4.jar", + "jar": "tide.pear.Pear_0.62.1.jar", + "jar_sha256": "3fbf18bf78ea325b2ced103c64b430cd98c63c5375a33a05f78aad05f2a2535c", + "key": "roborumble/tide.pear.Pear_0.62.1.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8671.0, + "score": 7405.0, "scores": [ - 4642.0, - 4029.0 + 3823.0, + 3582.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/bts.wiki.RipCurl_0.9b.jar": { + "roborumble/timmit.TimmiT_0.22.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bts.wiki.RipCurl 0.9b", + "classic_selected": "timmit.TimmiT 0.22", "division": "roborumble", - "jar": "bts.wiki.RipCurl_0.9b.jar", - "jar_sha256": "1f9a52c3ea49c22e5755defaaf43f355801169537f7a9636d1708bd00064e4c9", - "key": "roborumble/bts.wiki.RipCurl_0.9b.jar", + "jar": "timmit.TimmiT_0.22.jar", + "jar_sha256": "368c173c8f28d6491a9b3a47cbe9b280f18e05f3a127ecd7690c6f04b7e89061", + "key": "roborumble/timmit.TimmiT_0.22.jar", "kind": "robot" }, - "latest_observation": "0b71b2a50f905e18", + "latest_observation": "7586b5ffa32a85d5", "observations": [ { "classic": { - "elapsed": 3.0, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5000.0, + "score": 4905.0, "scores": [ - 1871.0, - 3129.0 + 2584.0, + 2321.0 ], - "selected": "bts.wiki.RipCurl 0.9b" + "selected": "timmit.TimmiT 0.22" }, - "completed_at": "2026-09-08T21:02:55Z", - "delta_pct": null, - "id": "0b71b2a50f905e18", + "completed_at": "2026-09-21T19:59:19Z", + "confirmation": null, + "delta_pct": 1.9, + "id": "7586b5ffa32a85d5", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48001,90 +187397,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bts.wiki.RipCurl 0.9b", + "classic_selected": "timmit.TimmiT 0.22", "division": "roborumble", - "jar": "bts.wiki.RipCurl_0.9b.jar", - "jar_sha256": "1f9a52c3ea49c22e5755defaaf43f355801169537f7a9636d1708bd00064e4c9", - "key": "roborumble/bts.wiki.RipCurl_0.9b.jar", + "jar": "timmit.TimmiT_0.22.jar", + "jar_sha256": "368c173c8f28d6491a9b3a47cbe9b280f18e05f3a127ecd7690c6f04b7e89061", + "key": "roborumble/timmit.TimmiT_0.22.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "PASS", "tank_royale": { - "elapsed": 6.2, - "error_count": 2, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 2" + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4997.0, + "scores": [ + 2883.0, + 2114.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/buba.Archivist_0.1.jar": { + "roborumble/timmit.micro.TimXJ_0.22.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "buba.Archivist 0.1", + "classic_selected": "timmit.micro.TimXJ 0.22", "division": "roborumble", - "jar": "buba.Archivist_0.1.jar", - "jar_sha256": "16a0212d06836af24b9b7d351de52406e456804ede7c302e4cb85c75d2b08acc", - "key": "roborumble/buba.Archivist_0.1.jar", + "jar": "timmit.micro.TimXJ_0.22.jar", + "jar_sha256": "a9c6c711855cbaa8268ab6709820c4d864ef73711aaad4a48089370a4c2aadc4", + "key": "roborumble/timmit.micro.TimXJ_0.22.jar", "kind": "robot" }, - "latest_observation": "d18c23f855ed3f66", + "latest_observation": "c53a11703a9a7b14", "observations": [ { "classic": { - "elapsed": 3.2, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5379.0, + "score": 5545.0, "scores": [ - 2993.0, - 2386.0 + 3137.0, + 2408.0 ], - "selected": "buba.Archivist 0.1" + "selected": "timmit.micro.TimXJ 0.22" }, - "completed_at": "2026-09-08T21:03:14Z", - "delta_pct": -9.6, - "id": "d18c23f855ed3f66", + "completed_at": "2026-09-21T19:58:03Z", + "confirmation": null, + "delta_pct": -18.5, + "id": "c53a11703a9a7b14", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48092,24 +187488,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "buba.Archivist 0.1", + "classic_selected": "timmit.micro.TimXJ 0.22", "division": "roborumble", - "jar": "buba.Archivist_0.1.jar", - "jar_sha256": "16a0212d06836af24b9b7d351de52406e456804ede7c302e4cb85c75d2b08acc", - "key": "roborumble/buba.Archivist_0.1.jar", + "jar": "timmit.micro.TimXJ_0.22.jar", + "jar_sha256": "a9c6c711855cbaa8268ab6709820c4d864ef73711aaad4a48089370a4c2aadc4", + "key": "roborumble/timmit.micro.TimXJ_0.22.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4862.0, + "score": 4518.0, "scores": [ - 3109.0, - 1753.0 + 2936.0, + 1582.0 ], "skipped": null } @@ -48117,65 +187515,63 @@ ], "status": "PASS" }, - "roborumble/buba.Buba_0.3.jar": { + "roborumble/timmit.mini.TimVA_0.43.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "buba.Buba 0.3", + "classic_selected": "timmit.mini.TimVA 0.43", "division": "roborumble", - "jar": "buba.Buba_0.3.jar", - "jar_sha256": "ba2320e401f43470e16fa1253315b29b36047b22bac99ad62bed59bb014e1716", - "key": "roborumble/buba.Buba_0.3.jar", + "jar": "timmit.mini.TimVA_0.43.jar", + "jar_sha256": "8fed54a9edae629b1173a2ae83ef97c1bbd415c1d60f07bf3870b5c45930a983", + "key": "roborumble/timmit.mini.TimVA_0.43.jar", "kind": "robot" }, - "latest_observation": "92de0a656f602dca", + "latest_observation": "ae20e402d06bf044", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 3.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4975.0, + "score": 5534.0, "scores": [ - 1731.0, - 3244.0 + 2660.0, + 2874.0 ], - "selected": "buba.Buba 0.3" + "selected": "timmit.mini.TimVA 0.43" }, - "completed_at": "2026-09-08T21:03:31Z", - "delta_pct": -19.0, - "id": "92de0a656f602dca", + "completed_at": "2026-09-21T19:58:24Z", + "confirmation": null, + "delta_pct": -10.8, + "id": "ae20e402d06bf044", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48183,24 +187579,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "buba.Buba 0.3", + "classic_selected": "timmit.mini.TimVA 0.43", "division": "roborumble", - "jar": "buba.Buba_0.3.jar", - "jar_sha256": "ba2320e401f43470e16fa1253315b29b36047b22bac99ad62bed59bb014e1716", - "key": "roborumble/buba.Buba_0.3.jar", + "jar": "timmit.mini.TimVA_0.43.jar", + "jar_sha256": "8fed54a9edae629b1173a2ae83ef97c1bbd415c1d60f07bf3870b5c45930a983", + "key": "roborumble/timmit.mini.TimVA_0.43.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4029.0, + "score": 4939.0, "scores": [ - 2290.0, - 1739.0 + 2491.0, + 2448.0 ], "skipped": null } @@ -48208,65 +187606,63 @@ ], "status": "PASS" }, - "roborumble/bumblebee.Bumblebee_1.0.jar": { + "roborumble/timmit.nano.TimCat_0.13.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bumblebee.Bumblebee 1.0", + "classic_selected": "timmit.nano.TimCat 0.13", "division": "roborumble", - "jar": "bumblebee.Bumblebee_1.0.jar", - "jar_sha256": "13752cd9d2f4ffe2a675074b50ecca99b982f57bea36c1bac5e4f254cf0af9c5", - "key": "roborumble/bumblebee.Bumblebee_1.0.jar", + "jar": "timmit.nano.TimCat_0.13.jar", + "jar_sha256": "fa990b08493927d3250cf35b7e07e6814ad68668d6e3fd5bfbf9c7e11acfd530", + "key": "roborumble/timmit.nano.TimCat_0.13.jar", "kind": "robot" }, - "latest_observation": "684d3891682e1261", + "latest_observation": "79745ba32e2f25fe", "observations": [ { "classic": { - "elapsed": 2.3, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7679.0, + "score": 4758.0, "scores": [ - 3456.0, - 4223.0 + 2299.0, + 2459.0 ], - "selected": "bumblebee.Bumblebee 1.0" + "selected": "timmit.nano.TimCat 0.13" }, - "completed_at": "2026-09-08T21:03:46Z", - "delta_pct": 0.1, - "id": "684d3891682e1261", + "completed_at": "2026-09-21T19:58:39Z", + "confirmation": null, + "delta_pct": -38.5, + "id": "79745ba32e2f25fe", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48274,90 +187670,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bumblebee.Bumblebee 1.0", + "classic_selected": "timmit.nano.TimCat 0.13", "division": "roborumble", - "jar": "bumblebee.Bumblebee_1.0.jar", - "jar_sha256": "13752cd9d2f4ffe2a675074b50ecca99b982f57bea36c1bac5e4f254cf0af9c5", - "key": "roborumble/bumblebee.Bumblebee_1.0.jar", + "jar": "timmit.nano.TimCat_0.13.jar", + "jar_sha256": "fa990b08493927d3250cf35b7e07e6814ad68668d6e3fd5bfbf9c7e11acfd530", + "key": "roborumble/timmit.nano.TimCat_0.13.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7686.0, + "score": 2927.0, "scores": [ - 3977.0, - 3709.0 + 1617.0, + 1310.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/bvh.fnr.Fenrir_0.36l.jar": { + "roborumble/timmit.nano.TimDog_0.33.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bvh.fnr.Fenrir 0.36l", + "classic_selected": "timmit.nano.TimDog 0.33", "division": "roborumble", - "jar": "bvh.fnr.Fenrir_0.36l.jar", - "jar_sha256": "986ed898d1fa2556d204321e33139543a61c6ddda15b419b877cc7009e91b5d9", - "key": "roborumble/bvh.fnr.Fenrir_0.36l.jar", + "jar": "timmit.nano.TimDog_0.33.jar", + "jar_sha256": "ce89b54e4797f9d2b4ae3eed01c7b04346a2deab0238c3a6fdbd375cc03d1f93", + "key": "roborumble/timmit.nano.TimDog_0.33.jar", "kind": "robot" }, - "latest_observation": "c42dcc45e38dcd92", + "latest_observation": "00b253e2a5b6569e", "observations": [ { "classic": { - "elapsed": 3.7, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5899.0, + "score": 6553.0, "scores": [ - 2726.0, - 3173.0 + 3599.0, + 2954.0 ], - "selected": "bvh.fnr.Fenrir 0.36l" + "selected": "timmit.nano.TimDog 0.33" }, - "completed_at": "2026-09-08T21:04:10Z", - "delta_pct": -7.8, - "id": "c42dcc45e38dcd92", + "completed_at": "2026-09-21T19:58:58Z", + "confirmation": null, + "delta_pct": -1.1, + "id": "00b253e2a5b6569e", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48365,24 +187761,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.fnr.Fenrir 0.36l", + "classic_selected": "timmit.nano.TimDog 0.33", "division": "roborumble", - "jar": "bvh.fnr.Fenrir_0.36l.jar", - "jar_sha256": "986ed898d1fa2556d204321e33139543a61c6ddda15b419b877cc7009e91b5d9", - "key": "roborumble/bvh.fnr.Fenrir_0.36l.jar", + "jar": "timmit.nano.TimDog_0.33.jar", + "jar_sha256": "ce89b54e4797f9d2b4ae3eed01c7b04346a2deab0238c3a6fdbd375cc03d1f93", + "key": "roborumble/timmit.nano.TimDog_0.33.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5440.0, + "score": 6479.0, "scores": [ - 3191.0, - 2249.0 + 3322.0, + 3157.0 ], "skipped": null } @@ -48390,65 +187788,63 @@ ], "status": "PASS" }, - "roborumble/bvh.frg.Friga_0.112dev.jar": { + "roborumble/tjk.AFlatNatural_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bvh.frg.Friga 0.112dev", + "classic_selected": "tjk.AFlatNatural 1.0", "division": "roborumble", - "jar": "bvh.frg.Friga_0.112dev.jar", - "jar_sha256": "a7bda40ea78e411a38c3d99bf52466b26ae5efe3df9dc432b48f6df388346d9f", - "key": "roborumble/bvh.frg.Friga_0.112dev.jar", + "jar": "tjk.AFlatNatural_1.0.jar", + "jar_sha256": "79ba036c8266600bbc60714def0fcab330171817c6517fbadb981231b477b583", + "key": "roborumble/tjk.AFlatNatural_1.0.jar", "kind": "robot" }, - "latest_observation": "2c64749929672cae", + "latest_observation": "85d1d52f7c5fbfa9", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 3.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5674.0, + "score": 8956.0, "scores": [ - 2831.0, - 2843.0 + 4585.0, + 4371.0 ], - "selected": "bvh.frg.Friga 0.112dev" + "selected": "tjk.AFlatNatural 1.0" }, - "completed_at": "2026-09-08T21:04:33Z", - "delta_pct": -9.2, - "id": "2c64749929672cae", + "completed_at": "2026-09-21T19:59:39Z", + "confirmation": null, + "delta_pct": 5.8, + "id": "85d1d52f7c5fbfa9", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48456,24 +187852,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.frg.Friga 0.112dev", + "classic_selected": "tjk.AFlatNatural 1.0", "division": "roborumble", - "jar": "bvh.frg.Friga_0.112dev.jar", - "jar_sha256": "a7bda40ea78e411a38c3d99bf52466b26ae5efe3df9dc432b48f6df388346d9f", - "key": "roborumble/bvh.frg.Friga_0.112dev.jar", + "jar": "tjk.AFlatNatural_1.0.jar", + "jar_sha256": "79ba036c8266600bbc60714def0fcab330171817c6517fbadb981231b477b583", + "key": "roborumble/tjk.AFlatNatural_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 16.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5151.0, + "score": 9476.0, "scores": [ - 2893.0, - 2258.0 + 4896.0, + 4580.0 ], "skipped": null } @@ -48481,65 +187879,63 @@ ], "status": "PASS" }, - "roborumble/bvh.fry.Freya_0.82.jar": { + "roborumble/tjk.deBroglie_rev0108.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bvh.fry.Freya 0.82", + "classic_selected": "tjk.deBroglie rev0108", "division": "roborumble", - "jar": "bvh.fry.Freya_0.82.jar", - "jar_sha256": "2618ef3fb7cd8cb814b33be2531dc1e81661554362f93b29a80d1cce31f12fe5", - "key": "roborumble/bvh.fry.Freya_0.82.jar", + "jar": "tjk.deBroglie_rev0108.jar", + "jar_sha256": "72ab515faa4133a92c7e0699e051339b7e023f16bb84f9b861578e8aedbabba6", + "key": "roborumble/tjk.deBroglie_rev0108.jar", "kind": "robot" }, - "latest_observation": "d32b1f5ce3e25f80", + "latest_observation": "dad5f10f813b5490", "observations": [ { "classic": { - "elapsed": 6.8, + "elapsed": 7.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5546.0, + "score": 6033.0, "scores": [ - 2606.0, - 2940.0 + 3119.0, + 2914.0 ], - "selected": "bvh.fry.Freya 0.82" + "selected": "tjk.deBroglie rev0108" }, - "completed_at": "2026-09-08T21:04:44Z", - "delta_pct": null, - "id": "d32b1f5ce3e25f80", + "completed_at": "2026-09-21T20:00:13Z", + "confirmation": null, + "delta_pct": -2.5, + "id": "dad5f10f813b5490", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48547,91 +187943,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.fry.Freya 0.82", + "classic_selected": "tjk.deBroglie rev0108", "division": "roborumble", - "jar": "bvh.fry.Freya_0.82.jar", - "jar_sha256": "2618ef3fb7cd8cb814b33be2531dc1e81661554362f93b29a80d1cce31f12fe5", - "key": "roborumble/bvh.fry.Freya_0.82.jar", + "jar": "tjk.deBroglie_rev0108.jar", + "jar_sha256": "72ab515faa4133a92c7e0699e051339b7e023f16bb84f9b861578e8aedbabba6", + "key": "roborumble/tjk.deBroglie_rev0108.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "PASS", "tank_royale": { - "elapsed": 4.2, - "error_count": 3, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "inlezenInitialisatieBestand(): IOException bij inlezen data Freya.ini: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\bvh.fry.Freya_0.82\\Freya.data\\Freya.ini (Den angivne fil blev ikke fundet)", - "inlezenInitialisatieBestand(): IOException bij inlezen data Freya.ini: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\bvh.fry.Freya_0.82-2\\Freya.data\\Freya.ini (Den angivne fil blev ikke fundet)" + "bridge_only_signatures": null, + "elapsed": 26.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5880.0, + "scores": [ + 3027.0, + 2853.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/bvh.hdr.Hodur_0.4.jar": { + "roborumble/tk.BotOX_0.3.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bvh.hdr.Hodur 0.4", + "classic_selected": "tk.BotOX 0.3", "division": "roborumble", - "jar": "bvh.hdr.Hodur_0.4.jar", - "jar_sha256": "2bd6a9804697badcfad118f8c84db756b33cd9154144da4b19166f9f7caea94e", - "key": "roborumble/bvh.hdr.Hodur_0.4.jar", + "jar": "tk.BotOX_0.3.jar", + "jar_sha256": "294640a10d57402e6716cbbce73b7766094af00ad802bc30e389c82d770e3010", + "key": "roborumble/tk.BotOX_0.3.jar", "kind": "robot" }, - "latest_observation": "bc89209e78a077fc", + "latest_observation": "7b47033a9aecb9c6", "observations": [ { "classic": { - "elapsed": 6.2, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 1932.0, + "score": 7241.0, "scores": [ - 1011.0, - 921.0 + 3635.0, + 3606.0 ], - "selected": "bvh.hdr.Hodur 0.4" + "selected": "tk.BotOX 0.3" }, - "completed_at": "2026-09-08T21:05:24Z", - "delta_pct": -37.2, - "id": "bc89209e78a077fc", + "completed_at": "2026-09-21T20:00:40Z", + "confirmation": null, + "delta_pct": -24.8, + "id": "7b47033a9aecb9c6", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48639,90 +188034,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.hdr.Hodur 0.4", + "classic_selected": "tk.BotOX 0.3", "division": "roborumble", - "jar": "bvh.hdr.Hodur_0.4.jar", - "jar_sha256": "2bd6a9804697badcfad118f8c84db756b33cd9154144da4b19166f9f7caea94e", - "key": "roborumble/bvh.hdr.Hodur_0.4.jar", + "jar": "tk.BotOX_0.3.jar", + "jar_sha256": "294640a10d57402e6716cbbce73b7766094af00ad802bc30e389c82d770e3010", + "key": "roborumble/tk.BotOX_0.3.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 34.0, + "bridge_only_signatures": null, + "elapsed": 24.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 1214.0, + "score": 5447.0, "scores": [ - 681.0, - 533.0 + 3015.0, + 2432.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/bvh.loki.Loki_0.5.jar": { + "roborumble/tkt.RedShift_1.1.CS.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bvh.loki.Loki 0.5", + "classic_selected": "tkt.RedShift 1.1.CS.0", "division": "roborumble", - "jar": "bvh.loki.Loki_0.5.jar", - "jar_sha256": "46f15811b1cbdfa571eca677320bd0efca497cfb6ed6b672e82f8c27dfb3f0c6", - "key": "roborumble/bvh.loki.Loki_0.5.jar", + "jar": "tkt.RedShift_1.1.CS.0.jar", + "jar_sha256": "865f5ab6d66c2e1ecb47ae0a73a12f3bb85b4c8f905829eb62723963071f92ba", + "key": "roborumble/tkt.RedShift_1.1.CS.0.jar", "kind": "robot" }, - "latest_observation": "c679e09780c18a52", + "latest_observation": "249cd620a2f886b0", "observations": [ { "classic": { "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8924.0, + "score": 7569.0, "scores": [ - 4303.0, - 4621.0 + 4133.0, + 3436.0 ], - "selected": "bvh.loki.Loki 0.5" + "selected": "tkt.RedShift 1.1.CS.0" }, - "completed_at": "2026-09-08T21:05:47Z", - "delta_pct": -47.3, - "id": "c679e09780c18a52", + "completed_at": "2026-09-21T20:01:07Z", + "confirmation": null, + "delta_pct": -54.4, + "id": "249cd620a2f886b0", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48730,24 +188125,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.loki.Loki 0.5", + "classic_selected": "tkt.RedShift 1.1.CS.0", "division": "roborumble", - "jar": "bvh.loki.Loki_0.5.jar", - "jar_sha256": "46f15811b1cbdfa571eca677320bd0efca497cfb6ed6b672e82f8c27dfb3f0c6", - "key": "roborumble/bvh.loki.Loki_0.5.jar", + "jar": "tkt.RedShift_1.1.CS.0.jar", + "jar_sha256": "865f5ab6d66c2e1ecb47ae0a73a12f3bb85b4c8f905829eb62723963071f92ba", + "key": "roborumble/tkt.RedShift_1.1.CS.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.2, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4699.0, + "score": 3455.0, "scores": [ - 2780.0, - 1919.0 + 2103.0, + 1352.0 ], "skipped": null } @@ -48755,65 +188152,63 @@ ], "status": "score-review" }, - "roborumble/bvh.micro.Freya_0.3.jar": { + "roborumble/tlp.ThreeLeggedPig_1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bvh.micro.Freya 0.3", + "classic_selected": "tlp.ThreeLeggedPig 1", "division": "roborumble", - "jar": "bvh.micro.Freya_0.3.jar", - "jar_sha256": "97868a0fa8ea022df4e19ae810f3a098da8c0d897ebd4564c1afe2b9f9002890", - "key": "roborumble/bvh.micro.Freya_0.3.jar", + "jar": "tlp.ThreeLeggedPig_1.jar", + "jar_sha256": "7c4f780b7cf47c4be5177f7372f5da568724c826f91f90ec322a21edd326e060", + "key": "roborumble/tlp.ThreeLeggedPig_1.jar", "kind": "robot" }, - "latest_observation": "2f1498ceffdac7e0", + "latest_observation": "e5e607b23d018f71", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5721.0, + "score": 5406.0, "scores": [ - 2696.0, - 3025.0 + 2952.0, + 2454.0 ], - "selected": "bvh.micro.Freya 0.3" + "selected": "tlp.ThreeLeggedPig 1" }, - "completed_at": "2026-09-08T21:06:12Z", - "delta_pct": -6.4, - "id": "2f1498ceffdac7e0", + "completed_at": "2026-09-21T20:01:28Z", + "confirmation": null, + "delta_pct": -10.1, + "id": "e5e607b23d018f71", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48821,24 +188216,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.micro.Freya 0.3", + "classic_selected": "tlp.ThreeLeggedPig 1", "division": "roborumble", - "jar": "bvh.micro.Freya_0.3.jar", - "jar_sha256": "97868a0fa8ea022df4e19ae810f3a098da8c0d897ebd4564c1afe2b9f9002890", - "key": "roborumble/bvh.micro.Freya_0.3.jar", + "jar": "tlp.ThreeLeggedPig_1.jar", + "jar_sha256": "7c4f780b7cf47c4be5177f7372f5da568724c826f91f90ec322a21edd326e060", + "key": "roborumble/tlp.ThreeLeggedPig_1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 18.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5354.0, + "score": 4862.0, "scores": [ - 2752.0, - 2602.0 + 2472.0, + 2390.0 ], "skipped": null } @@ -48846,65 +188243,63 @@ ], "status": "PASS" }, - "roborumble/bvh.micro.Svadilfari_0.2.jar": { + "roborumble/tm.Yuugao_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "bvh.micro.Svadilfari 0.2", + "classic_selected": "tm.Yuugao 1.0", "division": "roborumble", - "jar": "bvh.micro.Svadilfari_0.2.jar", - "jar_sha256": "29e9fea32030a66e7c1be3582f3e06fb461d760fb0d4457b420d30ed0cb2b12a", - "key": "roborumble/bvh.micro.Svadilfari_0.2.jar", + "jar": "tm.Yuugao_1.0.jar", + "jar_sha256": "dbd82078f54518df86063fa93255a64d63b9de5afccb5e10a0f20a5608c0ad84", + "key": "roborumble/tm.Yuugao_1.0.jar", "kind": "robot" }, - "latest_observation": "4dadfc08d52161ce", + "latest_observation": "601f0e21d66845b9", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 3.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8232.0, + "score": 6029.0, "scores": [ - 4101.0, - 4131.0 + 2879.0, + 3150.0 ], - "selected": "bvh.micro.Svadilfari 0.2" + "selected": "tm.Yuugao 1.0" }, - "completed_at": "2026-09-08T21:06:31Z", - "delta_pct": 2.4, - "id": "4dadfc08d52161ce", + "completed_at": "2026-09-21T20:01:50Z", + "confirmation": null, + "delta_pct": -7.0, + "id": "601f0e21d66845b9", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -48912,24 +188307,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.micro.Svadilfari 0.2", + "classic_selected": "tm.Yuugao 1.0", "division": "roborumble", - "jar": "bvh.micro.Svadilfari_0.2.jar", - "jar_sha256": "29e9fea32030a66e7c1be3582f3e06fb461d760fb0d4457b420d30ed0cb2b12a", - "key": "roborumble/bvh.micro.Svadilfari_0.2.jar", + "jar": "tm.Yuugao_1.0.jar", + "jar_sha256": "dbd82078f54518df86063fa93255a64d63b9de5afccb5e10a0f20a5608c0ad84", + "key": "roborumble/tm.Yuugao_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8430.0, + "score": 5604.0, "scores": [ - 4518.0, - 3912.0 + 3153.0, + 2451.0 ], "skipped": null } @@ -48937,65 +188334,78 @@ ], "status": "PASS" }, - "roborumble/bvh.mini.Fenrir_0.39.jar": { - "diagnosis_events": [], + "roborumble/tobe.Fusion_1.0.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], "identity": { - "classic_selected": "bvh.mini.Fenrir 0.39", + "classic_selected": "tobe.Fusion 1.0", "division": "roborumble", - "jar": "bvh.mini.Fenrir_0.39.jar", - "jar_sha256": "3d63cdf11e5846c7e295db9c27965b84e7d1944b923d09979819f188700220a1", - "key": "roborumble/bvh.mini.Fenrir_0.39.jar", + "jar": "tobe.Fusion_1.0.jar", + "jar_sha256": "696dc840c706ca45bca9067cc09c1ec0059df8e7bee9fa8708b7f00c4dd1f3df", + "key": "roborumble/tobe.Fusion_1.0.jar", "kind": "robot" }, - "latest_observation": "ff57f8cea1909f17", + "latest_observation": "c20f9ad4a4b53987", "observations": [ { "classic": { - "elapsed": 2.6, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 3.8, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\tobe\\Fusion.data\\guncontrol_tobe.Fusion 1.0 (2).dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\tobe\\Fusion.data\\guncontrol_tobe.Fusion 1.0 (1).dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, "ok": true, - "score": 6512.0, + "score": 5253.0, "scores": [ - 3618.0, - 2894.0 + 3212.0, + 2041.0 ], - "selected": "bvh.mini.Fenrir 0.39" + "selected": "tobe.Fusion 1.0" }, - "completed_at": "2026-09-08T21:06:50Z", - "delta_pct": -11.2, - "id": "ff57f8cea1909f17", + "completed_at": "2026-09-21T20:02:43Z", + "confirmation": null, + "delta_pct": null, + "id": "797ece6a98aa0477", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -49003,90 +188413,185 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.mini.Fenrir 0.39", + "classic_selected": "tobe.Fusion 1.0", "division": "roborumble", - "jar": "bvh.mini.Fenrir_0.39.jar", - "jar_sha256": "3d63cdf11e5846c7e295db9c27965b84e7d1944b923d09979819f188700220a1", - "key": "roborumble/bvh.mini.Fenrir_0.39.jar", + "jar": "tobe.Fusion_1.0.jar", + "jar_sha256": "696dc840c706ca45bca9067cc09c1ec0059df8e7bee9fa8708b7f00c4dd1f3df", + "key": "roborumble/tobe.Fusion_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 16.0, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 5782.0, - "scores": [ - 3256.0, - 2526.0 + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Fusion 1.0 (Torbj\ufffdrn Gannholm) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } - } - ], - "status": "PASS" - }, - "roborumble/bvh.mini.Freya_0.55.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "bvh.mini.Freya 0.55", - "division": "roborumble", - "jar": "bvh.mini.Freya_0.55.jar", - "jar_sha256": "4a3e45054c437df7ac073756d18ff8b6cf67ab4f9f686484a325afdd455c4452", - "key": "roborumble/bvh.mini.Freya_0.55.jar", - "kind": "robot" - }, - "latest_observation": "815497cd00aa57b0", - "observations": [ + }, + { + "classic": { + "elapsed": 2.9, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\tobe\\Fusion.data\\guncontrol_tobe.Fusion 1.0 (2).dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\tobe\\Fusion.data\\guncontrol_tobe.Fusion 1.0 (1).dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, + "ok": true, + "score": 5755.0, + "scores": [ + 2736.0, + 3019.0 + ], + "selected": "tobe.Fusion 1.0" + }, + "completed_at": "2026-09-22T14:40:24Z", + "confirmation": null, + "delta_pct": null, + "id": "a171b4921cf257b4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } + }, + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "tobe.Fusion 1.0", + "division": "roborumble", + "jar": "tobe.Fusion_1.0.jar", + "jar_sha256": "696dc840c706ca45bca9067cc09c1ec0059df8e7bee9fa8708b7f00c4dd1f3df", + "key": "roborumble/tobe.Fusion_1.0.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Fusion 1.0 (Torbj\u00f6rn Gannholm) (\u00d72)]" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, { "classic": { - "elapsed": 2.7, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 2.9, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\tobe\\Fusion.data\\guncontrol_tobe.Fusion 1.0 (2).dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\tobe\\Fusion.data\\guncontrol_tobe.Fusion 1.0 (1).dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, "ok": true, - "score": 5601.0, + "score": 5543.0, "scores": [ - 2929.0, - 2672.0 + 2941.0, + 2602.0 ], - "selected": "bvh.mini.Freya 0.55" + "selected": "tobe.Fusion 1.0" }, - "completed_at": "2026-09-08T21:07:13Z", - "delta_pct": -21.3, - "id": "815497cd00aa57b0", + "completed_at": "2026-09-22T14:52:37Z", + "confirmation": null, + "delta_pct": -13.1, + "id": "c20f9ad4a4b53987", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, "setup": { "height": 600, "participants": 2, @@ -49094,24 +188599,34 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.mini.Freya 0.55", + "classic_selected": "tobe.Fusion 1.0", "division": "roborumble", - "jar": "bvh.mini.Freya_0.55.jar", - "jar_sha256": "4a3e45054c437df7ac073756d18ff8b6cf67ab4f9f686484a325afdd455c4452", - "key": "roborumble/bvh.mini.Freya_0.55.jar", + "jar": "tobe.Fusion_1.0.jar", + "jar_sha256": "696dc840c706ca45bca9067cc09c1ec0059df8e7bee9fa8708b7f00c4dd1f3df", + "key": "roborumble/tobe.Fusion_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, - "error_count": 0, - "errors": [], - "has_log": false, + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "unknown" + } + ], + "errors": [ + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\tobe.Fusion_1.0\\Fusion.data\\guncontrol_1.dat (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\tobe.Fusion_1.0-2\\Fusion.data\\guncontrol_2.dat (Den angivne fil blev ikke fundet)" + ], + "has_log": true, "ok": true, - "score": 4407.0, + "score": 4816.0, "scores": [ - 2423.0, - 1984.0 + 2785.0, + 2031.0 ], "skipped": null } @@ -49119,65 +188634,70 @@ ], "status": "PASS" }, - "roborumble/bvh.mini.Mjolnir_0.3.jar": { - "diagnosis_events": [], + "roborumble/tobe.Relativity_3.9.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], "identity": { - "classic_selected": "bvh.mini.Mjolnir 0.3", + "classic_selected": "tobe.Relativity 3.9", "division": "roborumble", - "jar": "bvh.mini.Mjolnir_0.3.jar", - "jar_sha256": "00db20570e2aebaf5d4ead68f922b93bf07d4b6620524ea9655f8e24a51e8641", - "key": "roborumble/bvh.mini.Mjolnir_0.3.jar", + "jar": "tobe.Relativity_3.9.jar", + "jar_sha256": "b2286291cefb3f915e76b9950d4933b070e949fe67444ff6ac2a69af63bc5c56", + "key": "roborumble/tobe.Relativity_3.9.jar", "kind": "robot" }, - "latest_observation": "3d1c3e239d06d795", + "latest_observation": "6b507b00b578c9fe", "observations": [ { "classic": { - "elapsed": 2.3, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 9311.0, + "score": 6333.0, "scores": [ - 4758.0, - 4553.0 + 3452.0, + 2881.0 ], - "selected": "bvh.mini.Mjolnir 0.3" + "selected": "tobe.Relativity 3.9" }, - "completed_at": "2026-09-08T21:07:28Z", - "delta_pct": -26.4, - "id": "3d1c3e239d06d795", + "completed_at": "2026-09-21T20:03:57Z", + "confirmation": null, + "delta_pct": null, + "id": "06434ae8e7ca45c7", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -49185,90 +188705,93 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.mini.Mjolnir 0.3", + "classic_selected": "tobe.Relativity 3.9", "division": "roborumble", - "jar": "bvh.mini.Mjolnir_0.3.jar", - "jar_sha256": "00db20570e2aebaf5d4ead68f922b93bf07d4b6620524ea9655f8e24a51e8641", - "key": "roborumble/bvh.mini.Mjolnir_0.3.jar", + "jar": "tobe.Relativity_3.9.jar", + "jar_sha256": "b2286291cefb3f915e76b9950d4933b070e949fe67444ff6ac2a69af63bc5c56", + "key": "roborumble/tobe.Relativity_3.9.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 12.0, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 6851.0, - "scores": [ - 5183.0, - 1668.0 + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + }, + { + "exception": "java.util.concurrent.RejectedExecutionException", + "origin": "TrBattleWorker.runBattle" + }, + { + "exception": "java.util.concurrent.RejectedExecutionException", + "origin": "unknown" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Relativity 3.9 (Torbj\ufffdrn Gannholm) (\u00d72)]", + "INFO [SERVER] java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@65802110[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@3bbd274d[Wrapped task = dev.robocode.tankroyale.server.connection.ClientWebSocketsHandler$$Lambda$90/0x00000222c00b5c10@7e" ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } - } - ], - "status": "score-review" - }, - "roborumble/bvh.mini.Wodan_0.50.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "bvh.mini.Wodan 0.50", - "division": "roborumble", - "jar": "bvh.mini.Wodan_0.50.jar", - "jar_sha256": "ee38f593b18a05e2a8864301c15e9106be792d1ab51f6f7cb6df64eb1eb8b435", - "key": "roborumble/bvh.mini.Wodan_0.50.jar", - "kind": "robot" - }, - "latest_observation": "d89e8a196146f1ec", - "observations": [ + }, { "classic": { - "elapsed": 2.7, + "elapsed": 2.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7054.0, + "score": 6151.0, "scores": [ - 2923.0, - 4131.0 + 3312.0, + 2839.0 ], - "selected": "bvh.mini.Wodan 0.50" + "selected": "tobe.Relativity 3.9" }, - "completed_at": "2026-09-08T21:07:47Z", - "delta_pct": 7.0, - "id": "d89e8a196146f1ec", + "completed_at": "2026-09-22T14:41:37Z", + "confirmation": null, + "delta_pct": null, + "id": "9a8d116041dbbf94", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, "setup": { "height": 600, "participants": 2, @@ -49276,90 +188799,84 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.mini.Wodan 0.50", + "classic_selected": "tobe.Relativity 3.9", "division": "roborumble", - "jar": "bvh.mini.Wodan_0.50.jar", - "jar_sha256": "ee38f593b18a05e2a8864301c15e9106be792d1ab51f6f7cb6df64eb1eb8b435", - "key": "roborumble/bvh.mini.Wodan_0.50.jar", + "jar": "tobe.Relativity_3.9.jar", + "jar_sha256": "b2286291cefb3f915e76b9950d4933b070e949fe67444ff6ac2a69af63bc5c56", + "key": "roborumble/tobe.Relativity_3.9.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 16.0, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 7550.0, - "scores": [ - 3931.0, - 3619.0 + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Relativity 3.9 (Torbj\u00f6rn Gannholm) (\u00d72)]" ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } - } - ], - "status": "PASS" - }, - "roborumble/bvh.tyr.Tyr_1.74.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "bvh.tyr.Tyr 1.74", - "division": "roborumble", - "jar": "bvh.tyr.Tyr_1.74.jar", - "jar_sha256": "9a05860b706454676778504df31631db93837f284afb17359b9ddec691bce34a", - "key": "roborumble/bvh.tyr.Tyr_1.74.jar", - "kind": "robot" - }, - "latest_observation": "f40bad8a5aff304f", - "observations": [ + }, { "classic": { - "elapsed": 2.7, + "elapsed": 2.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7879.0, + "score": 5960.0, "scores": [ - 3920.0, - 3959.0 + 2785.0, + 3175.0 ], - "selected": "bvh.tyr.Tyr 1.74" + "selected": "tobe.Relativity 3.9" }, - "completed_at": "2026-09-08T21:08:08Z", - "delta_pct": -24.8, - "id": "f40bad8a5aff304f", + "completed_at": "2026-09-22T14:53:02Z", + "confirmation": null, + "delta_pct": -3.9, + "id": "6b507b00b578c9fe", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, "setup": { "height": 600, "participants": 2, @@ -49367,24 +188884,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bvh.tyr.Tyr 1.74", + "classic_selected": "tobe.Relativity 3.9", "division": "roborumble", - "jar": "bvh.tyr.Tyr_1.74.jar", - "jar_sha256": "9a05860b706454676778504df31631db93837f284afb17359b9ddec691bce34a", - "key": "roborumble/bvh.tyr.Tyr_1.74.jar", + "jar": "tobe.Relativity_3.9.jar", + "jar_sha256": "b2286291cefb3f915e76b9950d4933b070e949fe67444ff6ac2a69af63bc5c56", + "key": "roborumble/tobe.Relativity_3.9.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5923.0, + "score": 5730.0, "scores": [ - 3174.0, - 2749.0 + 2958.0, + 2772.0 ], "skipped": null } @@ -49392,65 +188911,70 @@ ], "status": "PASS" }, - "roborumble/bwbaugh.nano.Tirunculus_0.0.0a.jar": { - "diagnosis_events": [], + "roborumble/tobe.Saturn_lambda.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], "identity": { - "classic_selected": "bwbaugh.nano.Tirunculus 0.0.0a", + "classic_selected": "tobe.Saturn lambda", "division": "roborumble", - "jar": "bwbaugh.nano.Tirunculus_0.0.0a.jar", - "jar_sha256": "d1fcb6072a0110947df39ad0db284f0fa4f229e7ef0f0d2502553ca0b2acb7d4", - "key": "roborumble/bwbaugh.nano.Tirunculus_0.0.0a.jar", + "jar": "tobe.Saturn_lambda.jar", + "jar_sha256": "78d9a2e64194bb50d1a7b6bdd6fd3dfc6249bc2a9ba6d4f9261a0088cac4532f", + "key": "roborumble/tobe.Saturn_lambda.jar", "kind": "robot" }, - "latest_observation": "b935555308fc01c3", + "latest_observation": "c2e40bc12ae1c728", "observations": [ { "classic": { - "elapsed": 2.3, + "elapsed": 3.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10796.0, + "score": 6533.0, "scores": [ - 5699.0, - 5097.0 + 3757.0, + 2776.0 ], - "selected": "bwbaugh.nano.Tirunculus 0.0.0a" + "selected": "tobe.Saturn lambda" }, - "completed_at": "2026-09-08T21:08:20Z", - "delta_pct": 53.7, - "id": "b935555308fc01c3", + "completed_at": "2026-09-21T20:04:34Z", + "confirmation": null, + "delta_pct": null, + "id": "609af0090a204acc", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -49458,90 +188982,93 @@ "width": 800 }, "source_identity": { - "classic_selected": "bwbaugh.nano.Tirunculus 0.0.0a", + "classic_selected": "tobe.Saturn lambda", "division": "roborumble", - "jar": "bwbaugh.nano.Tirunculus_0.0.0a.jar", - "jar_sha256": "d1fcb6072a0110947df39ad0db284f0fa4f229e7ef0f0d2502553ca0b2acb7d4", - "key": "roborumble/bwbaugh.nano.Tirunculus_0.0.0a.jar", + "jar": "tobe.Saturn_lambda.jar", + "jar_sha256": "78d9a2e64194bb50d1a7b6bdd6fd3dfc6249bc2a9ba6d4f9261a0088cac4532f", + "key": "roborumble/tobe.Saturn_lambda.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 10.0, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 16591.0, - "scores": [ - 8399.0, - 8192.0 + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 2, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + }, + { + "exception": "java.util.concurrent.RejectedExecutionException", + "origin": "TrBattleWorker.runBattle" + }, + { + "exception": "java.util.concurrent.RejectedExecutionException", + "origin": "unknown" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Saturn lambda (Torbj\ufffdrn Gannholm) (\u00d72)]", + "INFO [SERVER] java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@4f0b8059[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@7ebfbe5e[Wrapped task = dev.robocode.tankroyale.server.connection.ClientWebSocketsHandler$$Lambda$90/0x0000024bc80b5e10@65" ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } - } - ], - "status": "score-review" - }, - "roborumble/bzdp.BoxCar_2.0.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "bzdp.BoxCar 2.0", - "division": "roborumble", - "jar": "bzdp.BoxCar_2.0.jar", - "jar_sha256": "22e13c11b29fb3ed958288b38d67ab6ae02bd899f16ddcf96295f621e795ecb6", - "key": "roborumble/bzdp.BoxCar_2.0.jar", - "kind": "robot" - }, - "latest_observation": "67c108afb1e67978", - "observations": [ + }, { "classic": { "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7919.0, + "score": 6296.0, "scores": [ - 3893.0, - 4026.0 + 2701.0, + 3595.0 ], - "selected": "bzdp.BoxCar 2.0" + "selected": "tobe.Saturn lambda" }, - "completed_at": "2026-09-08T21:08:37Z", - "delta_pct": -9.8, - "id": "67c108afb1e67978", + "completed_at": "2026-09-22T14:42:14Z", + "confirmation": null, + "delta_pct": null, + "id": "97a619583a4776d1", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, "setup": { "height": 600, "participants": 2, @@ -49549,90 +189076,84 @@ "width": 800 }, "source_identity": { - "classic_selected": "bzdp.BoxCar 2.0", + "classic_selected": "tobe.Saturn lambda", "division": "roborumble", - "jar": "bzdp.BoxCar_2.0.jar", - "jar_sha256": "22e13c11b29fb3ed958288b38d67ab6ae02bd899f16ddcf96295f621e795ecb6", - "key": "roborumble/bzdp.BoxCar_2.0.jar", + "jar": "tobe.Saturn_lambda.jar", + "jar_sha256": "78d9a2e64194bb50d1a7b6bdd6fd3dfc6249bc2a9ba6d4f9261a0088cac4532f", + "key": "roborumble/tobe.Saturn_lambda.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 14.0, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 7143.0, - "scores": [ - 4080.0, - 3063.0 + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Saturn lambda (Torbj\u00f6rn Gannholm) (\u00d72)]" ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } - } - ], - "status": "PASS" - }, - "roborumble/bzdp.Pansy_2.1.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "bzdp.Pansy 2.1", - "division": "roborumble", - "jar": "bzdp.Pansy_2.1.jar", - "jar_sha256": "71057e19022678ba19a873854afb4bd32a986ae77c5105c79cb549ab664ff939", - "key": "roborumble/bzdp.Pansy_2.1.jar", - "kind": "robot" - }, - "latest_observation": "a96b223336b776df", - "observations": [ + }, { "classic": { - "elapsed": 2.3, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7852.0, + "score": 6035.0, "scores": [ - 3771.0, - 4081.0 + 2945.0, + 3090.0 ], - "selected": "bzdp.Pansy 2.1" + "selected": "tobe.Saturn lambda" }, - "completed_at": "2026-09-08T21:08:54Z", - "delta_pct": -1.3, - "id": "a96b223336b776df", + "completed_at": "2026-09-22T14:53:19Z", + "confirmation": null, + "delta_pct": -9.7, + "id": "c2e40bc12ae1c728", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, "setup": { "height": 600, "participants": 2, @@ -49640,24 +189161,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "bzdp.Pansy 2.1", + "classic_selected": "tobe.Saturn lambda", "division": "roborumble", - "jar": "bzdp.Pansy_2.1.jar", - "jar_sha256": "71057e19022678ba19a873854afb4bd32a986ae77c5105c79cb549ab664ff939", - "key": "roborumble/bzdp.Pansy_2.1.jar", + "jar": "tobe.Saturn_lambda.jar", + "jar_sha256": "78d9a2e64194bb50d1a7b6bdd6fd3dfc6249bc2a9ba6d4f9261a0088cac4532f", + "key": "roborumble/tobe.Saturn_lambda.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7749.0, + "score": 5448.0, "scores": [ - 4975.0, - 2774.0 + 2822.0, + 2626.0 ], "skipped": null } @@ -49665,65 +189188,63 @@ ], "status": "PASS" }, - "roborumble/caimano.Furia_Ceca_0.22.jar": { + "roborumble/tobe.calypso.Calypso_4.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "caimano.Furia_Ceca 0.22", + "classic_selected": "tobe.calypso.Calypso 4.1", "division": "roborumble", - "jar": "caimano.Furia_Ceca_0.22.jar", - "jar_sha256": "c1ce5bbf430fe9edc12da1768284be6f3d5bc35a9f48c84819f21edd32241616", - "key": "roborumble/caimano.Furia_Ceca_0.22.jar", + "jar": "tobe.calypso.Calypso_4.1.jar", + "jar_sha256": "67f73306327284cc1f1e3a7a939309b218c8333a15c3f47d5a9c06365f298d8e", + "key": "roborumble/tobe.calypso.Calypso_4.1.jar", "kind": "robot" }, - "latest_observation": "99d4763f956857c8", + "latest_observation": "70a448fb51b746c6", "observations": [ { "classic": { "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5715.0, + "score": 4174.0, "scores": [ - 2046.0, - 3669.0 + 1992.0, + 2182.0 ], - "selected": "caimano.Furia_Ceca 0.22" + "selected": "tobe.calypso.Calypso 4.1" }, - "completed_at": "2026-09-08T21:09:08Z", - "delta_pct": -45.5, - "id": "99d4763f956857c8", + "completed_at": "2026-09-21T20:02:04Z", + "confirmation": null, + "delta_pct": -37.0, + "id": "70a448fb51b746c6", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -49731,24 +189252,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "caimano.Furia_Ceca 0.22", + "classic_selected": "tobe.calypso.Calypso 4.1", "division": "roborumble", - "jar": "caimano.Furia_Ceca_0.22.jar", - "jar_sha256": "c1ce5bbf430fe9edc12da1768284be6f3d5bc35a9f48c84819f21edd32241616", - "key": "roborumble/caimano.Furia_Ceca_0.22.jar", + "jar": "tobe.calypso.Calypso_4.1.jar", + "jar_sha256": "67f73306327284cc1f1e3a7a939309b218c8333a15c3f47d5a9c06365f298d8e", + "key": "roborumble/tobe.calypso.Calypso_4.1.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3115.0, + "score": 2630.0, "scores": [ - 1628.0, - 1487.0 + 1357.0, + 1273.0 ], "skipped": null } @@ -49756,65 +189279,70 @@ ], "status": "score-review" }, - "roborumble/casey.Flee_1.0.jar": { - "diagnosis_events": [], + "roborumble/tobe.mini.Charon_0.9.jar": { + "diagnosis_events": [ + { + "cause": "wrapper-json-encoding", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T00:00:00Z" + } + ], "identity": { - "classic_selected": "casey.Flee 1.0", + "classic_selected": "tobe.mini.Charon 0.9", "division": "roborumble", - "jar": "casey.Flee_1.0.jar", - "jar_sha256": "5edafd751bd0f81632eecb11ea74c9bfbf3eb3b2c8e4aead9eaf7ec7cd41aecc", - "key": "roborumble/casey.Flee_1.0.jar", + "jar": "tobe.mini.Charon_0.9.jar", + "jar_sha256": "f9262c7aadd18718049ed6595cc2b8d3edcf0d79ac8a2921f5f9415d77957633", + "key": "roborumble/tobe.mini.Charon_0.9.jar", "kind": "robot" }, - "latest_observation": "ad19841f89469280", + "latest_observation": "1c814f1bf301289d", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4964.0, + "score": 4651.0, "scores": [ - 2442.0, - 2522.0 + 1927.0, + 2724.0 ], - "selected": "casey.Flee 1.0" + "selected": "tobe.mini.Charon 0.9" }, - "completed_at": "2026-09-08T21:09:27Z", - "delta_pct": -5.1, - "id": "ad19841f89469280", + "completed_at": "2026-09-21T20:03:20Z", + "confirmation": null, + "delta_pct": null, + "id": "54f3b6fc6340eae8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -49822,92 +189350,84 @@ "width": 800 }, "source_identity": { - "classic_selected": "casey.Flee 1.0", + "classic_selected": "tobe.mini.Charon 0.9", "division": "roborumble", - "jar": "casey.Flee_1.0.jar", - "jar_sha256": "5edafd751bd0f81632eecb11ea74c9bfbf3eb3b2c8e4aead9eaf7ec7cd41aecc", - "key": "roborumble/casey.Flee_1.0.jar", + "jar": "tobe.mini.Charon_0.9.jar", + "jar_sha256": "f9262c7aadd18718049ed6595cc2b8d3edcf0d79ac8a2921f5f9415d77957633", + "key": "roborumble/tobe.mini.Charon_0.9.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 16.0, - "error_count": 0, - "errors": [], - "has_log": false, - "ok": true, - "score": 4710.0, - "scores": [ - 2584.0, - 2126.0 + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], + "errors": [ + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Charon 0.9 (Torbj\ufffdrn Gannholm) (\u00d72)]" ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], "skipped": null } - } - ], - "status": "PASS" - }, - "roborumble/cb.Domogled_1.2.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "cb.Domogled 1.2", - "division": "roborumble", - "jar": "cb.Domogled_1.2.jar", - "jar_sha256": "75c374c61a80c5606d1ecd1220d80d663497eef1618b9a80f112c41e5b81e70a", - "key": "roborumble/cb.Domogled_1.2.jar", - "kind": "robot" - }, - "latest_observation": "ab4a97816c447d60", - "observations": [ + }, { "classic": { - "elapsed": 18.3, - "error_count": 1, - "errors": [ - "Unable to stop thread: cb.Domogled 1.2 (2)" - ], - "has_log": true, + "elapsed": 2.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 4626.0, + "score": 4581.0, "scores": [ - 2097.0, - 2529.0 + 2236.0, + 2345.0 ], - "selected": "cb.Domogled 1.2" + "selected": "tobe.mini.Charon 0.9" }, - "completed_at": "2026-09-08T21:09:50Z", + "completed_at": "2026-09-22T14:41:00Z", + "confirmation": null, "delta_pct": null, - "id": "ab4a97816c447d60", + "id": "b1793325ccd007e5", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "8164c5811de9d8a6f5b90c445ed7e302824ed502fd1ff641ee96061b9f80755f" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "8135a43662eeb1f292ffedce708ce6778b7bf80f", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "8135a43" + }, "setup": { "height": 600, "participants": 2, @@ -49915,21 +189435,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cb.Domogled 1.2", + "classic_selected": "tobe.mini.Charon 0.9", "division": "roborumble", - "jar": "cb.Domogled_1.2.jar", - "jar_sha256": "75c374c61a80c5606d1ecd1220d80d663497eef1618b9a80f112c41e5b81e70a", - "key": "roborumble/cb.Domogled_1.2.jar", + "jar": "tobe.mini.Charon_0.9.jar", + "jar_sha256": "f9262c7aadd18718049ed6595cc2b8d3edcf0d79ac8a2921f5f9415d77957633", + "key": "roborumble/tobe.mini.Charon_0.9.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 4.1, - "error_count": 3, + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 1, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.runner.BattleException", + "origin": "TrBattleWorker.runBattle" + } + ], "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot read field \"location\" because \"this.myState\" is null", - "java.lang.NullPointerException: Cannot read field \"location\" because \"this.myState\" is null" + "FATAL: dev.robocode.tankroyale.runner.BattleException: Bot connect timeout (30000ms): connected 0 of 2. Pending: [Charon 0.9 (Torbj\u00f6rn Gannholm) (\u00d72)]" ], "has_log": true, "ok": false, @@ -49937,69 +189462,57 @@ "scores": [], "skipped": null } - } - ], - "status": "FAIL (TR)" - }, - "roborumble/cb.fire.Firestarter_2.0f.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "cb.fire.Firestarter 2.0f", - "division": "roborumble", - "jar": "cb.fire.Firestarter_2.0f.jar", - "jar_sha256": "de45410b59fea6b8fad9463ece161e1e1656960129f1b9bc84791137d788325f", - "key": "roborumble/cb.fire.Firestarter_2.0f.jar", - "kind": "robot" - }, - "latest_observation": "2002e30ad998c641", - "observations": [ + }, { "classic": { - "elapsed": 65.0, + "elapsed": 1.9, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4553.0, + "score": 4494.0, "scores": [ - 2228.0, - 2325.0 + 2350.0, + 2144.0 ], - "selected": "cb.fire.Firestarter 2.0f" + "selected": "tobe.mini.Charon 0.9" }, - "completed_at": "2026-09-08T21:10:59Z", + "completed_at": "2026-09-22T14:52:46Z", + "confirmation": null, "delta_pct": null, - "id": "2002e30ad998c641", + "id": "1c814f1bf301289d", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "fd82f08e8172b9183256e6ba3edd6bef0192533544604dab4d3e6a92a23b15c7" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "19e72aff2848732a4c54be6c608adcd70e6991c8", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": { + "cause": "wrapper-json-encoding", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "48871c9" + }, "setup": { "height": 600, "participants": 2, @@ -50007,21 +189520,40 @@ "width": 800 }, "source_identity": { - "classic_selected": "cb.fire.Firestarter 2.0f", + "classic_selected": "tobe.mini.Charon 0.9", "division": "roborumble", - "jar": "cb.fire.Firestarter_2.0f.jar", - "jar_sha256": "de45410b59fea6b8fad9463ece161e1e1656960129f1b9bc84791137d788325f", - "key": "roborumble/cb.fire.Firestarter_2.0f.jar", + "jar": "tobe.mini.Charon_0.9.jar", + "jar_sha256": "f9262c7aadd18718049ed6595cc2b8d3edcf0d79ac8a2921f5f9415d77957633", + "key": "roborumble/tobe.mini.Charon_0.9.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 4.2, - "error_count": 3, + "bridge_only_signatures": [ + [ + "java.lang.IllegalArgumentException", + "tobe.mini.Charon.run" + ] + ], + "elapsed": 6.1, + "error_count": 10, + "error_signatures": [ + { + "exception": "java.lang.IllegalArgumentException", + "origin": "tobe.mini.Charon.run" + } + ], "errors": [ "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Rectangle2D$Double.contains(java.awt.geom.Point2D)\" because \"this.atan2\" is null", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Rectangle2D$Double.contains(java.awt.geom.Point2D)\" because \"this.atan2\" is null" + "java.lang.IllegalArgumentException: 'targetSpeed' cannot be NaN", + "java.lang.IllegalArgumentException: 'targetSpeed' cannot be NaN", + "java.lang.IllegalArgumentException: 'targetSpeed' cannot be NaN", + "java.lang.IllegalArgumentException: 'targetSpeed' cannot be NaN", + "java.lang.IllegalArgumentException: 'targetSpeed' cannot be NaN", + "java.lang.IllegalArgumentException: 'targetSpeed' cannot be NaN", + "java.lang.IllegalArgumentException: 'targetSpeed' cannot be NaN", + "java.lang.IllegalArgumentException: 'targetSpeed' cannot be NaN", + "java.lang.IllegalArgumentException: 'targetSpeed' cannot be NaN" ], "has_log": true, "ok": false, @@ -50031,67 +189563,65 @@ } } ], - "status": "FAIL (TR)" + "status": "DISCREPANCY (outcome)" }, - "roborumble/cb.mega.RandomBot_1.0.jar": { + "roborumble/toz.Gnome_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cb.mega.RandomBot 1.0", + "classic_selected": "toz.Gnome 1.1", "division": "roborumble", - "jar": "cb.mega.RandomBot_1.0.jar", - "jar_sha256": "34a1049d295fe3ae436785ef0ba1e74824f059c4b2478b9975522c1698816285", - "key": "roborumble/cb.mega.RandomBot_1.0.jar", + "jar": "toz.Gnome_1.1.jar", + "jar_sha256": "38e78e2264e9beaad6c59a9e1be41823d30dbc16724ffcbee7d392a488dab241", + "key": "roborumble/toz.Gnome_1.1.jar", "kind": "robot" }, - "latest_observation": "55bade0feb6ac865", + "latest_observation": "286a569177a937f1", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6116.0, + "score": 5453.0, "scores": [ - 3139.0, - 2977.0 + 2606.0, + 2847.0 ], - "selected": "cb.mega.RandomBot 1.0" + "selected": "toz.Gnome 1.1" }, - "completed_at": "2026-09-08T21:11:07Z", - "delta_pct": null, - "id": "55bade0feb6ac865", + "completed_at": "2026-09-21T20:04:55Z", + "confirmation": null, + "delta_pct": -12.1, + "id": "286a569177a937f1", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50099,91 +189629,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cb.mega.RandomBot 1.0", + "classic_selected": "toz.Gnome 1.1", "division": "roborumble", - "jar": "cb.mega.RandomBot_1.0.jar", - "jar_sha256": "34a1049d295fe3ae436785ef0ba1e74824f059c4b2478b9975522c1698816285", - "key": "roborumble/cb.mega.RandomBot_1.0.jar", + "jar": "toz.Gnome_1.1.jar", + "jar_sha256": "38e78e2264e9beaad6c59a9e1be41823d30dbc16724ffcbee7d392a488dab241", + "key": "roborumble/toz.Gnome_1.1.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "PASS", "tank_royale": { - "elapsed": 4.2, - "error_count": 3, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"cb.mega.ComponentRobot.append\" is null", - "java.lang.NullPointerException: Cannot invoke \"java.util.ArrayList.iterator()\" because \"cb.mega.ComponentRobot.append\" is null" + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4792.0, + "scores": [ + 2627.0, + 2165.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/cb.nano.Insomnia_1.0.jar": { + "roborumble/trab.Crusader_0.1.7.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cb.nano.Insomnia 1.0", + "classic_selected": "trab.Crusader 0.1.7", "division": "roborumble", - "jar": "cb.nano.Insomnia_1.0.jar", - "jar_sha256": "dfaa0b7522185985faaaad2c8c8761b56ed6b2e31f9d256de0abbcf466863d30", - "key": "roborumble/cb.nano.Insomnia_1.0.jar", + "jar": "trab.Crusader_0.1.7.jar", + "jar_sha256": "9adf1634ae2118e880a78ce4c2597df62e4097703fc3875048829c15f9a174e6", + "key": "roborumble/trab.Crusader_0.1.7.jar", "kind": "robot" }, - "latest_observation": "997241f811003c48", + "latest_observation": "50debfacc95c26af", "observations": [ { "classic": { - "elapsed": 3.0, + "elapsed": 6.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2400.0, + "score": 5206.0, "scores": [ - 1122.0, - 1278.0 + 2763.0, + 2443.0 ], - "selected": "cb.nano.Insomnia 1.0" + "selected": "trab.Crusader 0.1.7" }, - "completed_at": "2026-09-08T21:11:30Z", - "delta_pct": 14.0, - "id": "997241f811003c48", + "completed_at": "2026-09-21T20:05:30Z", + "confirmation": null, + "delta_pct": -12.1, + "id": "50debfacc95c26af", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50191,24 +189720,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cb.nano.Insomnia 1.0", + "classic_selected": "trab.Crusader 0.1.7", "division": "roborumble", - "jar": "cb.nano.Insomnia_1.0.jar", - "jar_sha256": "dfaa0b7522185985faaaad2c8c8761b56ed6b2e31f9d256de0abbcf466863d30", - "key": "roborumble/cb.nano.Insomnia_1.0.jar", + "jar": "trab.Crusader_0.1.7.jar", + "jar_sha256": "9adf1634ae2118e880a78ce4c2597df62e4097703fc3875048829c15f9a174e6", + "key": "roborumble/trab.Crusader_0.1.7.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 28.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2736.0, + "score": 4577.0, "scores": [ - 1421.0, - 1315.0 + 2381.0, + 2196.0 ], "skipped": null } @@ -50216,69 +189747,63 @@ ], "status": "PASS" }, - "roborumble/cbot.agile.Nibbler_0.2.jar": { + "roborumble/trab.nano.AinippeNano_1.3.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cbot.agile.Nibbler 0.2", + "classic_selected": "trab.nano.AinippeNano 1.3", "division": "roborumble", - "jar": "cbot.agile.Nibbler_0.2.jar", - "jar_sha256": "b1b79c3c45f03c2098bee75bd1c379e51b8e45f66418b0ac15a9e9747fef1689", - "key": "roborumble/cbot.agile.Nibbler_0.2.jar", + "jar": "trab.nano.AinippeNano_1.3.jar", + "jar_sha256": "3945146b1427999513768ce1405a0063a66c43a486d128e85de51b5a21b64737", + "key": "roborumble/trab.nano.AinippeNano_1.3.jar", "kind": "robot" }, - "latest_observation": "50feb7c195d9d53e", + "latest_observation": "bb121df4141d1cec", "observations": [ { "classic": { - "elapsed": 3.2, - "error_count": 3, - "errors": [ - "java.lang.NullPointerException: Cannot invoke \"cbot.agile.Pray.getDistance()\" because \"pray\" is null", - "java.lang.NullPointerException: Cannot invoke \"cbot.agile.Pray.getDistance()\" because \"pray\" is null", - "java.lang.NullPointerException: Cannot invoke \"cbot.agile.Pray.getDistance()\" because \"pray\" is null" - ], - "has_log": true, + "elapsed": 3.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5348.0, + "score": 5675.0, "scores": [ - 2800.0, - 2548.0 + 3063.0, + 2612.0 ], - "selected": "cbot.agile.Nibbler 0.2" + "selected": "trab.nano.AinippeNano 1.3" }, - "completed_at": "2026-09-08T21:11:48Z", - "delta_pct": 31.5, - "id": "50feb7c195d9d53e", + "completed_at": "2026-09-21T20:05:51Z", + "confirmation": null, + "delta_pct": -9.7, + "id": "bb121df4141d1cec", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50286,90 +189811,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cbot.agile.Nibbler 0.2", + "classic_selected": "trab.nano.AinippeNano 1.3", "division": "roborumble", - "jar": "cbot.agile.Nibbler_0.2.jar", - "jar_sha256": "b1b79c3c45f03c2098bee75bd1c379e51b8e45f66418b0ac15a9e9747fef1689", - "key": "roborumble/cbot.agile.Nibbler_0.2.jar", + "jar": "trab.nano.AinippeNano_1.3.jar", + "jar_sha256": "3945146b1427999513768ce1405a0063a66c43a486d128e85de51b5a21b64737", + "key": "roborumble/trab.nano.AinippeNano_1.3.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7030.0, + "score": 5122.0, "scores": [ - 3730.0, - 3300.0 + 2969.0, + 2153.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/cbot.cbot.CBot_0.8.jar": { + "roborumble/traker.Eraser_1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cbot.cbot.CBot 0.8", + "classic_selected": "traker.Eraser 1", "division": "roborumble", - "jar": "cbot.cbot.CBot_0.8.jar", - "jar_sha256": "96f2840bf8bb3ecd5dcd7c8079cf0bc0d2a9a6ddfd4da5cb2e7a520b7c6a2ffc", - "key": "roborumble/cbot.cbot.CBot_0.8.jar", + "jar": "traker.Eraser_1.jar", + "jar_sha256": "cb5db64763078480a174f8204bf2f3c7c678118ba5011763d75d63131f7a4f3d", + "key": "roborumble/traker.Eraser_1.jar", "kind": "robot" }, - "latest_observation": "7337304cd84cf9c0", + "latest_observation": "13db0bdc268469ea", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 3.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5878.0, + "score": 1920.0, "scores": [ - 3222.0, - 2656.0 + 960.0, + 960.0 ], - "selected": "cbot.cbot.CBot 0.8" + "selected": "traker.Eraser 1" }, - "completed_at": "2026-09-08T21:11:57Z", + "completed_at": "2026-09-21T20:05:59Z", + "confirmation": null, "delta_pct": null, - "id": "7337304cd84cf9c0", + "id": "13db0bdc268469ea", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50377,20 +189902,130 @@ "width": 800 }, "source_identity": { - "classic_selected": "cbot.cbot.CBot 0.8", + "classic_selected": "traker.Eraser 1", "division": "roborumble", - "jar": "cbot.cbot.CBot_0.8.jar", - "jar_sha256": "96f2840bf8bb3ecd5dcd7c8079cf0bc0d2a9a6ddfd4da5cb2e7a520b7c6a2ffc", - "key": "roborumble/cbot.cbot.CBot_0.8.jar", + "jar": "traker.Eraser_1.jar", + "jar_sha256": "cb5db64763078480a174f8204bf2f3c7c678118ba5011763d75d63131f7a4f3d", + "key": "roborumble/traker.Eraser_1.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 6.1, - "error_count": 2, + "bridge_only_signatures": [ + [ + "java.lang.StringIndexOutOfBoundsException", + "traker.Eraser.onScannedRobot" + ] + ], + "elapsed": 4.1, + "error_count": 129, + "error_signatures": [ + { + "exception": "java.lang.StringIndexOutOfBoundsException", + "origin": "traker.Eraser.onScannedRobot" + } + ], "errors": [ "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"cbot.cbot.Pray.getHittingRates()\" because \"this.currentPray\" is null" + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1", + "java.lang.StringIndexOutOfBoundsException: begin 0, end -2, length 1" ], "has_log": true, "ok": false, @@ -50400,67 +190035,65 @@ } } ], - "status": "FAIL (TR)" + "status": "DISCREPANCY (outcome)" }, - "roborumble/cf.OldMan.OldManXP_0.1.jar": { + "roborumble/tvv.micro.Antares_1.1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cf.OldMan.OldManXP 0.1", + "classic_selected": "tvv.micro.Antares 1.1.1", "division": "roborumble", - "jar": "cf.OldMan.OldManXP_0.1.jar", - "jar_sha256": "463822efc7f7fec009495fb2395ad09b36b081119df3e18d3b5044d58a562ce5", - "key": "roborumble/cf.OldMan.OldManXP_0.1.jar", + "jar": "tvv.micro.Antares_1.1.1.jar", + "jar_sha256": "7e86c48bd1b4ccf152dbf3a9809a7b0e0fb92a23eaecec224e4d72c93484958a", + "key": "roborumble/tvv.micro.Antares_1.1.1.jar", "kind": "robot" }, - "latest_observation": "f54923f1b67ca9f0", + "latest_observation": "cf279065275d9a3f", "observations": [ { "classic": { - "elapsed": 3.3, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10602.0, + "score": 8415.0, "scores": [ - 5036.0, - 5566.0 + 3997.0, + 4418.0 ], - "selected": "cf.OldMan.OldManXP 0.1" + "selected": "tvv.micro.Antares 1.1.1" }, - "completed_at": "2026-09-08T21:12:34Z", - "delta_pct": -10.1, - "id": "f54923f1b67ca9f0", + "completed_at": "2026-09-21T20:06:18Z", + "confirmation": null, + "delta_pct": -3.1, + "id": "cf279065275d9a3f", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50468,24 +190101,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cf.OldMan.OldManXP 0.1", + "classic_selected": "tvv.micro.Antares 1.1.1", "division": "roborumble", - "jar": "cf.OldMan.OldManXP_0.1.jar", - "jar_sha256": "463822efc7f7fec009495fb2395ad09b36b081119df3e18d3b5044d58a562ce5", - "key": "roborumble/cf.OldMan.OldManXP_0.1.jar", + "jar": "tvv.micro.Antares_1.1.1.jar", + "jar_sha256": "7e86c48bd1b4ccf152dbf3a9809a7b0e0fb92a23eaecec224e4d72c93484958a", + "key": "roborumble/tvv.micro.Antares_1.1.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 12.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 9531.0, + "score": 8151.0, "scores": [ - 4804.0, - 4727.0 + 4145.0, + 4006.0 ], "skipped": null } @@ -50493,65 +190128,63 @@ ], "status": "PASS" }, - "roborumble/cf.mini.Chiva_1.0.jar": { + "roborumble/tvv.nano.Polaris_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cf.mini.Chiva 1.0", + "classic_selected": "tvv.nano.Polaris 1.2", "division": "roborumble", - "jar": "cf.mini.Chiva_1.0.jar", - "jar_sha256": "a0aef88f5c5fa4d6542a4e56c1576efb911d6bebb70da9676582c51bcef3c688", - "key": "roborumble/cf.mini.Chiva_1.0.jar", + "jar": "tvv.nano.Polaris_1.2.jar", + "jar_sha256": "33777a95ad2e99621240bb673bcf7f17027520e37c8f15f013c2ae9b7bf715a4", + "key": "roborumble/tvv.nano.Polaris_1.2.jar", "kind": "robot" }, - "latest_observation": "336aaa29d4d4cb86", + "latest_observation": "9e1383f34b5a1d20", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5151.0, + "score": 7714.0, "scores": [ - 2301.0, - 2850.0 + 3780.0, + 3934.0 ], - "selected": "cf.mini.Chiva 1.0" + "selected": "tvv.nano.Polaris 1.2" }, - "completed_at": "2026-09-08T21:12:18Z", - "delta_pct": -8.7, - "id": "336aaa29d4d4cb86", + "completed_at": "2026-09-21T20:06:37Z", + "confirmation": null, + "delta_pct": -4.8, + "id": "9e1383f34b5a1d20", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "09ec1f7642a2f8e28f446feaba9dae5dbe30f651", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50559,24 +190192,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cf.mini.Chiva 1.0", + "classic_selected": "tvv.nano.Polaris 1.2", "division": "roborumble", - "jar": "cf.mini.Chiva_1.0.jar", - "jar_sha256": "a0aef88f5c5fa4d6542a4e56c1576efb911d6bebb70da9676582c51bcef3c688", - "key": "roborumble/cf.mini.Chiva_1.0.jar", + "jar": "tvv.nano.Polaris_1.2.jar", + "jar_sha256": "33777a95ad2e99621240bb673bcf7f17027520e37c8f15f013c2ae9b7bf715a4", + "key": "roborumble/tvv.nano.Polaris_1.2.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4703.0, + "score": 7346.0, "scores": [ - 2536.0, - 2167.0 + 3698.0, + 3648.0 ], "skipped": null } @@ -50584,68 +190219,63 @@ ], "status": "PASS" }, - "roborumble/cf.proto.Shiva_2.2.jar": { + "roborumble/tw.Exterminator_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cf.proto.Shiva 2.2", + "classic_selected": "tw.Exterminator 1.0", "division": "roborumble", - "jar": "cf.proto.Shiva_2.2.jar", - "jar_sha256": "b56a27faf5dcfcd10fa25ea0b3d1dd9bedb48eea0bf5e38e8ecb89b339827f61", - "key": "roborumble/cf.proto.Shiva_2.2.jar", + "jar": "tw.Exterminator_1.0.jar", + "jar_sha256": "c666b91e3bb07427341b8a881d277aca3e9f2cac6f3e015537181b332628b15a", + "key": "roborumble/tw.Exterminator_1.0.jar", "kind": "robot" }, - "latest_observation": "92716decc58e938d", + "latest_observation": "ca3704b90c6fabde", "observations": [ { "classic": { - "elapsed": 5.5, - "error_count": 2, - "errors": [ - "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cf\\proto\\Shiva.data\\cf.proto.Shiva 2.2 (2).txt.gz (Den angivne fil blev ikke fundet)", - "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cf\\proto\\Shiva.data\\cf.proto.Shiva 2.2 (1).txt.gz (Den angivne fil blev ikke fundet)" - ], - "has_log": true, + "elapsed": 30.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 4670.0, + "score": 4465.0, "scores": [ - 2328.0, - 2342.0 + 2712.0, + 1753.0 ], - "selected": "cf.proto.Shiva 2.2" + "selected": "tw.Exterminator 1.0" }, - "completed_at": "2026-09-08T21:16:01Z", - "delta_pct": -5.2, - "id": "92716decc58e938d", + "completed_at": "2026-09-21T20:09:27Z", + "confirmation": null, + "delta_pct": -3.0, + "id": "ca3704b90c6fabde", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50653,27 +190283,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cf.proto.Shiva 2.2", + "classic_selected": "tw.Exterminator 1.0", "division": "roborumble", - "jar": "cf.proto.Shiva_2.2.jar", - "jar_sha256": "b56a27faf5dcfcd10fa25ea0b3d1dd9bedb48eea0bf5e38e8ecb89b339827f61", - "key": "roborumble/cf.proto.Shiva_2.2.jar", + "jar": "tw.Exterminator_1.0.jar", + "jar_sha256": "c666b91e3bb07427341b8a881d277aca3e9f2cac6f3e015537181b332628b15a", + "key": "roborumble/tw.Exterminator_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 22.0, - "error_count": 2, - "errors": [ - "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cf.proto.Shiva_2.2\\Shiva.data\\1.txt.gz (Den angivne fil blev ikke fundet)", - "Error while reading:java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cf.proto.Shiva_2.2-2\\Shiva.data\\2.txt.gz (Den angivne fil blev ikke fundet)" - ], - "has_log": true, + "bridge_only_signatures": null, + "elapsed": 126.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 4427.0, + "score": 4329.0, "scores": [ - 2362.0, - 2065.0 + 2214.0, + 2115.0 ], "skipped": null } @@ -50681,65 +190310,63 @@ ], "status": "PASS" }, - "roborumble/cf.star.Star2_1.23.jar": { + "roborumble/tzu.TheArtOfWar_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cf.star.Star2 1.23", + "classic_selected": "tzu.TheArtOfWar 1.2", "division": "roborumble", - "jar": "cf.star.Star2_1.23.jar", - "jar_sha256": "d1d945c1450132a1a072cb08465db641b83af579d8339115641632aa6e670a4e", - "key": "roborumble/cf.star.Star2_1.23.jar", + "jar": "tzu.TheArtOfWar_1.2.jar", + "jar_sha256": "f345583abf9ba3e6b2ce53d1ef940ea08b4193d173aa979a225a9ccdfe553631", + "key": "roborumble/tzu.TheArtOfWar_1.2.jar", "kind": "robot" }, - "latest_observation": "8c06e2125b4e11c4", + "latest_observation": "258a5b71bf9c7445", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.9, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5134.0, + "score": 6807.0, "scores": [ - 2598.0, - 2536.0 + 3115.0, + 3692.0 ], - "selected": "cf.star.Star2 1.23" + "selected": "tzu.TheArtOfWar 1.2" }, - "completed_at": "2026-09-08T21:16:20Z", - "delta_pct": 17.8, - "id": "8c06e2125b4e11c4", + "completed_at": "2026-09-21T20:09:48Z", + "confirmation": null, + "delta_pct": 1.0, + "id": "258a5b71bf9c7445", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50747,24 +190374,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cf.star.Star2 1.23", + "classic_selected": "tzu.TheArtOfWar 1.2", "division": "roborumble", - "jar": "cf.star.Star2_1.23.jar", - "jar_sha256": "d1d945c1450132a1a072cb08465db641b83af579d8339115641632aa6e670a4e", - "key": "roborumble/cf.star.Star2_1.23.jar", + "jar": "tzu.TheArtOfWar_1.2.jar", + "jar_sha256": "f345583abf9ba3e6b2ce53d1ef940ea08b4193d173aa979a225a9ccdfe553631", + "key": "roborumble/tzu.TheArtOfWar_1.2.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6047.0, + "score": 6877.0, "scores": [ - 4090.0, - 1957.0 + 3534.0, + 3343.0 ], "skipped": null } @@ -50772,65 +190401,63 @@ ], "status": "PASS" }, - "roborumble/ch.rhj.rbc.RHJ1_1.0.jar": { + "roborumble/ua.kiiv.kosyak.robocode.tn1.Tn1_2.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "ch.rhj.rbc.RHJ1 1.0", + "classic_selected": "ua.kiiv.kosyak.robocode.tn1.Tn1 2.0", "division": "roborumble", - "jar": "ch.rhj.rbc.RHJ1_1.0.jar", - "jar_sha256": "f45cba75cecd9459729641dab9cfc9830853d855888acbf42b612f74234e566d", - "key": "roborumble/ch.rhj.rbc.RHJ1_1.0.jar", + "jar": "ua.kiiv.kosyak.robocode.tn1.Tn1_2.0.jar", + "jar_sha256": "7c7deaa29018d9bd684f568904aa07320d6b2705d6cf41bccdb425141ed76692", + "key": "roborumble/ua.kiiv.kosyak.robocode.tn1.Tn1_2.0.jar", "kind": "robot" }, - "latest_observation": "09fc48a0219093cf", + "latest_observation": "19cc7a468b88eecc", "observations": [ { "classic": { - "elapsed": 3.5, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12947.0, + "score": 4414.0, "scores": [ - 6393.0, - 6554.0 + 2407.0, + 2007.0 ], - "selected": "ch.rhj.rbc.RHJ1 1.0" + "selected": "ua.kiiv.kosyak.robocode.tn1.Tn1 2.0" }, - "completed_at": "2026-09-08T21:16:56Z", - "delta_pct": 0.5, - "id": "09fc48a0219093cf", + "completed_at": "2026-09-21T20:10:05Z", + "confirmation": null, + "delta_pct": 3.5, + "id": "19cc7a468b88eecc", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50838,24 +190465,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "ch.rhj.rbc.RHJ1 1.0", + "classic_selected": "ua.kiiv.kosyak.robocode.tn1.Tn1 2.0", "division": "roborumble", - "jar": "ch.rhj.rbc.RHJ1_1.0.jar", - "jar_sha256": "f45cba75cecd9459729641dab9cfc9830853d855888acbf42b612f74234e566d", - "key": "roborumble/ch.rhj.rbc.RHJ1_1.0.jar", + "jar": "ua.kiiv.kosyak.robocode.tn1.Tn1_2.0.jar", + "jar_sha256": "7c7deaa29018d9bd684f568904aa07320d6b2705d6cf41bccdb425141ed76692", + "key": "roborumble/ua.kiiv.kosyak.robocode.tn1.Tn1_2.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 32.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 13008.0, + "score": 4567.0, "scores": [ - 6950.0, - 6058.0 + 2340.0, + 2227.0 ], "skipped": null } @@ -50863,65 +190492,63 @@ ], "status": "PASS" }, - "roborumble/chase.pm.Pytko_1.0.jar": { + "roborumble/uccc.Dorito_1.12.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "chase.pm.Pytko 1.0", + "classic_selected": "uccc.Dorito 1.12", "division": "roborumble", - "jar": "chase.pm.Pytko_1.0.jar", - "jar_sha256": "0bf2f81bd9c5ff44bcb27f2ce214eb769f1c7d2b91ad83a3880e8a17d0f193f3", - "key": "roborumble/chase.pm.Pytko_1.0.jar", + "jar": "uccc.Dorito_1.12.jar", + "jar_sha256": "8b711da9e935b40fcca9980bdc5592f3539d77ee7db6e93083a78f00bc7bc7a4", + "key": "roborumble/uccc.Dorito_1.12.jar", "kind": "robot" }, - "latest_observation": "5621c60c56abe7ae", + "latest_observation": "c35b75e47d35f25a", "observations": [ { "classic": { - "elapsed": 4.2, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4950.0, + "score": 8822.0, "scores": [ - 2163.0, - 2787.0 + 4376.0, + 4446.0 ], - "selected": "chase.pm.Pytko 1.0" + "selected": "uccc.Dorito 1.12" }, - "completed_at": "2026-09-08T21:17:44Z", - "delta_pct": -5.2, - "id": "5621c60c56abe7ae", + "completed_at": "2026-09-21T20:10:45Z", + "confirmation": null, + "delta_pct": -34.7, + "id": "c35b75e47d35f25a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -50929,90 +190556,181 @@ "width": 800 }, "source_identity": { - "classic_selected": "chase.pm.Pytko 1.0", + "classic_selected": "uccc.Dorito 1.12", "division": "roborumble", - "jar": "chase.pm.Pytko_1.0.jar", - "jar_sha256": "0bf2f81bd9c5ff44bcb27f2ce214eb769f1c7d2b91ad83a3880e8a17d0f193f3", - "key": "roborumble/chase.pm.Pytko_1.0.jar", + "jar": "uccc.Dorito_1.12.jar", + "jar_sha256": "8b711da9e935b40fcca9980bdc5592f3539d77ee7db6e93083a78f00bc7bc7a4", + "key": "roborumble/uccc.Dorito_1.12.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 36.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4692.0, + "score": 5762.0, "scores": [ - 2644.0, - 2048.0 + 2990.0, + 2772.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/chickenfuego.UrChicken2_1.0.jar": { + "roborumble/uccc.MilkyWay_1.01.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "chickenfuego.UrChicken2 1.0", + "classic_selected": "uccc.MilkyWay 1.01", "division": "roborumble", - "jar": "chickenfuego.UrChicken2_1.0.jar", - "jar_sha256": "a56a6d6bbeae72501cb86c35621436e91b31686db0785cd3151512452bdf818f", - "key": "roborumble/chickenfuego.UrChicken2_1.0.jar", + "jar": "uccc.MilkyWay_1.01.jar", + "jar_sha256": "3ff7522221792521e3a70a78d42aca1bf003a605c68b6be4f658bbd0aaa03697", + "key": "roborumble/uccc.MilkyWay_1.01.jar", "kind": "robot" }, - "latest_observation": "ac7ec21a2a822b4f", + "latest_observation": "41f6d0786fd3e5ce", "observations": [ { "classic": { - "elapsed": 5.8, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5804.0, + "score": 7034.0, "scores": [ - 2824.0, - 2980.0 + 3536.0, + 3498.0 ], - "selected": "chickenfuego.UrChicken2 1.0" + "selected": "uccc.MilkyWay 1.01" }, - "completed_at": "2026-09-08T21:18:36Z", - "delta_pct": -8.7, - "id": "ac7ec21a2a822b4f", + "completed_at": "2026-09-21T20:11:08Z", + "confirmation": null, + "delta_pct": 26.0, + "id": "41f6d0786fd3e5ce", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 600, + "participants": 2, + "rounds": 35, + "width": 800 + }, + "source_identity": { + "classic_selected": "uccc.MilkyWay 1.01", + "division": "roborumble", + "jar": "uccc.MilkyWay_1.01.jar", + "jar_sha256": "3ff7522221792521e3a70a78d42aca1bf003a605c68b6be4f658bbd0aaa03697", + "key": "roborumble/uccc.MilkyWay_1.01.jar", + "kind": "robot" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8862.0, + "scores": [ + 4484.0, + 4378.0 + ], + "skipped": null + } + } + ], + "status": "score-review" + }, + "roborumble/uccc.RingDing_1.12.jar": { + "diagnosis_events": [], + "identity": { + "classic_selected": "uccc.RingDing 1.12", + "division": "roborumble", + "jar": "uccc.RingDing_1.12.jar", + "jar_sha256": "dcc089ed79b2227fc27a3044b4958b40b7b6ab6b621ff218a047cc050ca88f5f", + "key": "roborumble/uccc.RingDing_1.12.jar", + "kind": "robot" + }, + "latest_observation": "695e293ccdd362a3", + "observations": [ + { + "classic": { + "elapsed": 3.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 7803.0, + "scores": [ + 3760.0, + 4043.0 + ], + "selected": "uccc.RingDing 1.12" + }, + "completed_at": "2026-09-21T20:11:42Z", + "confirmation": null, + "delta_pct": 24.1, + "id": "695e293ccdd362a3", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51020,24 +190738,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "chickenfuego.UrChicken2 1.0", + "classic_selected": "uccc.RingDing 1.12", "division": "roborumble", - "jar": "chickenfuego.UrChicken2_1.0.jar", - "jar_sha256": "a56a6d6bbeae72501cb86c35621436e91b31686db0785cd3151512452bdf818f", - "key": "roborumble/chickenfuego.UrChicken2_1.0.jar", + "jar": "uccc.RingDing_1.12.jar", + "jar_sha256": "dcc089ed79b2227fc27a3044b4958b40b7b6ab6b621ff218a047cc050ca88f5f", + "key": "roborumble/uccc.RingDing_1.12.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 46.0, + "bridge_only_signatures": null, + "elapsed": 30.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5300.0, + "score": 9680.0, "scores": [ - 2887.0, - 2413.0 + 5083.0, + 4597.0 ], "skipped": null } @@ -51045,65 +190765,63 @@ ], "status": "PASS" }, - "roborumble/cjk.Merkava_0.1.1.jar": { + "roborumble/uccc.Scrapple_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cjk.Merkava 0.1.1", + "classic_selected": "uccc.Scrapple 1.0", "division": "roborumble", - "jar": "cjk.Merkava_0.1.1.jar", - "jar_sha256": "5a16d1a4eaa4437b1552185a75d121a8153985febc5d3d215f94fc93dbd3f094", - "key": "roborumble/cjk.Merkava_0.1.1.jar", + "jar": "uccc.Scrapple_1.0.jar", + "jar_sha256": "2c28b7e470423715df67571a5a4bccec0c4f9b2f0ae04a33e9d9fbea61697f87", + "key": "roborumble/uccc.Scrapple_1.0.jar", "kind": "robot" }, - "latest_observation": "ca8bad284ef8d30e", + "latest_observation": "fe4ed74105911c2d", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5678.0, + "score": 1118.0, "scores": [ - 2936.0, - 2742.0 + 563.0, + 555.0 ], - "selected": "cjk.Merkava 0.1.1" + "selected": "uccc.Scrapple 1.0" }, - "completed_at": "2026-09-08T21:18:55Z", - "delta_pct": -24.1, - "id": "ca8bad284ef8d30e", + "completed_at": "2026-09-21T20:12:01Z", + "confirmation": null, + "delta_pct": 105.3, + "id": "fe4ed74105911c2d", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51111,90 +190829,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cjk.Merkava 0.1.1", + "classic_selected": "uccc.Scrapple 1.0", "division": "roborumble", - "jar": "cjk.Merkava_0.1.1.jar", - "jar_sha256": "5a16d1a4eaa4437b1552185a75d121a8153985febc5d3d215f94fc93dbd3f094", - "key": "roborumble/cjk.Merkava_0.1.1.jar", + "jar": "uccc.Scrapple_1.0.jar", + "jar_sha256": "2c28b7e470423715df67571a5a4bccec0c4f9b2f0ae04a33e9d9fbea61697f87", + "key": "roborumble/uccc.Scrapple_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4311.0, + "score": 2295.0, "scores": [ - 2343.0, - 1968.0 + 1333.0, + 962.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/cjm.Che_1.2.jar": { + "roborumble/ultra.Defender_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cjm.Che 1.2", + "classic_selected": "ultra.Defender 1.2", "division": "roborumble", - "jar": "cjm.Che_1.2.jar", - "jar_sha256": "490b1e9e8d36ca42f225dd9cd2bd2033c9dee27ef24d71e2396e5eec5ae4565b", - "key": "roborumble/cjm.Che_1.2.jar", + "jar": "ultra.Defender_1.2.jar", + "jar_sha256": "253b72e3f188efcac486201ef34ecfdecd3c2a719f7f90be5c570b5760e3660c", + "key": "roborumble/ultra.Defender_1.2.jar", "kind": "robot" }, - "latest_observation": "30b3c8b16bb49f75", + "latest_observation": "b9430bdc2d8e8a41", "observations": [ { "classic": { - "elapsed": 2.8, + "elapsed": 27.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5896.0, + "score": 4454.0, "scores": [ - 3080.0, - 2816.0 + 2488.0, + 1966.0 ], - "selected": "cjm.Che 1.2" + "selected": "ultra.Defender 1.2" }, - "completed_at": "2026-09-08T21:19:16Z", - "delta_pct": -8.2, - "id": "30b3c8b16bb49f75", + "completed_at": "2026-09-21T20:13:02Z", + "confirmation": null, + "delta_pct": 24.4, + "id": "b9430bdc2d8e8a41", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51202,24 +190920,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cjm.Che 1.2", + "classic_selected": "ultra.Defender 1.2", "division": "roborumble", - "jar": "cjm.Che_1.2.jar", - "jar_sha256": "490b1e9e8d36ca42f225dd9cd2bd2033c9dee27ef24d71e2396e5eec5ae4565b", - "key": "roborumble/cjm.Che_1.2.jar", + "jar": "ultra.Defender_1.2.jar", + "jar_sha256": "253b72e3f188efcac486201ef34ecfdecd3c2a719f7f90be5c570b5760e3660c", + "key": "roborumble/ultra.Defender_1.2.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 34.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5415.0, + "score": 5541.0, "scores": [ - 3077.0, - 2338.0 + 2879.0, + 2662.0 ], "skipped": null } @@ -51227,65 +190947,63 @@ ], "status": "PASS" }, - "roborumble/cli.Dancer_1.1.jar": { + "roborumble/unarmedlad.nano.VirginSteele_2.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cli.Dancer 1.1", + "classic_selected": "unarmedlad.nano.VirginSteele 2.2", "division": "roborumble", - "jar": "cli.Dancer_1.1.jar", - "jar_sha256": "6126e668dd994c5d3b47f50cad7e28313ad0b67ef1d5def7746846a35de8e07b", - "key": "roborumble/cli.Dancer_1.1.jar", + "jar": "unarmedlad.nano.VirginSteele_2.2.jar", + "jar_sha256": "002487e64611289dae2613e271be4fbbcaf202fa05bfb58a5ef6d1878f974aaf", + "key": "roborumble/unarmedlad.nano.VirginSteele_2.2.jar", "kind": "robot" }, - "latest_observation": "75019a166932d5c2", + "latest_observation": "0fd56cde022a08f0", "observations": [ { "classic": { "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6556.0, + "score": 5606.0, "scores": [ - 3859.0, - 2697.0 + 2738.0, + 2868.0 ], - "selected": "cli.Dancer 1.1" + "selected": "unarmedlad.nano.VirginSteele 2.2" }, - "completed_at": "2026-09-08T21:19:35Z", - "delta_pct": 9.7, - "id": "75019a166932d5c2", + "completed_at": "2026-09-21T20:13:29Z", + "confirmation": null, + "delta_pct": -17.0, + "id": "0fd56cde022a08f0", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51293,24 +191011,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cli.Dancer 1.1", + "classic_selected": "unarmedlad.nano.VirginSteele 2.2", "division": "roborumble", - "jar": "cli.Dancer_1.1.jar", - "jar_sha256": "6126e668dd994c5d3b47f50cad7e28313ad0b67ef1d5def7746846a35de8e07b", - "key": "roborumble/cli.Dancer_1.1.jar", + "jar": "unarmedlad.nano.VirginSteele_2.2.jar", + "jar_sha256": "002487e64611289dae2613e271be4fbbcaf202fa05bfb58a5ef6d1878f974aaf", + "key": "roborumble/unarmedlad.nano.VirginSteele_2.2.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7189.0, + "score": 4651.0, "scores": [ - 3657.0, - 3532.0 + 2741.0, + 1910.0 ], "skipped": null } @@ -51318,65 +191038,63 @@ ], "status": "PASS" }, - "roborumble/cli.WasteOfAmmo_1.0.jar": { + "roborumble/ur4n0.UR4NO_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cli.WasteOfAmmo 1.0", + "classic_selected": "ur4n0.UR4NO 1.0", "division": "roborumble", - "jar": "cli.WasteOfAmmo_1.0.jar", - "jar_sha256": "c899395217eb5b9a8c9bdcd3e8869616ec23576e787e4ce3e2c7c3263695b36f", - "key": "roborumble/cli.WasteOfAmmo_1.0.jar", + "jar": "ur4n0.UR4NO_1.0.jar", + "jar_sha256": "7b2b500eb8931af252e6cc28752f8ac374ca3d78d580d0889e41d7177c4afd07", + "key": "roborumble/ur4n0.UR4NO_1.0.jar", "kind": "robot" }, - "latest_observation": "ad72f39287f5b880", + "latest_observation": "9676cdeeebec7f97", "observations": [ { "classic": { - "elapsed": 3.1, + "elapsed": 3.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 0.0, + "score": 5652.0, "scores": [ - 0.0, - 0.0 + 2929.0, + 2723.0 ], - "selected": "cli.WasteOfAmmo 1.0" + "selected": "ur4n0.UR4NO 1.0" }, - "completed_at": "2026-09-08T21:19:58Z", - "delta_pct": null, - "id": "ad72f39287f5b880", + "completed_at": "2026-09-21T20:13:53Z", + "confirmation": null, + "delta_pct": 1.6, + "id": "9676cdeeebec7f97", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51384,90 +191102,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cli.WasteOfAmmo 1.0", + "classic_selected": "ur4n0.UR4NO 1.0", "division": "roborumble", - "jar": "cli.WasteOfAmmo_1.0.jar", - "jar_sha256": "c899395217eb5b9a8c9bdcd3e8869616ec23576e787e4ce3e2c7c3263695b36f", - "key": "roborumble/cli.WasteOfAmmo_1.0.jar", + "jar": "ur4n0.UR4NO_1.0.jar", + "jar_sha256": "7b2b500eb8931af252e6cc28752f8ac374ca3d78d580d0889e41d7177c4afd07", + "key": "roborumble/ur4n0.UR4NO_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (no score)", + "status": "PASS", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 1380.0, + "score": 5742.0, "scores": [ - 840.0, - 540.0 + 3084.0, + 2658.0 ], "skipped": null } } ], - "status": "DISCREPANCY (no score)" + "status": "PASS" }, - "roborumble/codemojo.nano.Woot_1.0.jar": { + "roborumble/urdos.URDOS_1.3.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "codemojo.nano.Woot 1.0", + "classic_selected": "urdos.URDOS 1.3", "division": "roborumble", - "jar": "codemojo.nano.Woot_1.0.jar", - "jar_sha256": "7f635dc2e4809d680d0bef2e71454a61c03051e0385ec3e11af10105b694c3d6", - "key": "roborumble/codemojo.nano.Woot_1.0.jar", + "jar": "urdos.URDOS_1.3.jar", + "jar_sha256": "a1f556e97f341d3ae15ac0770c8166223935b3d4a1d405bdeab91d18d7d540be", + "key": "roborumble/urdos.URDOS_1.3.jar", "kind": "robot" }, - "latest_observation": "ec2f186e76fabdbc", + "latest_observation": "ce41d1ee858569d7", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 3.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4048.0, + "score": 7793.0, "scores": [ - 2085.0, - 1963.0 + 3879.0, + 3914.0 ], - "selected": "codemojo.nano.Woot 1.0" + "selected": "urdos.URDOS 1.3" }, - "completed_at": "2026-09-08T21:20:15Z", - "delta_pct": -2.7, - "id": "ec2f186e76fabdbc", + "completed_at": "2026-09-21T20:14:15Z", + "confirmation": null, + "delta_pct": -2.8, + "id": "ce41d1ee858569d7", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51475,24 +191193,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "codemojo.nano.Woot 1.0", + "classic_selected": "urdos.URDOS 1.3", "division": "roborumble", - "jar": "codemojo.nano.Woot_1.0.jar", - "jar_sha256": "7f635dc2e4809d680d0bef2e71454a61c03051e0385ec3e11af10105b694c3d6", - "key": "roborumble/codemojo.nano.Woot_1.0.jar", + "jar": "urdos.URDOS_1.3.jar", + "jar_sha256": "a1f556e97f341d3ae15ac0770c8166223935b3d4a1d405bdeab91d18d7d540be", + "key": "roborumble/urdos.URDOS_1.3.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3939.0, + "score": 7576.0, "scores": [ - 2031.0, - 1908.0 + 3927.0, + 3649.0 ], "skipped": null } @@ -51500,76 +191220,63 @@ ], "status": "PASS" }, - "roborumble/com.arsenic.NewTest_1.0.jar": { + "roborumble/usa.nano.Nemo_2.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "com.arsenic.NewTest 1.0", + "classic_selected": "usa.nano.Nemo 2.0", "division": "roborumble", - "jar": "com.arsenic.NewTest_1.0.jar", - "jar_sha256": "0a5a9d382489ace685399cf9c5d709daa70f7e545ac85d54a1b0e81bf7d3a412", - "key": "roborumble/com.arsenic.NewTest_1.0.jar", + "jar": "usa.nano.Nemo_2.0.jar", + "jar_sha256": "357f89a2483bcc4623573387a38efc722ba934daa93f9d82335481d3c11e1fdb", + "key": "roborumble/usa.nano.Nemo_2.0.jar", "kind": "robot" }, - "latest_observation": "bec9ffc1e65a95d1", + "latest_observation": "c0eff80a2a2ca297", "observations": [ { "classic": { - "elapsed": 2.5, - "error_count": 10, - "errors": [ - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index -47 out of bounds for length 2", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index -47 out of bounds for length 2", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index -93 out of bounds for length 2", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletHitEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index -53 out of bounds for length 2", - "SYSTEM: java.lang.ArrayIndexOutOfBoundsException occurred on robocode.BulletMissedEvent", - "java.lang.ArrayIndexOutOfBoundsException: Index -47 out of bounds for length 2" - ], - "has_log": true, + "elapsed": 2.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 6336.0, + "score": 10546.0, "scores": [ - 2876.0, - 3460.0 + 5342.0, + 5204.0 ], - "selected": "com.arsenic.NewTest 1.0" + "selected": "usa.nano.Nemo 2.0" }, - "completed_at": "2026-09-08T21:20:32Z", - "delta_pct": 0.3, - "id": "bec9ffc1e65a95d1", + "completed_at": "2026-09-21T20:14:29Z", + "confirmation": null, + "delta_pct": -17.0, + "id": "c0eff80a2a2ca297", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51577,24 +191284,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "com.arsenic.NewTest 1.0", + "classic_selected": "usa.nano.Nemo 2.0", "division": "roborumble", - "jar": "com.arsenic.NewTest_1.0.jar", - "jar_sha256": "0a5a9d382489ace685399cf9c5d709daa70f7e545ac85d54a1b0e81bf7d3a412", - "key": "roborumble/com.arsenic.NewTest_1.0.jar", + "jar": "usa.nano.Nemo_2.0.jar", + "jar_sha256": "357f89a2483bcc4623573387a38efc722ba934daa93f9d82335481d3c11e1fdb", + "key": "roborumble/usa.nano.Nemo_2.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6352.0, + "score": 8752.0, "scores": [ - 3403.0, - 2949.0 + 4660.0, + 4092.0 ], "skipped": null } @@ -51602,65 +191311,63 @@ ], "status": "PASS" }, - "roborumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar": { + "roborumble/velas.Alpha_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "com.blogspot.malinkody.DestrobotMalin 1.0", + "classic_selected": "velas.Alpha 1.0", "division": "roborumble", - "jar": "com.blogspot.malinkody.DestrobotMalin_1.0.jar", - "jar_sha256": "d3205656d01007c800f5fa5549d247aa7030a40380277752ecd590e091339c27", - "key": "roborumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "jar": "velas.Alpha_1.0.jar", + "jar_sha256": "184b88d60d0bb8afdc9bf11d8020f7adeab690940556dba6f9e30122c2266a2c", + "key": "roborumble/velas.Alpha_1.0.jar", "kind": "robot" }, - "latest_observation": "41f11a8de1bd0c5b", + "latest_observation": "c0a22d940d4f12a2", "observations": [ { "classic": { - "elapsed": 3.0, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7820.0, + "score": 7790.0, "scores": [ - 3673.0, - 4147.0 + 3736.0, + 4054.0 ], - "selected": "com.blogspot.malinkody.DestrobotMalin 1.0" + "selected": "velas.Alpha 1.0" }, - "completed_at": "2026-09-08T21:21:03Z", - "delta_pct": -58.8, - "id": "41f11a8de1bd0c5b", + "completed_at": "2026-09-21T20:14:48Z", + "confirmation": null, + "delta_pct": -7.9, + "id": "c0a22d940d4f12a2", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51668,95 +191375,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "com.blogspot.malinkody.DestrobotMalin 1.0", + "classic_selected": "velas.Alpha 1.0", "division": "roborumble", - "jar": "com.blogspot.malinkody.DestrobotMalin_1.0.jar", - "jar_sha256": "d3205656d01007c800f5fa5549d247aa7030a40380277752ecd590e091339c27", - "key": "roborumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar", + "jar": "velas.Alpha_1.0.jar", + "jar_sha256": "184b88d60d0bb8afdc9bf11d8020f7adeab690940556dba6f9e30122c2266a2c", + "key": "roborumble/velas.Alpha_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 28.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3218.0, + "score": 7176.0, "scores": [ - 1747.0, - 1471.0 + 3633.0, + 3543.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/com.cohesiva.robocode.ManOwaR_1.0.jar": { + "roborumble/velas.Beta_2_0_2.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "com.cohesiva.robocode.ManOwaR 1.0", + "classic_selected": "velas.Beta_2_0 2.0", "division": "roborumble", - "jar": "com.cohesiva.robocode.ManOwaR_1.0.jar", - "jar_sha256": "46519fab7d639e4d0a64afdd133618e92b7dcd923b8f252325098cc4a0e9031e", - "key": "roborumble/com.cohesiva.robocode.ManOwaR_1.0.jar", + "jar": "velas.Beta_2_0_2.0.jar", + "jar_sha256": "95c7f3303d5222ef246eaa3a130e9ff3b9e31217740601092ec17ed8dd2c8835", + "key": "roborumble/velas.Beta_2_0_2.0.jar", "kind": "robot" }, - "latest_observation": "b68f0a69b507a3fe", + "latest_observation": "abd4b67acd37eb5e", "observations": [ { "classic": { - "elapsed": 3.3, - "error_count": 4, - "errors": [ - "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", - "java.lang.IllegalArgumentException: bound must be positive", - "SYSTEM: java.lang.IllegalArgumentException occurred on robocode.HitByBulletEvent", - "java.lang.IllegalArgumentException: bound must be positive" - ], - "has_log": true, + "elapsed": 2.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 4856.0, + "score": 5611.0, "scores": [ - 2550.0, - 2306.0 + 2844.0, + 2767.0 ], - "selected": "com.cohesiva.robocode.ManOwaR 1.0" + "selected": "velas.Beta_2_0 2.0" }, - "completed_at": "2026-09-08T21:21:39Z", - "delta_pct": 0.4, - "id": "b68f0a69b507a3fe", + "completed_at": "2026-09-21T20:15:07Z", + "confirmation": null, + "delta_pct": -7.9, + "id": "abd4b67acd37eb5e", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51764,26 +191466,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "com.cohesiva.robocode.ManOwaR 1.0", + "classic_selected": "velas.Beta_2_0 2.0", "division": "roborumble", - "jar": "com.cohesiva.robocode.ManOwaR_1.0.jar", - "jar_sha256": "46519fab7d639e4d0a64afdd133618e92b7dcd923b8f252325098cc4a0e9031e", - "key": "roborumble/com.cohesiva.robocode.ManOwaR_1.0.jar", + "jar": "velas.Beta_2_0_2.0.jar", + "jar_sha256": "95c7f3303d5222ef246eaa3a130e9ff3b9e31217740601092ec17ed8dd2c8835", + "key": "roborumble/velas.Beta_2_0_2.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 32.0, - "error_count": 1, - "errors": [ - "java.lang.IllegalArgumentException: bound must be positive" - ], - "has_log": true, + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 4873.0, + "score": 5168.0, "scores": [ - 2446.0, - 2427.0 + 2646.0, + 2522.0 ], "skipped": null } @@ -51791,65 +191493,63 @@ ], "status": "PASS" }, - "roborumble/com.sociesc.T1000_1.0.0.jar": { + "roborumble/vft.Hrist_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "com.sociesc.T1000 1.0.0", + "classic_selected": "vft.Hrist 1.0", "division": "roborumble", - "jar": "com.sociesc.T1000_1.0.0.jar", - "jar_sha256": "4398cb800fc016f19b0a9841c795e5bdf33ab65beaff628759abf81ce711732f", - "key": "roborumble/com.sociesc.T1000_1.0.0.jar", + "jar": "vft.Hrist_1.0.jar", + "jar_sha256": "e1697d335faf07726b2e64cead172c8180c1251ebd3a10a88b83fab254294195", + "key": "roborumble/vft.Hrist_1.0.jar", "kind": "robot" }, - "latest_observation": "c50ef80274e4a320", + "latest_observation": "a9eeb8774d3fa17a", "observations": [ { "classic": { - "elapsed": 3.6, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 0.0, + "score": 4334.0, "scores": [ - 0.0, - 0.0 + 2132.0, + 2202.0 ], - "selected": "com.sociesc.T1000 1.0.0" + "selected": "vft.Hrist 1.0" }, - "completed_at": "2026-09-08T21:22:15Z", - "delta_pct": null, - "id": "c50ef80274e4a320", + "completed_at": "2026-09-21T20:15:30Z", + "confirmation": null, + "delta_pct": -10.4, + "id": "a9eeb8774d3fa17a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51857,90 +191557,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "com.sociesc.T1000 1.0.0", + "classic_selected": "vft.Hrist 1.0", "division": "roborumble", - "jar": "com.sociesc.T1000_1.0.0.jar", - "jar_sha256": "4398cb800fc016f19b0a9841c795e5bdf33ab65beaff628759abf81ce711732f", - "key": "roborumble/com.sociesc.T1000_1.0.0.jar", + "jar": "vft.Hrist_1.0.jar", + "jar_sha256": "e1697d335faf07726b2e64cead172c8180c1251ebd3a10a88b83fab254294195", + "key": "roborumble/vft.Hrist_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (no score)", + "status": "PASS", "tank_royale": { - "elapsed": 32.1, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 362.0, + "score": 3882.0, "scores": [ - 181.0, - 181.0 + 2119.0, + 1763.0 ], "skipped": null } } ], - "status": "DISCREPANCY (no score)" + "status": "PASS" }, - "roborumble/com.spp.robocode.MostlyHarmless_010.jar": { + "roborumble/vft.Valkyrie_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "com.spp.robocode.MostlyHarmless 010", + "classic_selected": "vft.Valkyrie 1.0", "division": "roborumble", - "jar": "com.spp.robocode.MostlyHarmless_010.jar", - "jar_sha256": "79e3073e986fc6cdf59da91bb4f2b4c271770c7b31600fd2eafebb20bfca2710", - "key": "roborumble/com.spp.robocode.MostlyHarmless_010.jar", + "jar": "vft.Valkyrie_1.0.jar", + "jar_sha256": "6940c59080a625acf382708a3bf4bbc5c9b0a39e3e0275f2e75c0ec186cf121b", + "key": "roborumble/vft.Valkyrie_1.0.jar", "kind": "robot" }, - "latest_observation": "7f12b894b7bb568c", + "latest_observation": "f4e22feabae45025", "observations": [ { "classic": { - "elapsed": 3.6, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7087.0, + "score": 4340.0, "scores": [ - 3817.0, - 3270.0 + 1503.0, + 2837.0 ], - "selected": "com.spp.robocode.MostlyHarmless 010" + "selected": "vft.Valkyrie 1.0" }, - "completed_at": "2026-09-08T21:22:39Z", - "delta_pct": 0.5, - "id": "7f12b894b7bb568c", + "completed_at": "2026-09-21T20:15:47Z", + "confirmation": null, + "delta_pct": 4.5, + "id": "f4e22feabae45025", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -51948,24 +191648,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "com.spp.robocode.MostlyHarmless 010", + "classic_selected": "vft.Valkyrie 1.0", "division": "roborumble", - "jar": "com.spp.robocode.MostlyHarmless_010.jar", - "jar_sha256": "79e3073e986fc6cdf59da91bb4f2b4c271770c7b31600fd2eafebb20bfca2710", - "key": "roborumble/com.spp.robocode.MostlyHarmless_010.jar", + "jar": "vft.Valkyrie_1.0.jar", + "jar_sha256": "6940c59080a625acf382708a3bf4bbc5c9b0a39e3e0275f2e75c0ec186cf121b", + "key": "roborumble/vft.Valkyrie_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.1, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7123.0, + "score": 4536.0, "scores": [ - 3634.0, - 3489.0 + 2348.0, + 2188.0 ], "skipped": null } @@ -51973,65 +191675,63 @@ ], "status": "PASS" }, - "roborumble/com.syncleus.robocode.Dreadnaught_0.1.jar": { + "roborumble/vic.Locke_0.7.5.5.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "com.syncleus.robocode.Dreadnaught 0.1", + "classic_selected": "vic.Locke 0.7.5.5", "division": "roborumble", - "jar": "com.syncleus.robocode.Dreadnaught_0.1.jar", - "jar_sha256": "4a2a9926375fca4cf32ea72bdc8ab43930223f2090bae428474eafb9a6dd823c", - "key": "roborumble/com.syncleus.robocode.Dreadnaught_0.1.jar", + "jar": "vic.Locke_0.7.5.5.jar", + "jar_sha256": "a51060d1b79906aef3e7b4c340df276851edf7738009e7e4f6693927879566b2", + "key": "roborumble/vic.Locke_0.7.5.5.jar", "kind": "robot" }, - "latest_observation": "f963f02cb575c278", + "latest_observation": "0417f0e27d6f83ea", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 4.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12138.0, + "score": 5045.0, "scores": [ - 5649.0, - 6489.0 + 2591.0, + 2454.0 ], - "selected": "com.syncleus.robocode.Dreadnaught 0.1" + "selected": "vic.Locke 0.7.5.5" }, - "completed_at": "2026-09-08T21:22:56Z", - "delta_pct": 1.2, - "id": "f963f02cb575c278", + "completed_at": "2026-09-21T20:16:13Z", + "confirmation": null, + "delta_pct": -4.6, + "id": "0417f0e27d6f83ea", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52039,24 +191739,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "com.syncleus.robocode.Dreadnaught 0.1", + "classic_selected": "vic.Locke 0.7.5.5", "division": "roborumble", - "jar": "com.syncleus.robocode.Dreadnaught_0.1.jar", - "jar_sha256": "4a2a9926375fca4cf32ea72bdc8ab43930223f2090bae428474eafb9a6dd823c", - "key": "roborumble/com.syncleus.robocode.Dreadnaught_0.1.jar", + "jar": "vic.Locke_0.7.5.5.jar", + "jar_sha256": "a51060d1b79906aef3e7b4c340df276851edf7738009e7e4f6693927879566b2", + "key": "roborumble/vic.Locke_0.7.5.5.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12285.0, + "score": 4812.0, "scores": [ - 6150.0, - 6135.0 + 2466.0, + 2346.0 ], "skipped": null } @@ -52064,65 +191766,63 @@ ], "status": "PASS" }, - "roborumble/com.timothyveletta.FuzzyBot_1.1.jar": { + "roborumble/vjik.UnViolation_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "com.timothyveletta.FuzzyBot 1.1", + "classic_selected": "vjik.UnViolation 1.1", "division": "roborumble", - "jar": "com.timothyveletta.FuzzyBot_1.1.jar", - "jar_sha256": "4d2003ddcb53060505ae0c6c32b74ed389da21f047faba64f6fe03bb9488fa37", - "key": "roborumble/com.timothyveletta.FuzzyBot_1.1.jar", + "jar": "vjik.UnViolation_1.1.jar", + "jar_sha256": "9bb30d6e7c27c6a86805f8b48e8120a9c5dec884a9439bbe878a14baef49fa81", + "key": "roborumble/vjik.UnViolation_1.1.jar", "kind": "robot" }, - "latest_observation": "f3979e1d91165e7b", + "latest_observation": "15cd6a71061cc42a", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8421.0, + "score": 10364.0, "scores": [ - 4238.0, - 4183.0 + 6219.0, + 4145.0 ], - "selected": "com.timothyveletta.FuzzyBot 1.1" + "selected": "vjik.UnViolation 1.1" }, - "completed_at": "2026-09-08T21:23:13Z", - "delta_pct": -3.5, - "id": "f3979e1d91165e7b", + "completed_at": "2026-09-21T20:16:34Z", + "confirmation": null, + "delta_pct": -5.9, + "id": "15cd6a71061cc42a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52130,24 +191830,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "com.timothyveletta.FuzzyBot 1.1", + "classic_selected": "vjik.UnViolation 1.1", "division": "roborumble", - "jar": "com.timothyveletta.FuzzyBot_1.1.jar", - "jar_sha256": "4d2003ddcb53060505ae0c6c32b74ed389da21f047faba64f6fe03bb9488fa37", - "key": "roborumble/com.timothyveletta.FuzzyBot_1.1.jar", + "jar": "vjik.UnViolation_1.1.jar", + "jar_sha256": "9bb30d6e7c27c6a86805f8b48e8120a9c5dec884a9439bbe878a14baef49fa81", + "key": "roborumble/vjik.UnViolation_1.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8126.0, + "score": 9755.0, "scores": [ - 4244.0, - 3882.0 + 5253.0, + 4502.0 ], "skipped": null } @@ -52155,65 +191857,63 @@ ], "status": "PASS" }, - "roborumble/conscience.Bulldozer_1.0a.jar": { + "roborumble/voidious.Diamond_1.8.22.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "conscience.Bulldozer 1.0a", + "classic_selected": "voidious.Diamond 1.8.22", "division": "roborumble", - "jar": "conscience.Bulldozer_1.0a.jar", - "jar_sha256": "f822506ece11632ca21436cfede847408f696140c474ae3b35e25187fbe27875", - "key": "roborumble/conscience.Bulldozer_1.0a.jar", + "jar": "voidious.Diamond_1.8.22.jar", + "jar_sha256": "90c68dc45266aec0c85a52fc1ee3aec8e2cacfb0afc85406682981a42d67c584", + "key": "roborumble/voidious.Diamond_1.8.22.jar", "kind": "robot" }, - "latest_observation": "34ee10313f50e735", + "latest_observation": "4146412ffe28ac43", "observations": [ { "classic": { - "elapsed": 2.2, + "elapsed": 57.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10965.0, + "score": 4316.0, "scores": [ - 5873.0, - 5092.0 + 1685.0, + 2631.0 ], - "selected": "conscience.Bulldozer 1.0a" + "selected": "voidious.Diamond 1.8.22" }, - "completed_at": "2026-09-08T21:23:25Z", - "delta_pct": 51.2, - "id": "34ee10313f50e735", + "completed_at": "2026-09-21T20:19:38Z", + "confirmation": null, + "delta_pct": 3.3, + "id": "4146412ffe28ac43", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52221,90 +191921,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "conscience.Bulldozer 1.0a", + "classic_selected": "voidious.Diamond 1.8.22", "division": "roborumble", - "jar": "conscience.Bulldozer_1.0a.jar", - "jar_sha256": "f822506ece11632ca21436cfede847408f696140c474ae3b35e25187fbe27875", - "key": "roborumble/conscience.Bulldozer_1.0a.jar", + "jar": "voidious.Diamond_1.8.22.jar", + "jar_sha256": "90c68dc45266aec0c85a52fc1ee3aec8e2cacfb0afc85406682981a42d67c584", + "key": "roborumble/voidious.Diamond_1.8.22.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 10.0, + "bridge_only_signatures": null, + "elapsed": 126.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 16581.0, + "score": 4459.0, "scores": [ - 8305.0, - 8276.0 + 2414.0, + 2045.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/conscience.Electron_1.3g.jar": { + "roborumble/voidious.Dookious_1.573c.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "conscience.Electron 1.3g", + "classic_selected": "voidious.Dookious 1.573c", "division": "roborumble", - "jar": "conscience.Electron_1.3g.jar", - "jar_sha256": "a8d12ab9530cd0f748593ac3d04cd2cf0b563713905457257c3395b7ab7aaf9b", - "key": "roborumble/conscience.Electron_1.3g.jar", + "jar": "voidious.Dookious_1.573c.jar", + "jar_sha256": "0c407ec7b43a4537992153b99ade4127046bd6e5dd8e0dd75aa511913ec300c1", + "key": "roborumble/voidious.Dookious_1.573c.jar", "kind": "robot" }, - "latest_observation": "60e25212f69814cd", + "latest_observation": "0e8186501813d9fe", "observations": [ { "classic": { - "elapsed": 3.4, + "elapsed": 8.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8619.0, + "score": 4510.0, "scores": [ - 4673.0, - 3946.0 + 2288.0, + 2222.0 ], - "selected": "conscience.Electron 1.3g" + "selected": "voidious.Dookious 1.573c" }, - "completed_at": "2026-09-08T21:23:43Z", - "delta_pct": 6.9, - "id": "60e25212f69814cd", + "completed_at": "2026-09-21T20:20:17Z", + "confirmation": null, + "delta_pct": -7.1, + "id": "0e8186501813d9fe", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52312,24 +192012,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "conscience.Electron 1.3g", + "classic_selected": "voidious.Dookious 1.573c", "division": "roborumble", - "jar": "conscience.Electron_1.3g.jar", - "jar_sha256": "a8d12ab9530cd0f748593ac3d04cd2cf0b563713905457257c3395b7ab7aaf9b", - "key": "roborumble/conscience.Electron_1.3g.jar", + "jar": "voidious.Dookious_1.573c.jar", + "jar_sha256": "0c407ec7b43a4537992153b99ade4127046bd6e5dd8e0dd75aa511913ec300c1", + "key": "roborumble/voidious.Dookious_1.573c.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 30.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 9213.0, + "score": 4191.0, "scores": [ - 4903.0, - 4310.0 + 2332.0, + 1859.0 ], "skipped": null } @@ -52337,65 +192039,63 @@ ], "status": "PASS" }, - "roborumble/conscience.Idem_1.0a.jar": { + "roborumble/voidious.micro.Jen_1.11.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "conscience.Idem 1.0a", + "classic_selected": "voidious.micro.Jen 1.11", "division": "roborumble", - "jar": "conscience.Idem_1.0a.jar", - "jar_sha256": "1635ea6692d7c89d41d0e089fced55ac334f24f429380fb686590ca58cecfb2d", - "key": "roborumble/conscience.Idem_1.0a.jar", + "jar": "voidious.micro.Jen_1.11.jar", + "jar_sha256": "cf8a602a41419a989f819ed1bfe7d2795ef876500b231fa7aac9a805731ac05c", + "key": "roborumble/voidious.micro.Jen_1.11.jar", "kind": "robot" }, - "latest_observation": "2c5f75820a136af0", + "latest_observation": "81755654920b97cd", "observations": [ { "classic": { - "elapsed": 8.8, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 9441.0, + "score": 6322.0, "scores": [ - 4317.0, - 5124.0 + 3013.0, + 3309.0 ], - "selected": "conscience.Idem 1.0a" + "selected": "voidious.micro.Jen 1.11" }, - "completed_at": "2026-09-08T21:26:24Z", - "delta_pct": -19.8, - "id": "2c5f75820a136af0", + "completed_at": "2026-09-21T20:20:38Z", + "confirmation": null, + "delta_pct": -11.7, + "id": "81755654920b97cd", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52403,24 +192103,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "conscience.Idem 1.0a", + "classic_selected": "voidious.micro.Jen 1.11", "division": "roborumble", - "jar": "conscience.Idem_1.0a.jar", - "jar_sha256": "1635ea6692d7c89d41d0e089fced55ac334f24f429380fb686590ca58cecfb2d", - "key": "roborumble/conscience.Idem_1.0a.jar", + "jar": "voidious.micro.Jen_1.11.jar", + "jar_sha256": "cf8a602a41419a989f819ed1bfe7d2795ef876500b231fa7aac9a805731ac05c", + "key": "roborumble/voidious.micro.Jen_1.11.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 152.2, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7569.0, + "score": 5582.0, "scores": [ - 4064.0, - 3505.0 + 2916.0, + 2666.0 ], "skipped": null } @@ -52428,65 +192130,63 @@ ], "status": "PASS" }, - "roborumble/conscience.Suicidal_1.1.jar": { + "roborumble/voidious.mini.Komarious_1.88.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "conscience.Suicidal 1.1", + "classic_selected": "voidious.mini.Komarious 1.88", "division": "roborumble", - "jar": "conscience.Suicidal_1.1.jar", - "jar_sha256": "4650b8e8b5705e0fafb87fb4ffdcda77597f168c7c1c9272abae80691ad4f3d6", - "key": "roborumble/conscience.Suicidal_1.1.jar", + "jar": "voidious.mini.Komarious_1.88.jar", + "jar_sha256": "9bf0946f16256650455217df27183b8f3a5715954ab37c58b64e327af26d4593", + "key": "roborumble/voidious.mini.Komarious_1.88.jar", "kind": "robot" }, - "latest_observation": "126c32b41d68f5f3", + "latest_observation": "c4341bb65734df04", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 3.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 0.0, + "score": 4794.0, "scores": [ - 0.0, - 0.0 + 2207.0, + 2587.0 ], - "selected": "conscience.Suicidal 1.1" + "selected": "voidious.mini.Komarious 1.88" }, - "completed_at": "2026-09-08T21:26:39Z", - "delta_pct": null, - "id": "126c32b41d68f5f3", + "completed_at": "2026-09-21T20:21:07Z", + "confirmation": null, + "delta_pct": -31.8, + "id": "c4341bb65734df04", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52494,90 +192194,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "conscience.Suicidal 1.1", + "classic_selected": "voidious.mini.Komarious 1.88", "division": "roborumble", - "jar": "conscience.Suicidal_1.1.jar", - "jar_sha256": "4650b8e8b5705e0fafb87fb4ffdcda77597f168c7c1c9272abae80691ad4f3d6", - "key": "roborumble/conscience.Suicidal_1.1.jar", + "jar": "voidious.mini.Komarious_1.88.jar", + "jar_sha256": "9bf0946f16256650455217df27183b8f3a5715954ab37c58b64e327af26d4593", + "key": "roborumble/voidious.mini.Komarious_1.88.jar", "kind": "robot" }, - "status": "DISCREPANCY (no score)", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 12.0, + "bridge_only_signatures": null, + "elapsed": 26.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2100.0, + "score": 3271.0, "scores": [ - 1260.0, - 840.0 + 1747.0, + 1524.0 ], "skipped": null } } ], - "status": "DISCREPANCY (no score)" + "status": "score-review" }, - "roborumble/cre.Karolos_0.32.jar": { + "roborumble/voidious.perceptual.RetroGirl_1.0.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cre.Karolos 0.32", + "classic_selected": "voidious.perceptual.RetroGirl 1.0.0", "division": "roborumble", - "jar": "cre.Karolos_0.32.jar", - "jar_sha256": "9d35fbbe7c3c3a2d325d49028ea3c4be40906f0f5e919a49dd46f66ca734e7ca", - "key": "roborumble/cre.Karolos_0.32.jar", + "jar": "voidious.perceptual.RetroGirl_1.0.0.jar", + "jar_sha256": "79884ef9a9613ab04d92fa6a9cce64d2cdf38c7ec347060e16e746bb8474df35", + "key": "roborumble/voidious.perceptual.RetroGirl_1.0.0.jar", "kind": "robot" }, - "latest_observation": "0c5b559772cf4ee1", + "latest_observation": "efc81fba9fb6e2f2", "observations": [ { "classic": { - "elapsed": 9.2, + "elapsed": 3.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6626.0, + "score": 5274.0, "scores": [ - 3289.0, - 3337.0 + 3064.0, + 2210.0 ], - "selected": "cre.Karolos 0.32" + "selected": "voidious.perceptual.RetroGirl 1.0.0" }, - "completed_at": "2026-09-08T21:26:53Z", - "delta_pct": null, - "id": "0c5b559772cf4ee1", + "completed_at": "2026-09-21T20:21:46Z", + "confirmation": null, + "delta_pct": 0.2, + "id": "efc81fba9fb6e2f2", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52585,188 +192285,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cre.Karolos 0.32", - "division": "roborumble", - "jar": "cre.Karolos_0.32.jar", - "jar_sha256": "9d35fbbe7c3c3a2d325d49028ea3c4be40906f0f5e919a49dd46f66ca734e7ca", - "key": "roborumble/cre.Karolos_0.32.jar", - "kind": "robot" - }, - "status": "FAIL (TR)", - "tank_royale": { - "elapsed": 4.2, - "error_count": 370, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null", - "java.lang.NullPointerException: Cannot invoke \"cre.e.e()\" because the return value of \"cre.e.a(long)\" is null" + "classic_selected": "voidious.perceptual.RetroGirl 1.0.0", + "division": "roborumble", + "jar": "voidious.perceptual.RetroGirl_1.0.0.jar", + "jar_sha256": "79884ef9a9613ab04d92fa6a9cce64d2cdf38c7ec347060e16e746bb8474df35", + "key": "roborumble/voidious.perceptual.RetroGirl_1.0.0.jar", + "kind": "robot" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 34.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5285.0, + "scores": [ + 2989.0, + 2296.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/cs.Nene_1.0.5.jar": { + "roborumble/vort.Chaser_0.0.3.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cs.Nene 1.0.5", + "classic_selected": "vort.Chaser 0.0.3", "division": "roborumble", - "jar": "cs.Nene_1.0.5.jar", - "jar_sha256": "9615be8f8f2bdf4f42a38f74b4b81d0944e86f06311582915a78af06d529e856", - "key": "roborumble/cs.Nene_1.0.5.jar", + "jar": "vort.Chaser_0.0.3.jar", + "jar_sha256": "c98bea5d7879b171fdef693ca2d044356ca29972a93bbc41ee606da025e94327", + "key": "roborumble/vort.Chaser_0.0.3.jar", "kind": "robot" }, - "latest_observation": "77f6703bbf53891a", + "latest_observation": "7093732e1715be6e", "observations": [ { "classic": { - "elapsed": 11.0, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4672.0, + "score": 12470.0, "scores": [ - 2424.0, - 2248.0 + 6109.0, + 6361.0 ], - "selected": "cs.Nene 1.0.5" + "selected": "vort.Chaser 0.0.3" }, - "completed_at": "2026-09-08T21:27:36Z", - "delta_pct": -100.0, - "id": "77f6703bbf53891a", + "completed_at": "2026-09-21T20:22:02Z", + "confirmation": null, + "delta_pct": -11.6, + "id": "7093732e1715be6e", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52774,90 +192376,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cs.Nene 1.0.5", + "classic_selected": "vort.Chaser 0.0.3", "division": "roborumble", - "jar": "cs.Nene_1.0.5.jar", - "jar_sha256": "9615be8f8f2bdf4f42a38f74b4b81d0944e86f06311582915a78af06d529e856", - "key": "roborumble/cs.Nene_1.0.5.jar", + "jar": "vort.Chaser_0.0.3.jar", + "jar_sha256": "c98bea5d7879b171fdef693ca2d044356ca29972a93bbc41ee606da025e94327", + "key": "roborumble/vort.Chaser_0.0.3.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 32.1, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 0.0, + "score": 11025.0, "scores": [ - 0.0, - 0.0 + 5853.0, + 5172.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/cs.PumpkinPie_1.0.jar": { + "roborumble/vuen.Fractal_0.55.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cs.PumpkinPie 1.0", + "classic_selected": "vuen.Fractal 0.55", "division": "roborumble", - "jar": "cs.PumpkinPie_1.0.jar", - "jar_sha256": "d395a080e3bfff0c30871bb5f5b255b824f5da4a72f4b0f77bab84cd8a9278fa", - "key": "roborumble/cs.PumpkinPie_1.0.jar", + "jar": "vuen.Fractal_0.55.jar", + "jar_sha256": "b41ce4eb171f47c2f5737ef96f8182122551c6c2bf037599e43394731f058bf6", + "key": "roborumble/vuen.Fractal_0.55.jar", "kind": "robot" }, - "latest_observation": "90e4313a94769aff", + "latest_observation": "164ba6952c0c5fb0", "observations": [ { "classic": { - "elapsed": 10.6, + "elapsed": 3.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4960.0, + "score": 5714.0, "scores": [ - 2852.0, - 2108.0 + 2961.0, + 2753.0 ], - "selected": "cs.PumpkinPie 1.0" + "selected": "vuen.Fractal 0.55" }, - "completed_at": "2026-09-08T21:28:17Z", - "delta_pct": -3.4, - "id": "90e4313a94769aff", + "completed_at": "2026-09-21T20:22:24Z", + "confirmation": null, + "delta_pct": -9.9, + "id": "164ba6952c0c5fb0", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "2760d30f1891226c7045aae1cab47104fc99482c", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52865,24 +192467,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cs.PumpkinPie 1.0", + "classic_selected": "vuen.Fractal 0.55", "division": "roborumble", - "jar": "cs.PumpkinPie_1.0.jar", - "jar_sha256": "d395a080e3bfff0c30871bb5f5b255b824f5da4a72f4b0f77bab84cd8a9278fa", - "key": "roborumble/cs.PumpkinPie_1.0.jar", + "jar": "vuen.Fractal_0.55.jar", + "jar_sha256": "b41ce4eb171f47c2f5737ef96f8182122551c6c2bf037599e43394731f058bf6", + "key": "roborumble/vuen.Fractal_0.55.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 30.0, + "bridge_only_signatures": null, + "elapsed": 18.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4790.0, + "score": 5149.0, "scores": [ - 2664.0, - 2126.0 + 2606.0, + 2543.0 ], "skipped": null } @@ -52890,65 +192494,63 @@ ], "status": "PASS" }, - "roborumble/cs.Wren_1.0.jar": { + "roborumble/wcsv.Engineer.Engineer_0.5.4.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cs.Wren 1.0", + "classic_selected": "wcsv.Engineer.Engineer 0.5.4", "division": "roborumble", - "jar": "cs.Wren_1.0.jar", - "jar_sha256": "89f30ea0d295bbc4516e9dad72426663fdf68707b2c733555e408c35679770ea", - "key": "roborumble/cs.Wren_1.0.jar", + "jar": "wcsv.Engineer.Engineer_0.5.4.jar", + "jar_sha256": "15ee3d135251229ed15209176a654a4e0189b6fe612f9112c174bd4699796246", + "key": "roborumble/wcsv.Engineer.Engineer_0.5.4.jar", "kind": "robot" }, - "latest_observation": "c9973e9dd44d5919", + "latest_observation": "0aac6c0b40d0237b", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 3.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7915.0, + "score": 4855.0, "scores": [ - 4387.0, - 3528.0 + 2207.0, + 2648.0 ], - "selected": "cs.Wren 1.0" + "selected": "wcsv.Engineer.Engineer 0.5.4" }, - "completed_at": "2026-09-08T21:29:04Z", - "delta_pct": -4.4, - "id": "c9973e9dd44d5919", + "completed_at": "2026-09-21T20:23:21Z", + "confirmation": null, + "delta_pct": -4.6, + "id": "0aac6c0b40d0237b", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -52956,24 +192558,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cs.Wren 1.0", + "classic_selected": "wcsv.Engineer.Engineer 0.5.4", "division": "roborumble", - "jar": "cs.Wren_1.0.jar", - "jar_sha256": "89f30ea0d295bbc4516e9dad72426663fdf68707b2c733555e408c35679770ea", - "key": "roborumble/cs.Wren_1.0.jar", + "jar": "wcsv.Engineer.Engineer_0.5.4.jar", + "jar_sha256": "15ee3d135251229ed15209176a654a4e0189b6fe612f9112c174bd4699796246", + "key": "roborumble/wcsv.Engineer.Engineer_0.5.4.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7564.0, + "score": 4634.0, "scores": [ - 4552.0, - 3012.0 + 2507.0, + 2127.0 ], "skipped": null } @@ -52981,65 +192585,63 @@ ], "status": "PASS" }, - "roborumble/cs.s2.Seraphim_2.3.1.jar": { + "roborumble/wcsv.PowerHouse.PowerHouse_1.7e3.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cs.s2.Seraphim 2.3.1", + "classic_selected": "wcsv.PowerHouse.PowerHouse 1.7e3", "division": "roborumble", - "jar": "cs.s2.Seraphim_2.3.1.jar", - "jar_sha256": "d5bc11f229b5e2727bae6f8065251ed72bb0cc51ce900684183832c9e45a9845", - "key": "roborumble/cs.s2.Seraphim_2.3.1.jar", + "jar": "wcsv.PowerHouse.PowerHouse_1.7e3.jar", + "jar_sha256": "606d4d7d3deeb7987ae2e7f66a3ff131c862b981f75e7fb174ab6111819bb31d", + "key": "roborumble/wcsv.PowerHouse.PowerHouse_1.7e3.jar", "kind": "robot" }, - "latest_observation": "de2ae85b37c1610b", + "latest_observation": "631ef8496e7b90a4", "observations": [ { "classic": { - "elapsed": 4.9, + "elapsed": 3.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4910.0, + "score": 4804.0, "scores": [ - 2613.0, - 2297.0 + 2133.0, + 2671.0 ], - "selected": "cs.s2.Seraphim 2.3.1" + "selected": "wcsv.PowerHouse.PowerHouse 1.7e3" }, - "completed_at": "2026-09-08T21:28:42Z", - "delta_pct": -0.1, - "id": "de2ae85b37c1610b", + "completed_at": "2026-09-21T20:24:15Z", + "confirmation": null, + "delta_pct": -4.7, + "id": "631ef8496e7b90a4", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -53047,24 +192649,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cs.s2.Seraphim 2.3.1", + "classic_selected": "wcsv.PowerHouse.PowerHouse 1.7e3", "division": "roborumble", - "jar": "cs.s2.Seraphim_2.3.1.jar", - "jar_sha256": "d5bc11f229b5e2727bae6f8065251ed72bb0cc51ce900684183832c9e45a9845", - "key": "roborumble/cs.s2.Seraphim_2.3.1.jar", + "jar": "wcsv.PowerHouse.PowerHouse_1.7e3.jar", + "jar_sha256": "606d4d7d3deeb7987ae2e7f66a3ff131c862b981f75e7fb174ab6111819bb31d", + "key": "roborumble/wcsv.PowerHouse.PowerHouse_1.7e3.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4904.0, + "score": 4577.0, "scores": [ - 2519.0, - 2385.0 + 2526.0, + 2051.0 ], "skipped": null } @@ -53072,65 +192676,63 @@ ], "status": "PASS" }, - "roborumble/csm.NthGeneration_0.04.jar": { + "roborumble/wcsv.Stampede2.Stampede2_1.1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "csm.NthGeneration 0.04", + "classic_selected": "wcsv.Stampede2.Stampede2 1.1.0", "division": "roborumble", - "jar": "csm.NthGeneration_0.04.jar", - "jar_sha256": "e7b92a77f2fe7f2c8c1cd2d4a90529f8c66551770a6f2d176b628217593226a4", - "key": "roborumble/csm.NthGeneration_0.04.jar", + "jar": "wcsv.Stampede2.Stampede2_1.1.0.jar", + "jar_sha256": "b53af62821e743e0c85f750334af88d96b16c4e1c56409cbce16923626a6806b", + "key": "roborumble/wcsv.Stampede2.Stampede2_1.1.0.jar", "kind": "robot" }, - "latest_observation": "e8bab6b8456b7c4a", + "latest_observation": "b9408606ff177d2e", "observations": [ { "classic": { - "elapsed": 3.3, + "elapsed": 3.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4659.0, + "score": 4801.0, "scores": [ - 2071.0, - 2588.0 + 1921.0, + 2880.0 ], - "selected": "csm.NthGeneration 0.04" + "selected": "wcsv.Stampede2.Stampede2 1.1.0" }, - "completed_at": "2026-09-08T21:29:45Z", - "delta_pct": -5.0, - "id": "e8bab6b8456b7c4a", + "completed_at": "2026-09-21T20:24:41Z", + "confirmation": null, + "delta_pct": 27.3, + "id": "b9408606ff177d2e", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -53138,90 +192740,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "csm.NthGeneration 0.04", + "classic_selected": "wcsv.Stampede2.Stampede2 1.1.0", "division": "roborumble", - "jar": "csm.NthGeneration_0.04.jar", - "jar_sha256": "e7b92a77f2fe7f2c8c1cd2d4a90529f8c66551770a6f2d176b628217593226a4", - "key": "roborumble/csm.NthGeneration_0.04.jar", + "jar": "wcsv.Stampede2.Stampede2_1.1.0.jar", + "jar_sha256": "b53af62821e743e0c85f750334af88d96b16c4e1c56409cbce16923626a6806b", + "key": "roborumble/wcsv.Stampede2.Stampede2_1.1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 38.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4426.0, + "score": 6113.0, "scores": [ - 2381.0, - 2045.0 + 3093.0, + 3020.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/csp.Eagle_3.30.jar": { + "roborumble/wcsv.Stampede_1.3.3.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "csp.Eagle 3.30", + "classic_selected": "wcsv.Stampede 1.3.3", "division": "roborumble", - "jar": "csp.Eagle_3.30.jar", - "jar_sha256": "8a09a1ad3e1e4eb01f84d98868d26db8c0e58b4900ca41ddc93ddf13a56fbcce", - "key": "roborumble/csp.Eagle_3.30.jar", + "jar": "wcsv.Stampede_1.3.3.jar", + "jar_sha256": "2077fd5fe5f6ec41a2d7b18e356be8bf9a317b3312763caee4b45867d5a23cf2", + "key": "roborumble/wcsv.Stampede_1.3.3.jar", "kind": "robot" }, - "latest_observation": "e0122d77dc924a71", + "latest_observation": "1e9b3cfa9b68a98d", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7114.0, + "score": 4755.0, "scores": [ - 3203.0, - 3911.0 + 2178.0, + 2577.0 ], - "selected": "csp.Eagle 3.30" + "selected": "wcsv.Stampede 1.3.3" }, - "completed_at": "2026-09-08T21:30:04Z", - "delta_pct": -37.0, - "id": "e0122d77dc924a71", + "completed_at": "2026-09-21T20:25:02Z", + "confirmation": null, + "delta_pct": -12.3, + "id": "1e9b3cfa9b68a98d", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -53229,90 +192831,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "csp.Eagle 3.30", + "classic_selected": "wcsv.Stampede 1.3.3", "division": "roborumble", - "jar": "csp.Eagle_3.30.jar", - "jar_sha256": "8a09a1ad3e1e4eb01f84d98868d26db8c0e58b4900ca41ddc93ddf13a56fbcce", - "key": "roborumble/csp.Eagle_3.30.jar", + "jar": "wcsv.Stampede_1.3.3.jar", + "jar_sha256": "2077fd5fe5f6ec41a2d7b18e356be8bf9a317b3312763caee4b45867d5a23cf2", + "key": "roborumble/wcsv.Stampede_1.3.3.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4484.0, + "score": 4171.0, "scores": [ - 2376.0, - 2108.0 + 2309.0, + 1862.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/css.Delitioner_0.11.jar": { + "roborumble/wcsv.mega.PowerHouse2_0.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "css.Delitioner 0.11", + "classic_selected": "wcsv.mega.PowerHouse2 0.2", "division": "roborumble", - "jar": "css.Delitioner_0.11.jar", - "jar_sha256": "6c718a72f59cec4464649d650469adfcccaf0de0744d7fd3e3ef7a2c5ce28c0b", - "key": "roborumble/css.Delitioner_0.11.jar", + "jar": "wcsv.mega.PowerHouse2_0.2.jar", + "jar_sha256": "3c5bc5d2226bada285e747bb3ca31a5684e40a3c3d4a6361fa5df460e3ac2af4", + "key": "roborumble/wcsv.mega.PowerHouse2_0.2.jar", "kind": "robot" }, - "latest_observation": "9bf3a4bffbd5125f", + "latest_observation": "05a4b5f06306fef8", "observations": [ { "classic": { - "elapsed": 3.1, + "elapsed": 3.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6253.0, + "score": 5165.0, "scores": [ - 2997.0, - 3256.0 + 2489.0, + 2676.0 ], - "selected": "css.Delitioner 0.11" + "selected": "wcsv.mega.PowerHouse2 0.2" }, - "completed_at": "2026-09-08T21:30:27Z", - "delta_pct": -5.4, - "id": "9bf3a4bffbd5125f", + "completed_at": "2026-09-21T20:23:47Z", + "confirmation": null, + "delta_pct": -3.9, + "id": "05a4b5f06306fef8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -53320,24 +192922,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "css.Delitioner 0.11", + "classic_selected": "wcsv.mega.PowerHouse2 0.2", "division": "roborumble", - "jar": "css.Delitioner_0.11.jar", - "jar_sha256": "6c718a72f59cec4464649d650469adfcccaf0de0744d7fd3e3ef7a2c5ce28c0b", - "key": "roborumble/css.Delitioner_0.11.jar", + "jar": "wcsv.mega.PowerHouse2_0.2.jar", + "jar_sha256": "3c5bc5d2226bada285e747bb3ca31a5684e40a3c3d4a6361fa5df460e3ac2af4", + "key": "roborumble/wcsv.mega.PowerHouse2_0.2.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5916.0, + "score": 4961.0, "scores": [ - 2995.0, - 2921.0 + 2773.0, + 2188.0 ], "skipped": null } @@ -53345,65 +192949,63 @@ ], "status": "PASS" }, - "roborumble/cuoq.Kakera_1.0.jar": { + "roborumble/whind.Constitution_0.7.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cuoq.Kakera 1.0", + "classic_selected": "whind.Constitution 0.7.1", "division": "roborumble", - "jar": "cuoq.Kakera_1.0.jar", - "jar_sha256": "8e7d78ebb335e16e126036e8f66bc9a751c3059f0a310ebd5bf9b930a517b60b", - "key": "roborumble/cuoq.Kakera_1.0.jar", + "jar": "whind.Constitution_0.7.1.jar", + "jar_sha256": "33f5650d2f529dd40cb7064e65591b2b52847f7e7e1adcb45e63099f6f900679", + "key": "roborumble/whind.Constitution_0.7.1.jar", "kind": "robot" }, - "latest_observation": "99a4b47c6b169333", + "latest_observation": "bb9897a9c2456833", "observations": [ { "classic": { - "elapsed": 5.1, + "elapsed": 3.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6875.0, + "score": 6804.0, "scores": [ - 3376.0, - 3499.0 + 3097.0, + 3707.0 ], - "selected": "cuoq.Kakera 1.0" + "selected": "whind.Constitution 0.7.1" }, - "completed_at": "2026-09-08T21:30:59Z", - "delta_pct": -10.6, - "id": "99a4b47c6b169333", + "completed_at": "2026-09-21T20:25:49Z", + "confirmation": null, + "delta_pct": -14.4, + "id": "bb9897a9c2456833", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -53411,24 +193013,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cuoq.Kakera 1.0", + "classic_selected": "whind.Constitution 0.7.1", "division": "roborumble", - "jar": "cuoq.Kakera_1.0.jar", - "jar_sha256": "8e7d78ebb335e16e126036e8f66bc9a751c3059f0a310ebd5bf9b930a517b60b", - "key": "roborumble/cuoq.Kakera_1.0.jar", + "jar": "whind.Constitution_0.7.1.jar", + "jar_sha256": "33f5650d2f529dd40cb7064e65591b2b52847f7e7e1adcb45e63099f6f900679", + "key": "roborumble/whind.Constitution_0.7.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 26.0, + "bridge_only_signatures": null, + "elapsed": 26.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6144.0, + "score": 5824.0, "scores": [ - 3173.0, - 2971.0 + 3083.0, + 2741.0 ], "skipped": null } @@ -53436,65 +193040,63 @@ ], "status": "PASS" }, - "roborumble/cw.megas.Blade_0.8.jar": { + "roborumble/whind.StrengthBee_0.6.4.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cw.megas.Blade 0.8", + "classic_selected": "whind.StrengthBee 0.6.4", "division": "roborumble", - "jar": "cw.megas.Blade_0.8.jar", - "jar_sha256": "4a50333c16fd0bdc02aca8c152e7017ede5c8e763ceaba42319867a5b256f830", - "key": "roborumble/cw.megas.Blade_0.8.jar", + "jar": "whind.StrengthBee_0.6.4.jar", + "jar_sha256": "25602add2fe49b2958dd33cab5f627585610bbfda3f64a42155c81338acc326d", + "key": "roborumble/whind.StrengthBee_0.6.4.jar", "kind": "robot" }, - "latest_observation": "8fd749571b62d83f", + "latest_observation": "40a5885a2d772876", "observations": [ { "classic": { - "elapsed": 3.8, + "elapsed": 7.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5684.0, + "score": 5151.0, "scores": [ - 2349.0, - 3335.0 + 2592.0, + 2559.0 ], - "selected": "cw.megas.Blade 0.8" + "selected": "whind.StrengthBee 0.6.4" }, - "completed_at": "2026-09-08T21:31:07Z", - "delta_pct": null, - "id": "8fd749571b62d83f", + "completed_at": "2026-09-21T20:27:06Z", + "confirmation": null, + "delta_pct": -1.7, + "id": "40a5885a2d772876", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -53502,219 +193104,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cw.megas.Blade 0.8", + "classic_selected": "whind.StrengthBee 0.6.4", "division": "roborumble", - "jar": "cw.megas.Blade_0.8.jar", - "jar_sha256": "4a50333c16fd0bdc02aca8c152e7017ede5c8e763ceaba42319867a5b256f830", - "key": "roborumble/cw.megas.Blade_0.8.jar", + "jar": "whind.StrengthBee_0.6.4.jar", + "jar_sha256": "25602add2fe49b2958dd33cab5f627585610bbfda3f64a42155c81338acc326d", + "key": "roborumble/whind.StrengthBee_0.6.4.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "PASS", "tank_royale": { - "elapsed": 4.2, - "error_count": 30, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33", - "java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34", - "java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35", - "java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36", - "java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37", - "java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38", - "java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39", - "java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40", - "java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41", - "java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42", - "java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43", - "java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44", - "java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45", - "java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46", - "java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47", - "java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 33", - "java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34", - "java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35", - "java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36", - "java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37", - "java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38", - "java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39", - "java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 40", - "java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41", - "java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 42", - "java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43", - "java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44", - "java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45", - "java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46" + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5061.0, + "scores": [ + 2783.0, + 2278.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/cw.megas.GhostShell_GT.jar": { + "roborumble/whind.Strength_0.6.4.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cw.megas.GhostShell GT", + "classic_selected": "whind.Strength 0.6.4", "division": "roborumble", - "jar": "cw.megas.GhostShell_GT.jar", - "jar_sha256": "f75b19028ba3d181ae70d87a380370cf53e535b49e87f9060069a8591bc5888a", - "key": "roborumble/cw.megas.GhostShell_GT.jar", + "jar": "whind.Strength_0.6.4.jar", + "jar_sha256": "20a62939f54c8cbab4af4a68d180da3bb48565053830fa0568acae37e16f42cb", + "key": "roborumble/whind.Strength_0.6.4.jar", "kind": "robot" }, - "latest_observation": "624c2e5957e9c806", + "latest_observation": "9ab90f6bc35fbadf", "observations": [ { "classic": { - "elapsed": 2.9, - "error_count": 584, - "errors": [ - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null", - "SYSTEM: java.lang.NullPointerException occurred on robocode.ScannedRobotEvent", - "java.lang.NullPointerException: Cannot invoke \"java.awt.geom.Point2D.getX()\" because \"p\" is null" - ], - "has_log": true, + "elapsed": 6.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 10656.0, + "score": 5403.0, "scores": [ - 5978.0, - 4678.0 + 2174.0, + 3229.0 ], - "selected": "cw.megas.GhostShell GT" + "selected": "whind.Strength 0.6.4" }, - "completed_at": "2026-09-08T21:31:26Z", - "delta_pct": -24.4, - "id": "624c2e5957e9c806", + "completed_at": "2026-09-21T20:26:28Z", + "confirmation": null, + "delta_pct": -16.9, + "id": "9ab90f6bc35fbadf", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -53722,125 +193195,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cw.megas.GhostShell GT", + "classic_selected": "whind.Strength 0.6.4", "division": "roborumble", - "jar": "cw.megas.GhostShell_GT.jar", - "jar_sha256": "f75b19028ba3d181ae70d87a380370cf53e535b49e87f9060069a8591bc5888a", - "key": "roborumble/cw.megas.GhostShell_GT.jar", + "jar": "whind.Strength_0.6.4.jar", + "jar_sha256": "20a62939f54c8cbab4af4a68d180da3bb48565053830fa0568acae37e16f42cb", + "key": "roborumble/whind.Strength_0.6.4.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.2, - "error_count": 1302, - "errors": [ - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null", - "java.lang.NullPointerException: Cannot read field \"origin\" because \"w\" is null" - ], - "has_log": true, + "bridge_only_signatures": null, + "elapsed": 32.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 8061.0, + "score": 4491.0, "scores": [ - 4548.0, - 3513.0 + 2636.0, + 1855.0 ], "skipped": null } @@ -53848,65 +193222,63 @@ ], "status": "PASS" }, - "roborumble/cw.megas.Gridd_0.4.jar": { + "roborumble/whind.Wisdom_0.5.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cw.megas.Gridd 0.4", + "classic_selected": "whind.Wisdom 0.5.1", "division": "roborumble", - "jar": "cw.megas.Gridd_0.4.jar", - "jar_sha256": "bfafc04f4fe6011bfa749f6895c02e6518cc2acb878f133200cd4a2778653edf", - "key": "roborumble/cw.megas.Gridd_0.4.jar", + "jar": "whind.Wisdom_0.5.1.jar", + "jar_sha256": "94e5e5d50a03776845b2b857758db9e033c7e042ad92f05fbec09df0b637378f", + "key": "roborumble/whind.Wisdom_0.5.1.jar", "kind": "robot" }, - "latest_observation": "b0e92913f32f5e4a", + "latest_observation": "196334f342150a41", "observations": [ { "classic": { - "elapsed": 3.3, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7366.0, + "score": 5554.0, "scores": [ - 4135.0, - 3231.0 + 2770.0, + 2784.0 ], - "selected": "cw.megas.Gridd 0.4" + "selected": "whind.Wisdom 0.5.1" }, - "completed_at": "2026-09-08T21:31:46Z", - "delta_pct": 4.7, - "id": "b0e92913f32f5e4a", + "completed_at": "2026-09-21T20:27:25Z", + "confirmation": null, + "delta_pct": -19.1, + "id": "196334f342150a41", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -53914,24 +193286,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cw.megas.Gridd 0.4", + "classic_selected": "whind.Wisdom 0.5.1", "division": "roborumble", - "jar": "cw.megas.Gridd_0.4.jar", - "jar_sha256": "bfafc04f4fe6011bfa749f6895c02e6518cc2acb878f133200cd4a2778653edf", - "key": "roborumble/cw.megas.Gridd_0.4.jar", + "jar": "whind.Wisdom_0.5.1.jar", + "jar_sha256": "94e5e5d50a03776845b2b857758db9e033c7e042ad92f05fbec09df0b637378f", + "key": "roborumble/whind.Wisdom_0.5.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7712.0, + "score": 4494.0, "scores": [ - 4048.0, - 3664.0 + 2281.0, + 2213.0 ], "skipped": null } @@ -53939,65 +193313,63 @@ ], "status": "PASS" }, - "roborumble/cw.megas.Polar_3.2.jar": { + "roborumble/whitesquare.robots.SkynetAdvanced_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cw.megas.Polar 3.2", + "classic_selected": "whitesquare.robots.SkynetAdvanced 1.1", "division": "roborumble", - "jar": "cw.megas.Polar_3.2.jar", - "jar_sha256": "5a65f71be6ed605815763385ebd3ed9db00f248a4e7f65ecc75a566fd317665e", - "key": "roborumble/cw.megas.Polar_3.2.jar", + "jar": "whitesquare.robots.SkynetAdvanced_1.1.jar", + "jar_sha256": "8c214f736cd77f7c44b5f494eb182862c9b2085424aec95ad98a18e363bf0793", + "key": "roborumble/whitesquare.robots.SkynetAdvanced_1.1.jar", "kind": "robot" }, - "latest_observation": "275e5d14496de98c", + "latest_observation": "d800deef22298358", "observations": [ { "classic": { - "elapsed": 3.6, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7521.0, + "score": 12486.0, "scores": [ - 3441.0, - 4080.0 + 6321.0, + 6165.0 ], - "selected": "cw.megas.Polar 3.2" + "selected": "whitesquare.robots.SkynetAdvanced 1.1" }, - "completed_at": "2026-09-08T21:32:18Z", - "delta_pct": 6.3, - "id": "275e5d14496de98c", + "completed_at": "2026-09-21T20:27:41Z", + "confirmation": null, + "delta_pct": -1.2, + "id": "d800deef22298358", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54005,24 +193377,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cw.megas.Polar 3.2", + "classic_selected": "whitesquare.robots.SkynetAdvanced 1.1", "division": "roborumble", - "jar": "cw.megas.Polar_3.2.jar", - "jar_sha256": "5a65f71be6ed605815763385ebd3ed9db00f248a4e7f65ecc75a566fd317665e", - "key": "roborumble/cw.megas.Polar_3.2.jar", + "jar": "whitesquare.robots.SkynetAdvanced_1.1.jar", + "jar_sha256": "8c214f736cd77f7c44b5f494eb182862c9b2085424aec95ad98a18e363bf0793", + "key": "roborumble/whitesquare.robots.SkynetAdvanced_1.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 28.2, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7996.0, + "score": 12332.0, "scores": [ - 4154.0, - 3842.0 + 6396.0, + 5936.0 ], "skipped": null } @@ -54030,65 +193404,63 @@ ], "status": "PASS" }, - "roborumble/cw.megas.Silhouette_1.1.jar": { + "roborumble/wiki.BasicBulletShielder_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cw.megas.Silhouette 1.1", + "classic_selected": "wiki.BasicBulletShielder 1.0", "division": "roborumble", - "jar": "cw.megas.Silhouette_1.1.jar", - "jar_sha256": "e6971a7232c957673e1db12aeb969835a5f33928ed6ed30d6f0a33144002b2c6", - "key": "roborumble/cw.megas.Silhouette_1.1.jar", + "jar": "wiki.BasicBulletShielder_1.0.jar", + "jar_sha256": "23e1fc3ba10786105a8bdf1b8bee946e85a28bbd5e654b9b79e4bac45c32c49d", + "key": "roborumble/wiki.BasicBulletShielder_1.0.jar", "kind": "robot" }, - "latest_observation": "c619f7cbb9bcea81", + "latest_observation": "dd6ced352a0852bc", "observations": [ { "classic": { - "elapsed": 3.4, + "elapsed": 3.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6360.0, + "score": 0.0, "scores": [ - 3297.0, - 3063.0 + 0.0, + 0.0 ], - "selected": "cw.megas.Silhouette 1.1" + "selected": "wiki.BasicBulletShielder 1.0" }, - "completed_at": "2026-09-08T21:32:38Z", - "delta_pct": -3.9, - "id": "c619f7cbb9bcea81", + "completed_at": "2026-09-21T20:28:19Z", + "confirmation": null, + "delta_pct": null, + "id": "dd6ced352a0852bc", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54096,90 +193468,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cw.megas.Silhouette 1.1", + "classic_selected": "wiki.BasicBulletShielder 1.0", "division": "roborumble", - "jar": "cw.megas.Silhouette_1.1.jar", - "jar_sha256": "e6971a7232c957673e1db12aeb969835a5f33928ed6ed30d6f0a33144002b2c6", - "key": "roborumble/cw.megas.Silhouette_1.1.jar", + "jar": "wiki.BasicBulletShielder_1.0.jar", + "jar_sha256": "23e1fc3ba10786105a8bdf1b8bee946e85a28bbd5e654b9b79e4bac45c32c49d", + "key": "roborumble/wiki.BasicBulletShielder_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (no score)", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 34.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6113.0, + "score": 0.0, "scores": [ - 3383.0, - 2730.0 + 0.0, + 0.0 ], "skipped": null } } ], - "status": "PASS" + "status": "DISCREPANCY (no score)" }, - "roborumble/cx.BlestPain_1.41.jar": { + "roborumble/wiki.BasicGFSurfer_1.02.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.BlestPain 1.41", + "classic_selected": "wiki.BasicGFSurfer 1.02", "division": "roborumble", - "jar": "cx.BlestPain_1.41.jar", - "jar_sha256": "6f6b974d5aa3cb4db450ab43a2c0425d55d654cb9b577171fd99c9fe094b08ba", - "key": "roborumble/cx.BlestPain_1.41.jar", + "jar": "wiki.BasicGFSurfer_1.02.jar", + "jar_sha256": "6f9d664490caafae0d57e1b21022f0eea64622ed3686ea8fca14a897c293a02f", + "key": "roborumble/wiki.BasicGFSurfer_1.02.jar", "kind": "robot" }, - "latest_observation": "33f8afb939371ae3", + "latest_observation": "dafb3b5a37488156", "observations": [ { "classic": { - "elapsed": 4.0, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4876.0, + "score": 6054.0, "scores": [ - 2640.0, - 2236.0 + 3176.0, + 2878.0 ], - "selected": "cx.BlestPain 1.41" + "selected": "wiki.BasicGFSurfer 1.02" }, - "completed_at": "2026-09-08T21:33:02Z", - "delta_pct": -5.8, - "id": "33f8afb939371ae3", + "completed_at": "2026-09-21T20:28:44Z", + "confirmation": null, + "delta_pct": -31.8, + "id": "dafb3b5a37488156", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54187,90 +193559,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.BlestPain 1.41", + "classic_selected": "wiki.BasicGFSurfer 1.02", "division": "roborumble", - "jar": "cx.BlestPain_1.41.jar", - "jar_sha256": "6f6b974d5aa3cb4db450ab43a2c0425d55d654cb9b577171fd99c9fe094b08ba", - "key": "roborumble/cx.BlestPain_1.41.jar", + "jar": "wiki.BasicGFSurfer_1.02.jar", + "jar_sha256": "6f9d664490caafae0d57e1b21022f0eea64622ed3686ea8fca14a897c293a02f", + "key": "roborumble/wiki.BasicGFSurfer_1.02.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4595.0, + "score": 4127.0, "scores": [ - 2456.0, - 2139.0 + 2098.0, + 2029.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/cx.CigaretBH_1.03.jar": { + "roborumble/wiki.SuperSampleBot.SuperSittingDuck_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.CigaretBH 1.03", + "classic_selected": "wiki.SuperSampleBot.SuperSittingDuck 1.0", "division": "roborumble", - "jar": "cx.CigaretBH_1.03.jar", - "jar_sha256": "8c107a759b229f8570dcce96ccedd8404545e7d3c6441a206c64d54a4209d678", - "key": "roborumble/cx.CigaretBH_1.03.jar", + "jar": "wiki.SuperSampleBot.SuperSittingDuck_1.0.jar", + "jar_sha256": "f664cea9c8c8ca7ad62031da9fb9777b15692cec5c2cbf447efff2460a33f281", + "key": "roborumble/wiki.SuperSampleBot.SuperSittingDuck_1.0.jar", "kind": "robot" }, - "latest_observation": "1677b2a1b4827612", + "latest_observation": "4547e0802306f2d7", "observations": [ { "classic": { - "elapsed": 13.9, + "elapsed": 3.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4902.0, + "score": 240.0, "scores": [ - 2419.0, - 2483.0 + 180.0, + 60.0 ], - "selected": "cx.CigaretBH 1.03" + "selected": "wiki.SuperSampleBot.SuperSittingDuck 1.0" }, - "completed_at": "2026-09-08T21:33:44Z", - "delta_pct": -7.3, - "id": "1677b2a1b4827612", + "completed_at": "2026-09-21T20:31:56Z", + "confirmation": null, + "delta_pct": 150.0, + "id": "4547e0802306f2d7", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54278,90 +193650,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.CigaretBH 1.03", + "classic_selected": "wiki.SuperSampleBot.SuperSittingDuck 1.0", "division": "roborumble", - "jar": "cx.CigaretBH_1.03.jar", - "jar_sha256": "8c107a759b229f8570dcce96ccedd8404545e7d3c6441a206c64d54a4209d678", - "key": "roborumble/cx.CigaretBH_1.03.jar", + "jar": "wiki.SuperSampleBot.SuperSittingDuck_1.0.jar", + "jar_sha256": "f664cea9c8c8ca7ad62031da9fb9777b15692cec5c2cbf447efff2460a33f281", + "key": "roborumble/wiki.SuperSampleBot.SuperSittingDuck_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 28.0, + "bridge_only_signatures": null, + "elapsed": 34.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4542.0, + "score": 600.0, "scores": [ - 2483.0, - 2059.0 + 360.0, + 240.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/cx.Lacrimas_1.36.jar": { + "roborumble/wiki.WaveRammer_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.Lacrimas 1.36", + "classic_selected": "wiki.WaveRammer 1.0", "division": "roborumble", - "jar": "cx.Lacrimas_1.36.jar", - "jar_sha256": "3f188597207790c81255c5b78a09002cc87527166c22b75915d63f1f25111dae", - "key": "roborumble/cx.Lacrimas_1.36.jar", + "jar": "wiki.WaveRammer_1.0.jar", + "jar_sha256": "c9ddefae83567e706a7d44f1acb3b6dc202c7a2dd517583b7306ee5018e23c29", + "key": "roborumble/wiki.WaveRammer_1.0.jar", "kind": "robot" }, - "latest_observation": "20139227a27029e4", + "latest_observation": "3b3b8452bc947744", "observations": [ { "classic": { - "elapsed": 3.5, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4503.0, + "score": 10455.0, "scores": [ - 2030.0, - 2473.0 + 5229.0, + 5226.0 ], - "selected": "cx.Lacrimas 1.36" + "selected": "wiki.WaveRammer 1.0" }, - "completed_at": "2026-09-08T21:34:10Z", - "delta_pct": 3.8, - "id": "20139227a27029e4", + "completed_at": "2026-09-21T20:32:15Z", + "confirmation": null, + "delta_pct": -8.3, + "id": "3b3b8452bc947744", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54369,24 +193741,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.Lacrimas 1.36", + "classic_selected": "wiki.WaveRammer 1.0", "division": "roborumble", - "jar": "cx.Lacrimas_1.36.jar", - "jar_sha256": "3f188597207790c81255c5b78a09002cc87527166c22b75915d63f1f25111dae", - "key": "roborumble/cx.Lacrimas_1.36.jar", + "jar": "wiki.WaveRammer_1.0.jar", + "jar_sha256": "c9ddefae83567e706a7d44f1acb3b6dc202c7a2dd517583b7306ee5018e23c29", + "key": "roborumble/wiki.WaveRammer_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4674.0, + "score": 9592.0, "scores": [ - 2642.0, - 2032.0 + 5108.0, + 4484.0 ], "skipped": null } @@ -54394,68 +193768,63 @@ ], "status": "PASS" }, - "roborumble/cx.Princess_1.0.jar": { + "roborumble/wiki.Wolverine_2.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.Princess 1.0", + "classic_selected": "wiki.Wolverine 2.1", "division": "roborumble", - "jar": "cx.Princess_1.0.jar", - "jar_sha256": "8a5137dcb2d3075bf8b4aa5ec609d499a981f1ed6650641a10e3c95cfe2e7cec", - "key": "roborumble/cx.Princess_1.0.jar", + "jar": "wiki.Wolverine_2.1.jar", + "jar_sha256": "dec3566692b2936959bfaa2021e731c2a07a55f91b7599fca8b881a5d6ab1d81", + "key": "roborumble/wiki.Wolverine_2.1.jar", "kind": "robot" }, - "latest_observation": "ee8fec5f1ac10af9", + "latest_observation": "be3e497fc833ee7f", "observations": [ { "classic": { - "elapsed": 9.0, - "error_count": 2, - "errors": [ - "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cx\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)", - "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\cx\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)" - ], - "has_log": true, + "elapsed": 5.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5862.0, + "score": 5357.0, "scores": [ - 3116.0, - 2746.0 + 3138.0, + 2219.0 ], - "selected": "cx.Princess 1.0" + "selected": "wiki.Wolverine 2.1" }, - "completed_at": "2026-09-08T21:37:13Z", - "delta_pct": -9.6, - "id": "ee8fec5f1ac10af9", + "completed_at": "2026-09-21T20:32:34Z", + "confirmation": null, + "delta_pct": 143.9, + "id": "be3e497fc833ee7f", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54463,93 +193832,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.Princess 1.0", + "classic_selected": "wiki.Wolverine 2.1", "division": "roborumble", - "jar": "cx.Princess_1.0.jar", - "jar_sha256": "8a5137dcb2d3075bf8b4aa5ec609d499a981f1ed6650641a10e3c95cfe2e7cec", - "key": "roborumble/cx.Princess_1.0.jar", + "jar": "wiki.Wolverine_2.1.jar", + "jar_sha256": "dec3566692b2936959bfaa2021e731c2a07a55f91b7599fca8b881a5d6ab1d81", + "key": "roborumble/wiki.Wolverine_2.1.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.0, - "error_count": 2, - "errors": [ - "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cx.Princess_1.0\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)", - "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\cx.Princess_1.0-2\\Princess.data\\score.dat (Den angivne fil blev ikke fundet)" - ], - "has_log": true, + "bridge_only_signatures": null, + "elapsed": 14.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 5301.0, + "score": 13065.0, "scores": [ - 2866.0, - 2435.0 + 6716.0, + 6349.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/cx.micro.Blur_0.2.jar": { + "roborumble/wiki.mako.MakoHT_1.2.2.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.micro.Blur 0.2", + "classic_selected": "wiki.mako.MakoHT 1.2.2.1", "division": "roborumble", - "jar": "cx.micro.Blur_0.2.jar", - "jar_sha256": "a1d62b084d88196ff938d3f189e0f7a84f89e7f034bd21f83a8afb0bc20ba979", - "key": "roborumble/cx.micro.Blur_0.2.jar", + "jar": "wiki.mako.MakoHT_1.2.2.1.jar", + "jar_sha256": "d12d277be65e4dee53384e8180b79f625fb63928fbcac55284fcf92c742f67b9", + "key": "roborumble/wiki.mako.MakoHT_1.2.2.1.jar", "kind": "robot" }, - "latest_observation": "cf57283fe7c065c6", + "latest_observation": "663d83ffd3e65f78", "observations": [ { "classic": { - "elapsed": 2.3, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7918.0, + "score": 5591.0, "scores": [ - 4451.0, - 3467.0 + 3108.0, + 2483.0 ], - "selected": "cx.micro.Blur 0.2" + "selected": "wiki.mako.MakoHT 1.2.2.1" }, - "completed_at": "2026-09-08T21:34:17Z", - "delta_pct": null, - "id": "cf57283fe7c065c6", + "completed_at": "2026-09-21T20:29:05Z", + "confirmation": null, + "delta_pct": -13.6, + "id": "663d83ffd3e65f78", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54557,90 +193923,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.micro.Blur 0.2", + "classic_selected": "wiki.mako.MakoHT 1.2.2.1", "division": "roborumble", - "jar": "cx.micro.Blur_0.2.jar", - "jar_sha256": "a1d62b084d88196ff938d3f189e0f7a84f89e7f034bd21f83a8afb0bc20ba979", - "key": "roborumble/cx.micro.Blur_0.2.jar", + "jar": "wiki.mako.MakoHT_1.2.2.1.jar", + "jar_sha256": "d12d277be65e4dee53384e8180b79f625fb63928fbcac55284fcf92c742f67b9", + "key": "roborumble/wiki.mako.MakoHT_1.2.2.1.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "PASS", "tank_royale": { - "elapsed": 4.2, - "error_count": 2, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"cx.micro.Blur$Wave.rateHit()\" because \"cx.micro.Blur.closestWave\" is null" + "bridge_only_signatures": null, + "elapsed": 18.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 4828.0, + "scores": [ + 2455.0, + 2373.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/cx.micro.Smoke_0.96.jar": { + "roborumble/wiki.mini.BlackDestroyer_0.9.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.micro.Smoke 0.96", + "classic_selected": "wiki.mini.BlackDestroyer 0.9.0", "division": "roborumble", - "jar": "cx.micro.Smoke_0.96.jar", - "jar_sha256": "b18be3e111d1cfd9ed54c431d010e60368d9bffcbb06e38ac2c9bbf6c8243814", - "key": "roborumble/cx.micro.Smoke_0.96.jar", + "jar": "wiki.mini.BlackDestroyer_0.9.0.jar", + "jar_sha256": "63601a27d8a88be2a227aa8152e75f7fb48b103b6792351696966d405c082a8e", + "key": "roborumble/wiki.mini.BlackDestroyer_0.9.0.jar", "kind": "robot" }, - "latest_observation": "d0ce3ae37d563131", + "latest_observation": "ddb597dc74556b13", "observations": [ { "classic": { - "elapsed": 3.4, + "elapsed": 2.9, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5888.0, + "score": 4928.0, "scores": [ - 2873.0, - 3015.0 + 2534.0, + 2394.0 ], - "selected": "cx.micro.Smoke 0.96" + "selected": "wiki.mini.BlackDestroyer 0.9.0" }, - "completed_at": "2026-09-08T21:34:41Z", - "delta_pct": -24.1, - "id": "d0ce3ae37d563131", + "completed_at": "2026-09-21T20:29:33Z", + "confirmation": null, + "delta_pct": -1.8, + "id": "ddb597dc74556b13", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54648,24 +194014,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.micro.Smoke 0.96", + "classic_selected": "wiki.mini.BlackDestroyer 0.9.0", "division": "roborumble", - "jar": "cx.micro.Smoke_0.96.jar", - "jar_sha256": "b18be3e111d1cfd9ed54c431d010e60368d9bffcbb06e38ac2c9bbf6c8243814", - "key": "roborumble/cx.micro.Smoke_0.96.jar", + "jar": "wiki.mini.BlackDestroyer_0.9.0.jar", + "jar_sha256": "63601a27d8a88be2a227aa8152e75f7fb48b103b6792351696966d405c082a8e", + "key": "roborumble/wiki.mini.BlackDestroyer_0.9.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4468.0, + "score": 4838.0, "scores": [ - 2295.0, - 2173.0 + 2659.0, + 2179.0 ], "skipped": null } @@ -54673,65 +194041,63 @@ ], "status": "PASS" }, - "roborumble/cx.micro.Spark_0.6.jar": { + "roborumble/wiki.mini.GouldingiHT_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.micro.Spark 0.6", + "classic_selected": "wiki.mini.GouldingiHT 1.0", "division": "roborumble", - "jar": "cx.micro.Spark_0.6.jar", - "jar_sha256": "dfcbbb2bb08ae6028e68178c3d9f80c0b1d0058ced7ab90bab2cade92f615d18", - "key": "roborumble/cx.micro.Spark_0.6.jar", + "jar": "wiki.mini.GouldingiHT_1.0.jar", + "jar_sha256": "695318faa4d0ee0f1c875eb3f85a07fde3acfaef54a1ddd2108393461ac671d8", + "key": "roborumble/wiki.mini.GouldingiHT_1.0.jar", "kind": "robot" }, - "latest_observation": "4a48d9ed154a3163", + "latest_observation": "60c5a099592b863c", "observations": [ { "classic": { - "elapsed": 4.2, + "elapsed": 2.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5050.0, + "score": 4881.0, "scores": [ - 2918.0, - 2132.0 + 3281.0, + 1600.0 ], - "selected": "cx.micro.Spark 0.6" + "selected": "wiki.mini.GouldingiHT 1.0" }, - "completed_at": "2026-09-08T21:35:01Z", - "delta_pct": 159.5, - "id": "4a48d9ed154a3163", + "completed_at": "2026-09-21T20:29:53Z", + "confirmation": null, + "delta_pct": -2.8, + "id": "60c5a099592b863c", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54739,90 +194105,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.micro.Spark 0.6", + "classic_selected": "wiki.mini.GouldingiHT 1.0", "division": "roborumble", - "jar": "cx.micro.Spark_0.6.jar", - "jar_sha256": "dfcbbb2bb08ae6028e68178c3d9f80c0b1d0058ced7ab90bab2cade92f615d18", - "key": "roborumble/cx.micro.Spark_0.6.jar", + "jar": "wiki.mini.GouldingiHT_1.0.jar", + "jar_sha256": "695318faa4d0ee0f1c875eb3f85a07fde3acfaef54a1ddd2108393461ac671d8", + "key": "roborumble/wiki.mini.GouldingiHT_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 13104.0, + "score": 4742.0, "scores": [ - 6600.0, - 6504.0 + 2376.0, + 2366.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/cx.mini.BlackSwans_0.60.jar": { + "roborumble/wiki.mini.Griffon_0.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.mini.BlackSwans 0.60", + "classic_selected": "wiki.mini.Griffon 0.1", "division": "roborumble", - "jar": "cx.mini.BlackSwans_0.60.jar", - "jar_sha256": "6b80464c7c11ce945f726455d0d9d91190460d7a8f8687115651daff9784159b", - "key": "roborumble/cx.mini.BlackSwans_0.60.jar", + "jar": "wiki.mini.Griffon_0.1.jar", + "jar_sha256": "835e68a4dbfb7a24ac61b7fd3d95c6af35d73b13f407ca6ed83a099f826ad5a9", + "key": "roborumble/wiki.mini.Griffon_0.1.jar", "kind": "robot" }, - "latest_observation": "6b425d3c251fa7bc", + "latest_observation": "e838a170fcf9ee5c", "observations": [ { "classic": { - "elapsed": 8.6, + "elapsed": 3.5, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5617.0, + "score": 4715.0, "scores": [ - 3157.0, - 2460.0 + 2234.0, + 2481.0 ], - "selected": "cx.mini.BlackSwans 0.60" + "selected": "wiki.mini.Griffon 0.1" }, - "completed_at": "2026-09-08T21:35:32Z", - "delta_pct": -5.1, - "id": "6b425d3c251fa7bc", + "completed_at": "2026-09-21T20:30:18Z", + "confirmation": null, + "delta_pct": 4.4, + "id": "e838a170fcf9ee5c", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54830,24 +194196,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.mini.BlackSwans 0.60", + "classic_selected": "wiki.mini.Griffon 0.1", "division": "roborumble", - "jar": "cx.mini.BlackSwans_0.60.jar", - "jar_sha256": "6b80464c7c11ce945f726455d0d9d91190460d7a8f8687115651daff9784159b", - "key": "roborumble/cx.mini.BlackSwans_0.60.jar", + "jar": "wiki.mini.Griffon_0.1.jar", + "jar_sha256": "835e68a4dbfb7a24ac61b7fd3d95c6af35d73b13f407ca6ed83a099f826ad5a9", + "key": "roborumble/wiki.mini.Griffon_0.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5331.0, + "score": 4921.0, "scores": [ - 2719.0, - 2612.0 + 2594.0, + 2327.0 ], "skipped": null } @@ -54855,65 +194223,63 @@ ], "status": "PASS" }, - "roborumble/cx.mini.Cigaret_1.31.jar": { + "roborumble/wiki.mini.Sedan_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.mini.Cigaret 1.31", + "classic_selected": "wiki.mini.Sedan 1.0", "division": "roborumble", - "jar": "cx.mini.Cigaret_1.31.jar", - "jar_sha256": "273c4194d1b9f0687173158276802ff3456ec8343de62e80d2674e0960715612", - "key": "roborumble/cx.mini.Cigaret_1.31.jar", + "jar": "wiki.mini.Sedan_1.0.jar", + "jar_sha256": "45eb6c92475712ba00d65d090d20cffa847be71eac9da2f0f0515218bed301d5", + "key": "roborumble/wiki.mini.Sedan_1.0.jar", "kind": "robot" }, - "latest_observation": "8547c53305c88bf5", + "latest_observation": "34c56f752963d190", "observations": [ { "classic": { - "elapsed": 10.2, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5220.0, + "score": 4816.0, "scores": [ - 2470.0, - 2750.0 + 2881.0, + 1935.0 ], - "selected": "cx.mini.Cigaret 1.31" + "selected": "wiki.mini.Sedan 1.0" }, - "completed_at": "2026-09-08T21:36:06Z", - "delta_pct": -4.7, - "id": "8547c53305c88bf5", + "completed_at": "2026-09-21T20:30:39Z", + "confirmation": null, + "delta_pct": -12.4, + "id": "34c56f752963d190", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -54921,24 +194287,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.mini.Cigaret 1.31", + "classic_selected": "wiki.mini.Sedan 1.0", "division": "roborumble", - "jar": "cx.mini.Cigaret_1.31.jar", - "jar_sha256": "273c4194d1b9f0687173158276802ff3456ec8343de62e80d2674e0960715612", - "key": "roborumble/cx.mini.Cigaret_1.31.jar", + "jar": "wiki.mini.Sedan_1.0.jar", + "jar_sha256": "45eb6c92475712ba00d65d090d20cffa847be71eac9da2f0f0515218bed301d5", + "key": "roborumble/wiki.mini.Sedan_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 24.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4974.0, + "score": 4217.0, "scores": [ - 2909.0, - 2065.0 + 2173.0, + 2044.0 ], "skipped": null } @@ -54946,65 +194314,63 @@ ], "status": "PASS" }, - "roborumble/cx.mini.Nimrod_0.55.jar": { + "roborumble/wiki.nano.DevilFISH_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.mini.Nimrod 0.55", + "classic_selected": "wiki.nano.DevilFISH 1.0", "division": "roborumble", - "jar": "cx.mini.Nimrod_0.55.jar", - "jar_sha256": "9ccc75f18f1ea296fefe441150fd552e546989e1e42af4abdc578f297564a321", - "key": "roborumble/cx.mini.Nimrod_0.55.jar", + "jar": "wiki.nano.DevilFISH_1.0.jar", + "jar_sha256": "95e7f7f71b57b242a9a8ab42417cdb1a5f2a61d2dea6d9a01a613e2b4798abe6", + "key": "roborumble/wiki.nano.DevilFISH_1.0.jar", "kind": "robot" }, - "latest_observation": "13e1779cf8e10822", + "latest_observation": "dbfca7e5defd5feb", "observations": [ { "classic": { - "elapsed": 6.0, + "elapsed": 2.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4854.0, + "score": 11828.0, "scores": [ - 2357.0, - 2497.0 + 5549.0, + 6279.0 ], - "selected": "cx.mini.Nimrod 0.55" + "selected": "wiki.nano.DevilFISH 1.0" }, - "completed_at": "2026-09-08T21:36:29Z", - "delta_pct": 130.2, - "id": "13e1779cf8e10822", + "completed_at": "2026-09-21T20:30:53Z", + "confirmation": null, + "delta_pct": -7.9, + "id": "dbfca7e5defd5feb", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55012,90 +194378,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.mini.Nimrod 0.55", + "classic_selected": "wiki.nano.DevilFISH 1.0", "division": "roborumble", - "jar": "cx.mini.Nimrod_0.55.jar", - "jar_sha256": "9ccc75f18f1ea296fefe441150fd552e546989e1e42af4abdc578f297564a321", - "key": "roborumble/cx.mini.Nimrod_0.55.jar", + "jar": "wiki.nano.DevilFISH_1.0.jar", + "jar_sha256": "95e7f7f71b57b242a9a8ab42417cdb1a5f2a61d2dea6d9a01a613e2b4798abe6", + "key": "roborumble/wiki.nano.DevilFISH_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 11172.0, + "score": 10892.0, "scores": [ - 5809.0, - 5363.0 + 5517.0, + 5375.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/cx.nano.Smog_2.6.jar": { + "roborumble/wiki.nano.RaikoNano_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cx.nano.Smog 2.6", + "classic_selected": "wiki.nano.RaikoNano 1.1", "division": "roborumble", - "jar": "cx.nano.Smog_2.6.jar", - "jar_sha256": "1bdea7a9d116c385e6d7dcd12014dc80270f619cf2b20046c5d85640aeda4bbf", - "key": "roborumble/cx.nano.Smog_2.6.jar", + "jar": "wiki.nano.RaikoNano_1.1.jar", + "jar_sha256": "73d0e6c0e82161d5bc24d7a0e3a3629e0b49efb2cd267be040b4a437ea2e17ee", + "key": "roborumble/wiki.nano.RaikoNano_1.1.jar", "kind": "robot" }, - "latest_observation": "c37a0d6ebee94fdf", + "latest_observation": "f9646d636f024672", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4138.0, + "score": 4800.0, "scores": [ - 1961.0, - 2177.0 + 2619.0, + 2181.0 ], - "selected": "cx.nano.Smog 2.6" + "selected": "wiki.nano.RaikoNano 1.1" }, - "completed_at": "2026-09-08T21:36:43Z", - "delta_pct": -27.5, - "id": "c37a0d6ebee94fdf", + "completed_at": "2026-09-21T20:31:18Z", + "confirmation": null, + "delta_pct": -9.0, + "id": "f9646d636f024672", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55103,90 +194469,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cx.nano.Smog 2.6", + "classic_selected": "wiki.nano.RaikoNano 1.1", "division": "roborumble", - "jar": "cx.nano.Smog_2.6.jar", - "jar_sha256": "1bdea7a9d116c385e6d7dcd12014dc80270f619cf2b20046c5d85640aeda4bbf", - "key": "roborumble/cx.nano.Smog_2.6.jar", + "jar": "wiki.nano.RaikoNano_1.1.jar", + "jar_sha256": "73d0e6c0e82161d5bc24d7a0e3a3629e0b49efb2cd267be040b4a437ea2e17ee", + "key": "roborumble/wiki.nano.RaikoNano_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 12.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2998.0, + "score": 4367.0, "scores": [ - 1829.0, - 1169.0 + 2820.0, + 1547.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/cyragia.Bot_1.1.jar": { + "roborumble/wilson.Chameleon_0.91.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "cyragia.Bot 1.1", + "classic_selected": "wilson.Chameleon 0.91", "division": "roborumble", - "jar": "cyragia.Bot_1.1.jar", - "jar_sha256": "a361becd83345726307c816da2247744cc4e94ddc2ce03b21ebee6d2957f93dc", - "key": "roborumble/cyragia.Bot_1.1.jar", + "jar": "wilson.Chameleon_0.91.jar", + "jar_sha256": "23cb1ef8ed9689d0e4182c55c6d603a8d85f0af2aeae4e9d370ae5adcc9493bb", + "key": "roborumble/wilson.Chameleon_0.91.jar", "kind": "robot" }, - "latest_observation": "962c336578cde35f", + "latest_observation": "91b838943f37afae", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 4.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 9172.0, + "score": 5007.0, "scores": [ - 4633.0, - 4539.0 + 2123.0, + 2884.0 ], - "selected": "cyragia.Bot 1.1" + "selected": "wilson.Chameleon 0.91" }, - "completed_at": "2026-09-08T21:37:29Z", - "delta_pct": -4.4, - "id": "962c336578cde35f", + "completed_at": "2026-09-21T20:32:57Z", + "confirmation": null, + "delta_pct": 53.4, + "id": "91b838943f37afae", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "1df82466546d6d80dd6044409a0aa56975335a90", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55194,90 +194560,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "cyragia.Bot 1.1", + "classic_selected": "wilson.Chameleon 0.91", "division": "roborumble", - "jar": "cyragia.Bot_1.1.jar", - "jar_sha256": "a361becd83345726307c816da2247744cc4e94ddc2ce03b21ebee6d2957f93dc", - "key": "roborumble/cyragia.Bot_1.1.jar", + "jar": "wilson.Chameleon_0.91.jar", + "jar_sha256": "23cb1ef8ed9689d0e4182c55c6d603a8d85f0af2aeae4e9d370ae5adcc9493bb", + "key": "roborumble/wilson.Chameleon_0.91.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8768.0, + "score": 7682.0, "scores": [ - 4547.0, - 4221.0 + 4753.0, + 2929.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/da.NewBGank_1.4.jar": { + "roborumble/winamp32.micro.MicroMacro_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "da.NewBGank 1.4", + "classic_selected": "winamp32.micro.MicroMacro 1.0", "division": "roborumble", - "jar": "da.NewBGank_1.4.jar", - "jar_sha256": "e47b2ea746b5bd9680b8dd884b82b822857acbd31071bbec0d7b1647c461b194", - "key": "roborumble/da.NewBGank_1.4.jar", + "jar": "winamp32.micro.MicroMacro_1.0.jar", + "jar_sha256": "3b022d1a10dce16f69a8a357b3bd632031a9d6b5b71ab7403a1361279802d727", + "key": "roborumble/winamp32.micro.MicroMacro_1.0.jar", "kind": "robot" }, - "latest_observation": "a25291b7dea73bfb", + "latest_observation": "859b669e24953d5f", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6054.0, + "score": 7277.0, "scores": [ - 2818.0, - 3236.0 + 3330.0, + 3947.0 ], - "selected": "da.NewBGank 1.4" + "selected": "winamp32.micro.MicroMacro 1.0" }, - "completed_at": "2026-09-08T21:37:53Z", - "delta_pct": -33.9, - "id": "a25291b7dea73bfb", + "completed_at": "2026-09-21T20:33:51Z", + "confirmation": null, + "delta_pct": -95.7, + "id": "859b669e24953d5f", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55285,24 +194651,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "da.NewBGank 1.4", + "classic_selected": "winamp32.micro.MicroMacro 1.0", "division": "roborumble", - "jar": "da.NewBGank_1.4.jar", - "jar_sha256": "e47b2ea746b5bd9680b8dd884b82b822857acbd31071bbec0d7b1647c461b194", - "key": "roborumble/da.NewBGank_1.4.jar", + "jar": "winamp32.micro.MicroMacro_1.0.jar", + "jar_sha256": "3b022d1a10dce16f69a8a357b3bd632031a9d6b5b71ab7403a1361279802d727", + "key": "roborumble/winamp32.micro.MicroMacro_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 32.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4001.0, + "score": 315.0, "scores": [ - 2324.0, - 1677.0 + 188.0, + 127.0 ], "skipped": null } @@ -55310,65 +194678,63 @@ ], "status": "score-review" }, - "roborumble/daemons.DizzyA_1.0.jar": { + "roborumble/wit.Chuliath_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "daemons.DizzyA 1.0", + "classic_selected": "wit.Chuliath 1.0", "division": "roborumble", - "jar": "daemons.DizzyA_1.0.jar", - "jar_sha256": "aeba11ca1cd50603c4b74166f04dea30238c77faead6f6830874571bea4091ad", - "key": "roborumble/daemons.DizzyA_1.0.jar", + "jar": "wit.Chuliath_1.0.jar", + "jar_sha256": "b8d6cf26ca6eaffdac021562c0bea09d617578182b73a81525bd6393589acbc9", + "key": "roborumble/wit.Chuliath_1.0.jar", "kind": "robot" }, - "latest_observation": "4fb778b08e7b30a5", + "latest_observation": "8de4ab4e3ebebf75", "observations": [ { "classic": { - "elapsed": 3.2, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12263.0, + "score": 6648.0, "scores": [ - 6121.0, - 6142.0 + 2963.0, + 3685.0 ], - "selected": "daemons.DizzyA 1.0" + "selected": "wit.Chuliath 1.0" }, - "completed_at": "2026-09-08T21:38:28Z", - "delta_pct": -75.5, - "id": "4fb778b08e7b30a5", + "completed_at": "2026-09-21T20:34:16Z", + "confirmation": null, + "delta_pct": -43.8, + "id": "8de4ab4e3ebebf75", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55376,24 +194742,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "daemons.DizzyA 1.0", + "classic_selected": "wit.Chuliath 1.0", "division": "roborumble", - "jar": "daemons.DizzyA_1.0.jar", - "jar_sha256": "aeba11ca1cd50603c4b74166f04dea30238c77faead6f6830874571bea4091ad", - "key": "roborumble/daemons.DizzyA_1.0.jar", + "jar": "wit.Chuliath_1.0.jar", + "jar_sha256": "b8d6cf26ca6eaffdac021562c0bea09d617578182b73a81525bd6393589acbc9", + "key": "roborumble/wit.Chuliath_1.0.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 32.0, + "bridge_only_signatures": null, + "elapsed": 22.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3000.0, + "score": 3738.0, "scores": [ - 1522.0, - 1478.0 + 1896.0, + 1842.0 ], "skipped": null } @@ -55401,90 +194769,63 @@ ], "status": "score-review" }, - "roborumble/dam.MogBot_2.9.jar": { + "roborumble/wit.Deep7_2.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "dam.MogBot 2.9", + "classic_selected": "wit.Deep7 2.0", "division": "roborumble", - "jar": "dam.MogBot_2.9.jar", - "jar_sha256": "7afc716ca13e8918c6f19d5d04fb4119a1f8ce825cc44f873e48329233edc646", - "key": "roborumble/dam.MogBot_2.9.jar", + "jar": "wit.Deep7_2.0.jar", + "jar_sha256": "2c89b187553b10bf90195db59977391accccb245e62b50dafc45ba3d1c650c14", + "key": "roborumble/wit.Deep7_2.0.jar", "kind": "robot" }, - "latest_observation": "d949ac75405a14c5", + "latest_observation": "882dce9bf917da9c", "observations": [ { "classic": { - "elapsed": 22.9, - "error_count": 24, - "errors": [ - "java.io.StreamCorruptedException: invalid type code: 00", - "java.io.StreamCorruptedException: invalid type code: BF", - "java.io.StreamCorruptedException: invalid type code: 4C", - "java.io.StreamCorruptedException: invalid type code: 6E", - "java.io.UTFDataFormatException", - "java.io.StreamCorruptedException: invalid type code: 00", - "java.io.StreamCorruptedException: invalid type code: BF", - "java.io.StreamCorruptedException: invalid type code: 80", - "java.io.StreamCorruptedException: invalid handle value: 007E0270", - "java.io.StreamCorruptedException: invalid type code: 00", - "java.io.StreamCorruptedException: invalid type code: 00", - "java.io.InvalidClassException: dam.util.GridPoint; enum descriptor has non-zero serialVersionUID: 4446615568564813939", - "java.io.StreamCorruptedException: invalid type code: 00", - "java.io.StreamCorruptedException: invalid type code: BF", - "java.io.StreamCorruptedException: invalid type code: 4C", - "java.io.StreamCorruptedException: invalid type code: 6E", - "java.io.UTFDataFormatException", - "java.io.StreamCorruptedException: invalid type code: 00", - "java.io.StreamCorruptedException: invalid type code: BF", - "java.io.StreamCorruptedException: invalid type code: 80", - "java.io.StreamCorruptedException: invalid handle value: 007E0270", - "java.io.StreamCorruptedException: invalid type code: 00", - "java.io.StreamCorruptedException: invalid type code: 00", - "java.io.InvalidClassException: dam.util.GridPoint; enum descriptor has non-zero serialVersionUID: 4446615568564813939" - ], - "has_log": true, + "elapsed": 4.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 6025.0, + "score": 6708.0, "scores": [ - 3381.0, - 2644.0 + 3758.0, + 2950.0 ], - "selected": "dam.MogBot 2.9" + "selected": "wit.Deep7 2.0" }, - "completed_at": "2026-09-08T21:39:18Z", - "delta_pct": null, - "id": "d949ac75405a14c5", + "completed_at": "2026-09-21T20:34:57Z", + "confirmation": null, + "delta_pct": -22.5, + "id": "882dce9bf917da9c", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55492,91 +194833,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "dam.MogBot 2.9", + "classic_selected": "wit.Deep7 2.0", "division": "roborumble", - "jar": "dam.MogBot_2.9.jar", - "jar_sha256": "7afc716ca13e8918c6f19d5d04fb4119a1f8ce825cc44f873e48329233edc646", - "key": "roborumble/dam.MogBot_2.9.jar", + "jar": "wit.Deep7_2.0.jar", + "jar_sha256": "2c89b187553b10bf90195db59977391accccb245e62b50dafc45ba3d1c650c14", + "key": "roborumble/wit.Deep7_2.0.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "PASS", "tank_royale": { - "elapsed": 6.2, - "error_count": 3, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.io.EOFException: Unexpected end of ZLIB input stream", - "java.io.EOFException: Unexpected end of ZLIB input stream" + "bridge_only_signatures": null, + "elapsed": 36.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 5200.0, + "scores": [ + 2614.0, + 2586.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/dans.Cinnamon_1.2.jar": { + "roborumble/wompi.Kowari_1.6.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "dans.Cinnamon 1.2", + "classic_selected": "wompi.Kowari 1.6", "division": "roborumble", - "jar": "dans.Cinnamon_1.2.jar", - "jar_sha256": "cb352fa2412994d4160c5161124036464a48cc73b1725178a7ee048609c8b7da", - "key": "roborumble/dans.Cinnamon_1.2.jar", + "jar": "wompi.Kowari_1.6.jar", + "jar_sha256": "5453968848c1c68c35d7d66b37ed9cfcd30a10bafe856fbf0a22490b76d887d0", + "key": "roborumble/wompi.Kowari_1.6.jar", "kind": "robot" }, - "latest_observation": "4396cf2704a52d50", + "latest_observation": "aee185f8772f9bc8", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8750.0, + "score": 10443.0, "scores": [ - 4450.0, - 4300.0 + 5297.0, + 5146.0 ], - "selected": "dans.Cinnamon 1.2" + "selected": "wompi.Kowari 1.6" }, - "completed_at": "2026-09-08T21:39:31Z", - "delta_pct": -51.1, - "id": "4396cf2704a52d50", + "completed_at": "2026-09-21T20:35:13Z", + "confirmation": null, + "delta_pct": 39.4, + "id": "aee185f8772f9bc8", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55584,24 +194924,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "dans.Cinnamon 1.2", + "classic_selected": "wompi.Kowari 1.6", "division": "roborumble", - "jar": "dans.Cinnamon_1.2.jar", - "jar_sha256": "cb352fa2412994d4160c5161124036464a48cc73b1725178a7ee048609c8b7da", - "key": "roborumble/dans.Cinnamon_1.2.jar", + "jar": "wompi.Kowari_1.6.jar", + "jar_sha256": "5453968848c1c68c35d7d66b37ed9cfcd30a10bafe856fbf0a22490b76d887d0", + "key": "roborumble/wompi.Kowari_1.6.jar", "kind": "robot" }, "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 10.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4281.0, + "score": 14561.0, "scores": [ - 2197.0, - 2084.0 + 7567.0, + 6994.0 ], "skipped": null } @@ -55609,65 +194951,63 @@ ], "status": "score-review" }, - "roborumble/darkcanuck.Gaff_1.50.jar": { + "roborumble/wompi.Numbat_1.9.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "darkcanuck.Gaff 1.50", + "classic_selected": "wompi.Numbat 1.9", "division": "roborumble", - "jar": "darkcanuck.Gaff_1.50.jar", - "jar_sha256": "64aeb84310e8951dfd7d3cd0bac948d5276e5da63f1fee4cb33419beca244ba8", - "key": "roborumble/darkcanuck.Gaff_1.50.jar", + "jar": "wompi.Numbat_1.9.jar", + "jar_sha256": "2984d699cbef11b637fb9eff0e5158161d200a89a3f10a426abacbc4db3a2902", + "key": "roborumble/wompi.Numbat_1.9.jar", "kind": "robot" }, - "latest_observation": "970cb17042cd15f3", + "latest_observation": "48f1b34993000752", "observations": [ { "classic": { - "elapsed": 11.6, + "elapsed": 5.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7402.0, + "score": 5502.0, "scores": [ - 4126.0, - 3276.0 + 2685.0, + 2817.0 ], - "selected": "darkcanuck.Gaff 1.50" + "selected": "wompi.Numbat 1.9" }, - "completed_at": "2026-09-08T21:39:48Z", + "completed_at": "2026-09-21T20:35:23Z", + "confirmation": null, "delta_pct": null, - "id": "970cb17042cd15f3", + "id": "48f1b34993000752", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55675,21 +195015,33 @@ "width": 800 }, "source_identity": { - "classic_selected": "darkcanuck.Gaff 1.50", + "classic_selected": "wompi.Numbat 1.9", "division": "roborumble", - "jar": "darkcanuck.Gaff_1.50.jar", - "jar_sha256": "64aeb84310e8951dfd7d3cd0bac948d5276e5da63f1fee4cb33419beca244ba8", - "key": "roborumble/darkcanuck.Gaff_1.50.jar", + "jar": "wompi.Numbat_1.9.jar", + "jar_sha256": "2984d699cbef11b637fb9eff0e5158161d200a89a3f10a426abacbc4db3a2902", + "key": "roborumble/wompi.Numbat_1.9.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 4.2, + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "wompi.numbat.radar.NumbatRadarSingle.checkActivateRule" + ] + ], + "elapsed": 4.1, "error_count": 3, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "wompi.numbat.radar.NumbatRadarSingle.checkActivateRule" + } + ], "errors": [ "HARNESS: worker produced no result (exit code -1)", - "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Gaff_1.50\\Gaff.data\\Gaff.properties (Den angivne fil blev ikke fundet)", - "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Gaff_1.50-2\\Gaff.data\\Gaff.properties (Den angivne fil blev ikke fundet)" + "java.lang.NullPointerException: Cannot invoke \"robocode.RobotStatus.getOthers()\" because \"status\" is null", + "java.lang.NullPointerException: Cannot invoke \"robocode.RobotStatus.getOthers()\" because \"status\" is null" ], "has_log": true, "ok": false, @@ -55699,67 +195051,175 @@ } } ], - "status": "FAIL (TR)" + "status": "DISCREPANCY (outcome)" }, - "roborumble/darkcanuck.Holden_1.13a.jar": { + "roborumble/xiongan.Xiongan_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "darkcanuck.Holden 1.13a", + "classic_selected": "xiongan.Xiongan 1.1", "division": "roborumble", - "jar": "darkcanuck.Holden_1.13a.jar", - "jar_sha256": "45996fda61b8ca3d0b807d791c79d2bd4dbff3043083bc99041d43ec01c40625", - "key": "roborumble/darkcanuck.Holden_1.13a.jar", + "jar": "xiongan.Xiongan_1.1.jar", + "jar_sha256": "10cea8b0d42aa3305b81cb8369b8e55ca2e04eb44def08c09a16cf88353aa276", + "key": "roborumble/xiongan.Xiongan_1.1.jar", "kind": "robot" }, - "latest_observation": "3e764de13ff9996b", + "latest_observation": "24644411e022565b", "observations": [ { "classic": { - "elapsed": 17.8, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 3.3, + "error_count": 72, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "xiongan.Pace.read" + }, + { + "exception": "java.io.FileNotFoundException", + "origin": "xiongan.Population.read" + }, + { + "exception": "java.io.FileNotFoundException", + "origin": "xiongan.Xiongan.loadSettings" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "unknown" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "xiongan.Pace.read" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "xiongan.Xiongan.loadSettings" + }, + { + "exception": "java.lang.NumberFormatException", + "origin": "xiongan.Pace.read" + }, + { + "exception": "robocode.exception.RobotException", + "origin": "xiongan.Pace.read" + }, + { + "exception": "robocode.exception.RobotException", + "origin": "xiongan.Xiongan.moveTo" + } + ], + "errors": [ + "Unable to stop thread: xiongan.Xiongan 1.1 (1)", + "Unable to stop thread: xiongan.Xiongan 1.1 (2)", + "Unable to stop thread: xiongan.Xiongan 1.1 (2)", + "java.lang.NumberFormatException: For input string: \"false\"", + "java.lang.NumberFormatException: For input string: \"false\"", + "java.lang.NumberFormatException: For input string: \"false\"", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\xiongan\\Xiongan.data\\xiongan.properties (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\rc-robots\\.data\\xiongan\\Xiongan.data\\move.dat (Den angivne fil blev ikke fundet)", + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null", + "robocode.exception.RobotException: You cannot take action in this thread!", + "java.lang.NumberFormatException: For input string: \"false\"", + "robocode.exception.RobotException: You cannot take action in this thread!", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException", + "java.lang.NullPointerException" + ], + "has_log": true, "ok": true, - "score": 5920.0, + "score": 997.0, "scores": [ - 3086.0, - 2834.0 + 529.0, + 468.0 ], - "selected": "darkcanuck.Holden 1.13a" + "selected": "xiongan.Xiongan 1.1" }, - "completed_at": "2026-09-08T21:40:10Z", + "completed_at": "2026-09-21T20:35:31Z", + "confirmation": null, "delta_pct": null, - "id": "3e764de13ff9996b", + "id": "24644411e022565b", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55767,21 +195227,54 @@ "width": 800 }, "source_identity": { - "classic_selected": "darkcanuck.Holden 1.13a", + "classic_selected": "xiongan.Xiongan 1.1", "division": "roborumble", - "jar": "darkcanuck.Holden_1.13a.jar", - "jar_sha256": "45996fda61b8ca3d0b807d791c79d2bd4dbff3043083bc99041d43ec01c40625", - "key": "roborumble/darkcanuck.Holden_1.13a.jar", + "jar": "xiongan.Xiongan_1.1.jar", + "jar_sha256": "10cea8b0d42aa3305b81cb8369b8e55ca2e04eb44def08c09a16cf88353aa276", + "key": "roborumble/xiongan.Xiongan_1.1.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "DISCREPANCY (outcome)", "tank_royale": { - "elapsed": 4.2, - "error_count": 3, + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "xiongan.Xiongan.onHitByBullet" + ] + ], + "elapsed": 4.1, + "error_count": 8, + "error_signatures": [ + { + "exception": "java.io.FileNotFoundException", + "origin": "xiongan.Population.read" + }, + { + "exception": "java.io.FileNotFoundException", + "origin": "xiongan.Xiongan.loadSettings" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "xiongan.Pace.read" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "xiongan.Xiongan.loadSettings" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "xiongan.Xiongan.onHitByBullet" + } + ], "errors": [ "HARNESS: worker produced no result (exit code -1)", - "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Holden_1.13a\\Holden.data\\Holden.properties (Den angivne fil blev ikke fundet)", - "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Holden_1.13a-2\\Holden.data\\Holden.properties (Den angivne fil blev ikke fundet)" + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\xiongan.Xiongan_1.1\\Xiongan.data\\xiongan.properties (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\xiongan.Xiongan_1.1\\Xiongan.data\\move.dat (Den angivne fil blev ikke fundet)", + "java.lang.NullPointerException: Cannot read field \"hpLost\" because \"this.curGene\" is null", + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\xiongan.Xiongan_1.1-2\\Xiongan.data\\xiongan.properties (Den angivne fil blev ikke fundet)", + "java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\xiongan.Xiongan_1.1-2\\Xiongan.data\\move.dat (Den angivne fil blev ikke fundet)", + "java.lang.NullPointerException: Cannot invoke \"String.trim()\" because \"in\" is null" ], "has_log": true, "ok": false, @@ -55791,67 +195284,65 @@ } } ], - "status": "FAIL (TR)" + "status": "DISCREPANCY (outcome)" }, - "roborumble/darkcanuck.Pris_0.92.jar": { + "roborumble/yabot.YaBot_0.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "darkcanuck.Pris 0.92", + "classic_selected": "yabot.YaBot 0.1", "division": "roborumble", - "jar": "darkcanuck.Pris_0.92.jar", - "jar_sha256": "d545a4a58eff55fc4c24ea47ed12143c7208104ff223940017632c2b8742fdb9", - "key": "roborumble/darkcanuck.Pris_0.92.jar", + "jar": "yabot.YaBot_0.1.jar", + "jar_sha256": "cd65a4e2133e033eced9358b5c3efc4f09198630cd3f8b53a759259b6722214c", + "key": "roborumble/yabot.YaBot_0.1.jar", "kind": "robot" }, - "latest_observation": "a1c846f8e60831ac", + "latest_observation": "4dd28cfef1345daa", "observations": [ { "classic": { - "elapsed": 14.6, + "elapsed": 3.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5105.0, + "score": 10385.0, "scores": [ - 2805.0, - 2300.0 + 4597.0, + 5788.0 ], - "selected": "darkcanuck.Pris 0.92" + "selected": "yabot.YaBot 0.1" }, - "completed_at": "2026-09-08T21:40:29Z", - "delta_pct": null, - "id": "a1c846f8e60831ac", + "completed_at": "2026-09-21T20:36:05Z", + "confirmation": null, + "delta_pct": -13.9, + "id": "4dd28cfef1345daa", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55859,91 +195350,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "darkcanuck.Pris 0.92", + "classic_selected": "yabot.YaBot 0.1", "division": "roborumble", - "jar": "darkcanuck.Pris_0.92.jar", - "jar_sha256": "d545a4a58eff55fc4c24ea47ed12143c7208104ff223940017632c2b8742fdb9", - "key": "roborumble/darkcanuck.Pris_0.92.jar", + "jar": "yabot.YaBot_0.1.jar", + "jar_sha256": "cd65a4e2133e033eced9358b5c3efc4f09198630cd3f8b53a759259b6722214c", + "key": "roborumble/yabot.YaBot_0.1.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "PASS", "tank_royale": { - "elapsed": 4.2, - "error_count": 3, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Pris_0.92\\Pris.data\\Pris.properties (Den angivne fil blev ikke fundet)", - "IOException trying to read: java.io.FileNotFoundException: C:\\Code\\robocode-api-bridge\\compat-test\\work\\tr-bots\\darkcanuck.Pris_0.92-2\\Pris.data\\Pris.properties (Den angivne fil blev ikke fundet)" + "bridge_only_signatures": null, + "elapsed": 30.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 8939.0, + "scores": [ + 4879.0, + 4060.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/davidalves.Firebird_0.25.jar": { + "roborumble/yagami.Tidus_0.11.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "davidalves.Firebird 0.25", + "classic_selected": "yagami.Tidus 0.11", "division": "roborumble", - "jar": "davidalves.Firebird_0.25.jar", - "jar_sha256": "ecf5e584ad4d70023baacc9bd4b2ce6c65520675c91f542e21951e20be1243c9", - "key": "roborumble/davidalves.Firebird_0.25.jar", + "jar": "yagami.Tidus_0.11.jar", + "jar_sha256": "d8bafdd7f741a8631b7d15ab3e3ca089b05feb23a17129ef0bbe2d83a1ff90fb", + "key": "roborumble/yagami.Tidus_0.11.jar", "kind": "robot" }, - "latest_observation": "fae39438b7bb4d8a", + "latest_observation": "0885ba495b5a215b", "observations": [ { "classic": { - "elapsed": 11.5, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5111.0, + "score": 3812.0, "scores": [ - 2614.0, - 2497.0 + 1763.0, + 2049.0 ], - "selected": "davidalves.Firebird 0.25" + "selected": "yagami.Tidus 0.11" }, - "completed_at": "2026-09-08T21:41:01Z", - "delta_pct": 16.1, - "id": "fae39438b7bb4d8a", + "completed_at": "2026-09-21T20:36:24Z", + "confirmation": null, + "delta_pct": -32.3, + "id": "0885ba495b5a215b", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -55951,90 +195441,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "davidalves.Firebird 0.25", + "classic_selected": "yagami.Tidus 0.11", "division": "roborumble", - "jar": "davidalves.Firebird_0.25.jar", - "jar_sha256": "ecf5e584ad4d70023baacc9bd4b2ce6c65520675c91f542e21951e20be1243c9", - "key": "roborumble/davidalves.Firebird_0.25.jar", + "jar": "yagami.Tidus_0.11.jar", + "jar_sha256": "d8bafdd7f741a8631b7d15ab3e3ca089b05feb23a17129ef0bbe2d83a1ff90fb", + "key": "roborumble/yagami.Tidus_0.11.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 20.1, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5933.0, + "score": 2582.0, "scores": [ - 3115.0, - 2818.0 + 1304.0, + 1278.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/davidalves.PhoenixOS_1.1.jar": { + "roborumble/yarghard.Y101_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "davidalves.PhoenixOS 1.1", + "classic_selected": "yarghard.Y101 1.0", "division": "roborumble", - "jar": "davidalves.PhoenixOS_1.1.jar", - "jar_sha256": "fb4b5b7b628d818780a81818b30de9ae2cf10f54e66f6fbe6111dbb62b38a4c8", - "key": "roborumble/davidalves.PhoenixOS_1.1.jar", + "jar": "yarghard.Y101_1.0.jar", + "jar_sha256": "6d9ccdceaee457a0ff99553c54a01e6608d9af3d04841ec53e1786f00880b17c", + "key": "roborumble/yarghard.Y101_1.0.jar", "kind": "robot" }, - "latest_observation": "8f13036b4836dcbf", + "latest_observation": "ec491d81b2bc43a0", "observations": [ { "classic": { - "elapsed": 3.9, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4825.0, + "score": 8419.0, "scores": [ - 2716.0, - 2109.0 + 4018.0, + 4401.0 ], - "selected": "davidalves.PhoenixOS 1.1" + "selected": "yarghard.Y101 1.0" }, - "completed_at": "2026-09-08T21:43:17Z", - "delta_pct": null, - "id": "8f13036b4836dcbf", + "completed_at": "2026-09-21T20:36:39Z", + "confirmation": null, + "delta_pct": -17.3, + "id": "ec491d81b2bc43a0", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56042,91 +195532,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "davidalves.PhoenixOS 1.1", + "classic_selected": "yarghard.Y101 1.0", "division": "roborumble", - "jar": "davidalves.PhoenixOS_1.1.jar", - "jar_sha256": "fb4b5b7b628d818780a81818b30de9ae2cf10f54e66f6fbe6111dbb62b38a4c8", - "key": "roborumble/davidalves.PhoenixOS_1.1.jar", + "jar": "yarghard.Y101_1.0.jar", + "jar_sha256": "6d9ccdceaee457a0ff99553c54a01e6608d9af3d04841ec53e1786f00880b17c", + "key": "roborumble/yarghard.Y101_1.0.jar", "kind": "robot" }, - "status": "FAIL (TR)", + "status": "PASS", "tank_royale": { - "elapsed": 4.2, - "error_count": 3, - "errors": [ - "HARNESS: worker produced no result (exit code -1)", - "java.lang.NullPointerException: Cannot invoke \"davidalves.net.gun.GuessFactorGun.miss()\" because \"gun\" is null", - "java.lang.NullPointerException: Cannot invoke \"davidalves.net.gun.GuessFactorGun.miss()\" because \"gun\" is null" + "bridge_only_signatures": null, + "elapsed": 12.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 6959.0, + "scores": [ + 3682.0, + 3277.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "FAIL (TR)" + "status": "PASS" }, - "roborumble/davidalves.Phoenix_1.02.jar": { + "roborumble/yarhoslav.YaroBot_1.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "davidalves.Phoenix 1.02", + "classic_selected": "yarhoslav.YaroBot 1.2", "division": "roborumble", - "jar": "davidalves.Phoenix_1.02.jar", - "jar_sha256": "89b46a3c5cd14c05e6ec5f59ab189852178cd2d774313ac2e0a2b3971ec0fb37", - "key": "roborumble/davidalves.Phoenix_1.02.jar", + "jar": "yarhoslav.YaroBot_1.2.jar", + "jar_sha256": "7653b5f89fedba4b1b62a9a578840d24bcd09655ecb34a93eef5440804eef945", + "key": "roborumble/yarhoslav.YaroBot_1.2.jar", "kind": "robot" }, - "latest_observation": "8abd22893c0c806b", + "latest_observation": "7f93bbeaa0bc6d18", "observations": [ { "classic": { - "elapsed": 6.9, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4975.0, + "score": 7382.0, "scores": [ - 2556.0, - 2419.0 + 3481.0, + 3901.0 ], - "selected": "davidalves.Phoenix 1.02" + "selected": "yarhoslav.YaroBot 1.2" }, - "completed_at": "2026-09-08T21:43:08Z", - "delta_pct": 11.5, - "id": "8abd22893c0c806b", + "completed_at": "2026-09-21T20:37:07Z", + "confirmation": null, + "delta_pct": 4.3, + "id": "7f93bbeaa0bc6d18", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56134,24 +195623,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "davidalves.Phoenix 1.02", + "classic_selected": "yarhoslav.YaroBot 1.2", "division": "roborumble", - "jar": "davidalves.Phoenix_1.02.jar", - "jar_sha256": "89b46a3c5cd14c05e6ec5f59ab189852178cd2d774313ac2e0a2b3971ec0fb37", - "key": "roborumble/davidalves.Phoenix_1.02.jar", + "jar": "yarhoslav.YaroBot_1.2.jar", + "jar_sha256": "7653b5f89fedba4b1b62a9a578840d24bcd09655ecb34a93eef5440804eef945", + "key": "roborumble/yarhoslav.YaroBot_1.2.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 24.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5546.0, + "score": 7703.0, "scores": [ - 3453.0, - 2093.0 + 3917.0, + 3786.0 ], "skipped": null } @@ -56159,65 +195650,63 @@ ], "status": "PASS" }, - "roborumble/davidalves.net.DuelistMicroMkII_1.1.jar": { + "roborumble/yk.JahMicro_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "davidalves.net.DuelistMicroMkII 1.1", + "classic_selected": "yk.JahMicro 1.0", "division": "roborumble", - "jar": "davidalves.net.DuelistMicroMkII_1.1.jar", - "jar_sha256": "0d3e784acde7d8156090280241668a002f890ee6d5d7fe6dadc971787f67b15e", - "key": "roborumble/davidalves.net.DuelistMicroMkII_1.1.jar", + "jar": "yk.JahMicro_1.0.jar", + "jar_sha256": "a317fd01c10fce52bad0694434ccba241aceec1bdbf4ee8125940e4feec0baee", + "key": "roborumble/yk.JahMicro_1.0.jar", "kind": "robot" }, - "latest_observation": "34cf1f962dcb1bcd", + "latest_observation": "44e11069bf6dccee", "observations": [ { "classic": { - "elapsed": 3.1, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5188.0, + "score": 6082.0, "scores": [ - 2539.0, - 2649.0 + 2890.0, + 3192.0 ], - "selected": "davidalves.net.DuelistMicroMkII 1.1" + "selected": "yk.JahMicro 1.0" }, - "completed_at": "2026-09-08T21:41:58Z", - "delta_pct": 138.5, - "id": "34cf1f962dcb1bcd", + "completed_at": "2026-09-21T20:37:30Z", + "confirmation": null, + "delta_pct": 0.6, + "id": "44e11069bf6dccee", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56225,90 +195714,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "davidalves.net.DuelistMicroMkII 1.1", + "classic_selected": "yk.JahMicro 1.0", "division": "roborumble", - "jar": "davidalves.net.DuelistMicroMkII_1.1.jar", - "jar_sha256": "0d3e784acde7d8156090280241668a002f890ee6d5d7fe6dadc971787f67b15e", - "key": "roborumble/davidalves.net.DuelistMicroMkII_1.1.jar", + "jar": "yk.JahMicro_1.0.jar", + "jar_sha256": "a317fd01c10fce52bad0694434ccba241aceec1bdbf4ee8125940e4feec0baee", + "key": "roborumble/yk.JahMicro_1.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 12373.0, + "score": 6121.0, "scores": [ - 6464.0, - 5909.0 + 3822.0, + 2299.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/davidalves.net.DuelistMicro_1.22.jar": { + "roborumble/yk.JahRoslav_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "davidalves.net.DuelistMicro 1.22", + "classic_selected": "yk.JahRoslav 1.1", "division": "roborumble", - "jar": "davidalves.net.DuelistMicro_1.22.jar", - "jar_sha256": "e51b32ab504ef17c0bcd47bb7953ccdd07f7e050b0fa1a3478e63281eaa0fe2a", - "key": "roborumble/davidalves.net.DuelistMicro_1.22.jar", + "jar": "yk.JahRoslav_1.1.jar", + "jar_sha256": "2d07c52f9a6a71c8876ee655a3d5c64e3124818bbacc0ba5df93adf5c8ec3ab6", + "key": "roborumble/yk.JahRoslav_1.1.jar", "kind": "robot" }, - "latest_observation": "4d34a6e0b2152b18", + "latest_observation": "574837370acf9d5f", "observations": [ { "classic": { - "elapsed": 3.2, + "elapsed": 4.8, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5170.0, + "score": 6072.0, "scores": [ - 2389.0, - 2781.0 + 2930.0, + 3142.0 ], - "selected": "davidalves.net.DuelistMicro 1.22" + "selected": "yk.JahRoslav 1.1" }, - "completed_at": "2026-09-08T21:41:40Z", - "delta_pct": 69.6, - "id": "4d34a6e0b2152b18", + "completed_at": "2026-09-21T20:37:51Z", + "confirmation": null, + "delta_pct": 0.3, + "id": "574837370acf9d5f", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56316,90 +195805,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "davidalves.net.DuelistMicro 1.22", + "classic_selected": "yk.JahRoslav 1.1", "division": "roborumble", - "jar": "davidalves.net.DuelistMicro_1.22.jar", - "jar_sha256": "e51b32ab504ef17c0bcd47bb7953ccdd07f7e050b0fa1a3478e63281eaa0fe2a", - "key": "roborumble/davidalves.net.DuelistMicro_1.22.jar", + "jar": "yk.JahRoslav_1.1.jar", + "jar_sha256": "2d07c52f9a6a71c8876ee655a3d5c64e3124818bbacc0ba5df93adf5c8ec3ab6", + "key": "roborumble/yk.JahRoslav_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 12.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8770.0, + "score": 6089.0, "scores": [ - 4535.0, - 4235.0 + 3056.0, + 3033.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/davidalves.net.DuelistMini_1.1.jar": { + "roborumble/zch.David_0.21.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "davidalves.net.DuelistMini 1.1", + "classic_selected": "zch.David 0.21", "division": "roborumble", - "jar": "davidalves.net.DuelistMini_1.1.jar", - "jar_sha256": "9b2ccfee8ff26f622417b82fbe3634e7ff0b3c6693e5fcdd0f534f9a071d86b5", - "key": "roborumble/davidalves.net.DuelistMini_1.1.jar", + "jar": "zch.David_0.21.jar", + "jar_sha256": "cbc777a6fb28c723e368fb29ba4586dac54382c51e16b0013f203d96d9d1e91e", + "key": "roborumble/zch.David_0.21.jar", "kind": "robot" }, - "latest_observation": "6fb819cdb10fc868", + "latest_observation": "563246013f486f2a", "observations": [ { "classic": { - "elapsed": 3.4, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4765.0, + "score": 8680.0, "scores": [ - 2860.0, - 1905.0 + 3931.0, + 4749.0 ], - "selected": "davidalves.net.DuelistMini 1.1" + "selected": "zch.David 0.21" }, - "completed_at": "2026-09-08T21:42:20Z", - "delta_pct": -10.0, - "id": "6fb819cdb10fc868", + "completed_at": "2026-09-21T20:38:10Z", + "confirmation": null, + "delta_pct": 14.7, + "id": "563246013f486f2a", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56407,24 +195896,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "davidalves.net.DuelistMini 1.1", + "classic_selected": "zch.David 0.21", "division": "roborumble", - "jar": "davidalves.net.DuelistMini_1.1.jar", - "jar_sha256": "9b2ccfee8ff26f622417b82fbe3634e7ff0b3c6693e5fcdd0f534f9a071d86b5", - "key": "roborumble/davidalves.net.DuelistMini_1.1.jar", + "jar": "zch.David_0.21.jar", + "jar_sha256": "cbc777a6fb28c723e368fb29ba4586dac54382c51e16b0013f203d96d9d1e91e", + "key": "roborumble/zch.David_0.21.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 18.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4290.0, + "score": 9953.0, "scores": [ - 2273.0, - 2017.0 + 5115.0, + 4838.0 ], "skipped": null } @@ -56432,65 +195923,63 @@ ], "status": "PASS" }, - "roborumble/davidalves.net.DuelistNano_1.0.jar": { + "roborumble/zch.Hirkan_0.11.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "davidalves.net.DuelistNano 1.0", + "classic_selected": "zch.Hirkan 0.11", "division": "roborumble", - "jar": "davidalves.net.DuelistNano_1.0.jar", - "jar_sha256": "024b50bf85f17fa136ca87ba615701dd46473d8ef299c49794001271a9aa848e", - "key": "roborumble/davidalves.net.DuelistNano_1.0.jar", + "jar": "zch.Hirkan_0.11.jar", + "jar_sha256": "b49d6a826790ea4dae938027d8be4f99e575966fb49d65a3021692839688da6a", + "key": "roborumble/zch.Hirkan_0.11.jar", "kind": "robot" }, - "latest_observation": "eeb33d1a7dbabc53", + "latest_observation": "f47396d4d769ab19", "observations": [ { "classic": { - "elapsed": 2.7, + "elapsed": 2.6, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4314.0, + "score": 4798.0, "scores": [ - 2288.0, - 2026.0 - ], - "selected": "davidalves.net.DuelistNano 1.0" - }, - "completed_at": "2026-09-08T21:42:41Z", - "delta_pct": 4.2, - "id": "eeb33d1a7dbabc53", + 2166.0, + 2632.0 + ], + "selected": "zch.Hirkan 0.11" + }, + "completed_at": "2026-09-21T20:38:31Z", + "confirmation": null, + "delta_pct": 19.4, + "id": "f47396d4d769ab19", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56498,24 +195987,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "davidalves.net.DuelistNano 1.0", + "classic_selected": "zch.Hirkan 0.11", "division": "roborumble", - "jar": "davidalves.net.DuelistNano_1.0.jar", - "jar_sha256": "024b50bf85f17fa136ca87ba615701dd46473d8ef299c49794001271a9aa848e", - "key": "roborumble/davidalves.net.DuelistNano_1.0.jar", + "jar": "zch.Hirkan_0.11.jar", + "jar_sha256": "b49d6a826790ea4dae938027d8be4f99e575966fb49d65a3021692839688da6a", + "key": "roborumble/zch.Hirkan_0.11.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { + "bridge_only_signatures": null, "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4495.0, + "score": 5727.0, "scores": [ - 2293.0, - 2202.0 + 3495.0, + 2232.0 ], "skipped": null } @@ -56523,65 +196014,63 @@ ], "status": "PASS" }, - "roborumble/davidalves.net.Duelist_0.1.6src.jar": { + "roborumble/zen.Lindada_0.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "davidalves.net.Duelist 0.1.6src", + "classic_selected": "zen.Lindada 0.2", "division": "roborumble", - "jar": "davidalves.net.Duelist_0.1.6src.jar", - "jar_sha256": "85c0efdc1a1c9e91b1d35ab906e794c255165f961ce6ad5271a564686ae623ae", - "key": "roborumble/davidalves.net.Duelist_0.1.6src.jar", + "jar": "zen.Lindada_0.2.jar", + "jar_sha256": "b3a7cea0b6c3aaab3a48c2763135580492f7802f6ff49914985e0945501ed3f8", + "key": "roborumble/zen.Lindada_0.2.jar", "kind": "robot" }, - "latest_observation": "da9c6f4187b20af6", + "latest_observation": "5750d784bc5734a5", "observations": [ { "classic": { - "elapsed": 3.8, + "elapsed": 3.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4870.0, + "score": 4786.0, "scores": [ - 2256.0, - 2614.0 + 2954.0, + 1832.0 ], - "selected": "davidalves.net.Duelist 0.1.6src" + "selected": "zen.Lindada 0.2" }, - "completed_at": "2026-09-08T21:41:25Z", - "delta_pct": 0.1, - "id": "da9c6f4187b20af6", + "completed_at": "2026-09-21T20:38:52Z", + "confirmation": null, + "delta_pct": -8.4, + "id": "5750d784bc5734a5", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56589,24 +196078,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "davidalves.net.Duelist 0.1.6src", + "classic_selected": "zen.Lindada 0.2", "division": "roborumble", - "jar": "davidalves.net.Duelist_0.1.6src.jar", - "jar_sha256": "85c0efdc1a1c9e91b1d35ab906e794c255165f961ce6ad5271a564686ae623ae", - "key": "roborumble/davidalves.net.Duelist_0.1.6src.jar", + "jar": "zen.Lindada_0.2.jar", + "jar_sha256": "b3a7cea0b6c3aaab3a48c2763135580492f7802f6ff49914985e0945501ed3f8", + "key": "roborumble/zen.Lindada_0.2.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 18.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4877.0, + "score": 4383.0, "scores": [ - 2904.0, - 1973.0 + 2279.0, + 2104.0 ], "skipped": null } @@ -56614,65 +196105,63 @@ ], "status": "PASS" }, - "roborumble/davv.DOne_b002.jar": { + "roborumble/zeze2.OperatorZeze_1.05.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "davv.DOne b002", + "classic_selected": "zeze2.OperatorZeze 1.05", "division": "roborumble", - "jar": "davv.DOne_b002.jar", - "jar_sha256": "c4247ac7dade8278e7bdcb028af8c14d4850654318798c694a558df07d8b6a2e", - "key": "roborumble/davv.DOne_b002.jar", + "jar": "zeze2.OperatorZeze_1.05.jar", + "jar_sha256": "7954e15d5c578144a2db5860968aa25eb28d6ef7484c0ab0d9051bc571e405fb", + "key": "roborumble/zeze2.OperatorZeze_1.05.jar", "kind": "robot" }, - "latest_observation": "8948876072cf5515", + "latest_observation": "63a831474b979586", "observations": [ { "classic": { - "elapsed": 4.0, + "elapsed": 3.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5189.0, + "score": 5085.0, "scores": [ - 2593.0, - 2596.0 + 2669.0, + 2416.0 ], - "selected": "davv.DOne b002" + "selected": "zeze2.OperatorZeze 1.05" }, - "completed_at": "2026-09-08T21:43:51Z", - "delta_pct": -53.3, - "id": "8948876072cf5515", + "completed_at": "2026-09-21T20:39:20Z", + "confirmation": null, + "delta_pct": -8.7, + "id": "63a831474b979586", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56680,90 +196169,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "davv.DOne b002", + "classic_selected": "zeze2.OperatorZeze 1.05", "division": "roborumble", - "jar": "davv.DOne_b002.jar", - "jar_sha256": "c4247ac7dade8278e7bdcb028af8c14d4850654318798c694a558df07d8b6a2e", - "key": "roborumble/davv.DOne_b002.jar", + "jar": "zeze2.OperatorZeze_1.05.jar", + "jar_sha256": "7954e15d5c578144a2db5860968aa25eb28d6ef7484c0ab0d9051bc571e405fb", + "key": "roborumble/zeze2.OperatorZeze_1.05.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 30.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2422.0, + "score": 4641.0, "scores": [ - 1387.0, - 1035.0 + 2535.0, + 2106.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/dcs.Eater_of_Worlds_1.1.3-A.jar": { + "roborumble/zezinho.QuerMePegarKKKK_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "dcs.Eater_of_Worlds 1.1.3-A", + "classic_selected": "zezinho.QuerMePegarKKKK 1.0", "division": "roborumble", - "jar": "dcs.Eater_of_Worlds_1.1.3-A.jar", - "jar_sha256": "b674714bdd8a9a3f2a422c44789ce0328e3c97db328d486b5a08e57c622bd1b8", - "key": "roborumble/dcs.Eater_of_Worlds_1.1.3-A.jar", + "jar": "zezinho.QuerMePegarKKKK_1.0.jar", + "jar_sha256": "b1b2de8e17d1914183dc4d8e9379ff44637a68d7854f34b49b06cbf827057206", + "key": "roborumble/zezinho.QuerMePegarKKKK_1.0.jar", "kind": "robot" }, - "latest_observation": "acfc2f677316f7a1", + "latest_observation": "9336aae44cab6d46", "observations": [ { "classic": { - "elapsed": 2.5, + "elapsed": 4.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7446.0, + "score": 6810.0, "scores": [ - 3219.0, - 4227.0 + 3172.0, + 3638.0 ], - "selected": "dcs.Eater_of_Worlds 1.1.3-A" + "selected": "zezinho.QuerMePegarKKKK 1.0" }, - "completed_at": "2026-09-08T21:44:08Z", - "delta_pct": 19.2, - "id": "acfc2f677316f7a1", + "completed_at": "2026-09-21T20:39:47Z", + "confirmation": null, + "delta_pct": 6.7, + "id": "9336aae44cab6d46", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56771,24 +196260,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "dcs.Eater_of_Worlds 1.1.3-A", + "classic_selected": "zezinho.QuerMePegarKKKK 1.0", "division": "roborumble", - "jar": "dcs.Eater_of_Worlds_1.1.3-A.jar", - "jar_sha256": "b674714bdd8a9a3f2a422c44789ce0328e3c97db328d486b5a08e57c622bd1b8", - "key": "roborumble/dcs.Eater_of_Worlds_1.1.3-A.jar", + "jar": "zezinho.QuerMePegarKKKK_1.0.jar", + "jar_sha256": "b1b2de8e17d1914183dc4d8e9379ff44637a68d7854f34b49b06cbf827057206", + "key": "roborumble/zezinho.QuerMePegarKKKK_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 22.0, "error_count": 0, + "error_signatures": [], "errors": [], - "has_log": false, + "has_log": true, "ok": true, - "score": 8877.0, + "score": 7269.0, "scores": [ - 5234.0, - 3643.0 + 3800.0, + 3469.0 ], "skipped": null } @@ -56796,65 +196287,169 @@ ], "status": "PASS" }, - "roborumble/dcs.Eater_of_Worlds_Mini_1.0.jar": { + "roborumble/zh.UnderDog_0.0.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "dcs.Eater_of_Worlds_Mini 1.0", + "classic_selected": "zh.UnderDog 0.0.2", "division": "roborumble", - "jar": "dcs.Eater_of_Worlds_Mini_1.0.jar", - "jar_sha256": "424d954d97913eb026baa23b0a387bec3723e090b8c2619f83be76905a006b3d", - "key": "roborumble/dcs.Eater_of_Worlds_Mini_1.0.jar", + "jar": "zh.UnderDog_0.0.2.jar", + "jar_sha256": "a883f981ffe80a39b1a48e8126aa5daca881f99a938d564a05f88ddca7f5cb39", + "key": "roborumble/zh.UnderDog_0.0.2.jar", "kind": "robot" }, - "latest_observation": "aa8ea784d11f187f", + "latest_observation": "b4be90c25b189d27", "observations": [ { "classic": { - "elapsed": 2.5, - "error_count": 0, - "errors": [], - "has_log": false, + "elapsed": 2.7, + "error_count": 140, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "zh.Navigator.reset" + } + ], + "errors": [ + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.DeathEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null", + "SYSTEM: java.lang.NullPointerException occurred on robocode.WinEvent", + "java.lang.NullPointerException: the condition cannot be null" + ], + "has_log": true, "ok": true, - "score": 8122.0, + "score": 6146.0, "scores": [ - 4301.0, - 3821.0 + 93.0, + 6053.0 ], - "selected": "dcs.Eater_of_Worlds_Mini 1.0" + "selected": "zh.UnderDog 0.0.2" }, - "completed_at": "2026-09-08T21:44:26Z", - "delta_pct": -3.7, - "id": "aa8ea784d11f187f", + "completed_at": "2026-09-21T20:40:10Z", + "confirmation": null, + "delta_pct": -0.1, + "id": "b4be90c25b189d27", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56862,24 +196457,71 @@ "width": 800 }, "source_identity": { - "classic_selected": "dcs.Eater_of_Worlds_Mini 1.0", + "classic_selected": "zh.UnderDog 0.0.2", "division": "roborumble", - "jar": "dcs.Eater_of_Worlds_Mini_1.0.jar", - "jar_sha256": "424d954d97913eb026baa23b0a387bec3723e090b8c2619f83be76905a006b3d", - "key": "roborumble/dcs.Eater_of_Worlds_Mini_1.0.jar", + "jar": "zh.UnderDog_0.0.2.jar", + "jar_sha256": "a883f981ffe80a39b1a48e8126aa5daca881f99a938d564a05f88ddca7f5cb39", + "key": "roborumble/zh.UnderDog_0.0.2.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 16.0, - "error_count": 0, - "errors": [], - "has_log": false, + "bridge_only_signatures": null, + "elapsed": 20.1, + "error_count": 39, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "zh.Navigator.reset" + } + ], + "errors": [ + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null", + "java.lang.NullPointerException: the condition cannot be null" + ], + "has_log": true, "ok": true, - "score": 7824.0, + "score": 6137.0, "scores": [ - 4118.0, - 3706.0 + 6105.0, + 32.0 ], "skipped": null } @@ -56887,65 +196529,63 @@ ], "status": "PASS" }, - "roborumble/dcs.PM.Eater_of_Worlds_PM_1.2.jar": { + "roborumble/zignd.ZigIndexOutOfRange_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "dcs.PM.Eater_of_Worlds_PM 1.2", + "classic_selected": "zignd.ZigIndexOutOfRange 1.1", "division": "roborumble", - "jar": "dcs.PM.Eater_of_Worlds_PM_1.2.jar", - "jar_sha256": "103d8b2e0e831171d8bc2ad4d2272f17765dfc9ecc7075ee4cdbba2a1a7b3e85", - "key": "roborumble/dcs.PM.Eater_of_Worlds_PM_1.2.jar", + "jar": "zignd.ZigIndexOutOfRange_1.1.jar", + "jar_sha256": "4e234117d76ae7d09877b989644dd98beca1e87c97cd4de18d5766ed56c69675", + "key": "roborumble/zignd.ZigIndexOutOfRange_1.1.jar", "kind": "robot" }, - "latest_observation": "ff977f89ff8c2e6b", + "latest_observation": "5038b185d12a79e5", "observations": [ { "classic": { - "elapsed": 2.9, + "elapsed": 2.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5358.0, + "score": 12865.0, "scores": [ - 2593.0, - 2765.0 + 6804.0, + 6061.0 ], - "selected": "dcs.PM.Eater_of_Worlds_PM 1.2" + "selected": "zignd.ZigIndexOutOfRange 1.1" }, - "completed_at": "2026-09-08T21:44:42Z", - "delta_pct": 155.4, - "id": "ff977f89ff8c2e6b", + "completed_at": "2026-09-21T20:40:27Z", + "confirmation": null, + "delta_pct": -6.7, + "id": "5038b185d12a79e5", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -56953,90 +196593,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "dcs.PM.Eater_of_Worlds_PM 1.2", + "classic_selected": "zignd.ZigIndexOutOfRange 1.1", "division": "roborumble", - "jar": "dcs.PM.Eater_of_Worlds_PM_1.2.jar", - "jar_sha256": "103d8b2e0e831171d8bc2ad4d2272f17765dfc9ecc7075ee4cdbba2a1a7b3e85", - "key": "roborumble/dcs.PM.Eater_of_Worlds_PM_1.2.jar", + "jar": "zignd.ZigIndexOutOfRange_1.1.jar", + "jar_sha256": "4e234117d76ae7d09877b989644dd98beca1e87c97cd4de18d5766ed56c69675", + "key": "roborumble/zignd.ZigIndexOutOfRange_1.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 12.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 13685.0, + "score": 12002.0, "scores": [ - 7034.0, - 6651.0 + 6590.0, + 5412.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/de.erdega.robocode.Polyphemos_0.4.jar": { + "roborumble/zyx.mega.YersiniaPestis_3.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "de.erdega.robocode.Polyphemos 0.4", + "classic_selected": "zyx.mega.YersiniaPestis 3.0", "division": "roborumble", - "jar": "de.erdega.robocode.Polyphemos_0.4.jar", - "jar_sha256": "64765b6e60690f6889f1ef44ef0e8a566871eee38b280784e68900dff5d0e7be", - "key": "roborumble/de.erdega.robocode.Polyphemos_0.4.jar", + "jar": "zyx.mega.YersiniaPestis_3.0.jar", + "jar_sha256": "326a9cda8639a7ea4334f68ccafdeb6a238b9d756d3f10bc8b9174bb6c3c61ba", + "key": "roborumble/zyx.mega.YersiniaPestis_3.0.jar", "kind": "robot" }, - "latest_observation": "2b4de671d6c6e4bf", + "latest_observation": "de945e89bf0064f6", "observations": [ { "classic": { - "elapsed": 2.6, + "elapsed": 9.2, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5160.0, + "score": 4605.0, "scores": [ - 2440.0, - 2720.0 + 2230.0, + 2375.0 ], - "selected": "de.erdega.robocode.Polyphemos 0.4" + "selected": "zyx.mega.YersiniaPestis 3.0" }, - "completed_at": "2026-09-08T21:45:07Z", - "delta_pct": -35.0, - "id": "2b4de671d6c6e4bf", + "completed_at": "2026-09-21T20:44:41Z", + "confirmation": null, + "delta_pct": -3.2, + "id": "de945e89bf0064f6", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "e783817aabd166a668bc813fd93d88016c5e1745", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -57044,90 +196684,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "de.erdega.robocode.Polyphemos 0.4", + "classic_selected": "zyx.mega.YersiniaPestis 3.0", "division": "roborumble", - "jar": "de.erdega.robocode.Polyphemos_0.4.jar", - "jar_sha256": "64765b6e60690f6889f1ef44ef0e8a566871eee38b280784e68900dff5d0e7be", - "key": "roborumble/de.erdega.robocode.Polyphemos_0.4.jar", + "jar": "zyx.mega.YersiniaPestis_3.0.jar", + "jar_sha256": "326a9cda8639a7ea4334f68ccafdeb6a238b9d756d3f10bc8b9174bb6c3c61ba", + "key": "roborumble/zyx.mega.YersiniaPestis_3.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 245.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3354.0, + "score": 4456.0, "scores": [ - 1829.0, - 1525.0 + 2234.0, + 2222.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/de.simpleworks.robocode.bots.swiBot_1.0.jar": { + "roborumble/zyx.micro.Ant_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "de.simpleworks.robocode.bots.swiBot 1.0", + "classic_selected": "zyx.micro.Ant 1.1", "division": "roborumble", - "jar": "de.simpleworks.robocode.bots.swiBot_1.0.jar", - "jar_sha256": "0f8ba834279b54d3494be8aeb57f35d557e8d05bb4075a832a76206b1fa89eef", - "key": "roborumble/de.simpleworks.robocode.bots.swiBot_1.0.jar", + "jar": "zyx.micro.Ant_1.1.jar", + "jar_sha256": "800813dcc5a4e5ffbfdcd404bb0f0fb972769340a6d68715734c233219dc2f61", + "key": "roborumble/zyx.micro.Ant_1.1.jar", "kind": "robot" }, - "latest_observation": "8a7446289797b1b0", + "latest_observation": "58b16c25647a3fca", "observations": [ { "classic": { "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 9417.0, + "score": 4926.0, "scores": [ - 4829.0, - 4588.0 + 2427.0, + 2499.0 ], - "selected": "de.simpleworks.robocode.bots.swiBot 1.0" + "selected": "zyx.micro.Ant 1.1" }, - "completed_at": "2026-09-08T21:45:32Z", - "delta_pct": -13.2, - "id": "8a7446289797b1b0", + "completed_at": "2026-09-22T14:18:28Z", + "confirmation": null, + "delta_pct": -7.2, + "id": "58b16c25647a3fca", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "24857a3538048b5e33b8c1c8582d0d33a661b8ef", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -57135,24 +196775,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "de.simpleworks.robocode.bots.swiBot 1.0", + "classic_selected": "zyx.micro.Ant 1.1", "division": "roborumble", - "jar": "de.simpleworks.robocode.bots.swiBot_1.0.jar", - "jar_sha256": "0f8ba834279b54d3494be8aeb57f35d557e8d05bb4075a832a76206b1fa89eef", - "key": "roborumble/de.simpleworks.robocode.bots.swiBot_1.0.jar", + "jar": "zyx.micro.Ant_1.1.jar", + "jar_sha256": "800813dcc5a4e5ffbfdcd404bb0f0fb972769340a6d68715734c233219dc2f61", + "key": "roborumble/zyx.micro.Ant_1.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 22.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 8172.0, + "score": 4573.0, "scores": [ - 4378.0, - 3794.0 + 2537.0, + 2036.0 ], "skipped": null } @@ -57160,65 +196802,63 @@ ], "status": "PASS" }, - "roborumble/deith.Czolgzilla_0.11.jar": { + "roborumble/zyx.nano.Ant_1.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "deith.Czolgzilla 0.11", + "classic_selected": "zyx.nano.Ant 1.1", "division": "roborumble", - "jar": "deith.Czolgzilla_0.11.jar", - "jar_sha256": "62fcf900acce6f57575b9f550455c49c70238555233b37a6687f979f9af91779", - "key": "roborumble/deith.Czolgzilla_0.11.jar", + "jar": "zyx.nano.Ant_1.1.jar", + "jar_sha256": "346669b48d44f5fc31eec722d614906f81bb9cbceb453cd10b2fcc47f1681327", + "key": "roborumble/zyx.nano.Ant_1.1.jar", "kind": "robot" }, - "latest_observation": "08cef06b36787464", + "latest_observation": "805aa68fcec2251e", "observations": [ { "classic": { - "elapsed": 43.1, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5143.0, + "score": 8500.0, "scores": [ - 3161.0, - 1982.0 + 4257.0, + 4243.0 ], - "selected": "deith.Czolgzilla 0.11" + "selected": "zyx.nano.Ant 1.1" }, - "completed_at": "2026-09-08T21:46:55Z", - "delta_pct": -5.6, - "id": "08cef06b36787464", + "completed_at": "2026-09-22T14:18:45Z", + "confirmation": null, + "delta_pct": -12.8, + "id": "805aa68fcec2251e", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "24857a3538048b5e33b8c1c8582d0d33a661b8ef", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -57226,24 +196866,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "deith.Czolgzilla 0.11", + "classic_selected": "zyx.nano.Ant 1.1", "division": "roborumble", - "jar": "deith.Czolgzilla_0.11.jar", - "jar_sha256": "62fcf900acce6f57575b9f550455c49c70238555233b37a6687f979f9af91779", - "key": "roborumble/deith.Czolgzilla_0.11.jar", + "jar": "zyx.nano.Ant_1.1.jar", + "jar_sha256": "346669b48d44f5fc31eec722d614906f81bb9cbceb453cd10b2fcc47f1681327", + "key": "roborumble/zyx.nano.Ant_1.1.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 40.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 4853.0, + "score": 7412.0, "scores": [ - 2548.0, - 2305.0 + 3785.0, + 3627.0 ], "skipped": null } @@ -57251,65 +196893,63 @@ ], "status": "PASS" }, - "roborumble/demetrix.ForceMajeure_0.75.jar": { + "roborumble/zyx.nano.EscherichiaColi_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "demetrix.ForceMajeure 0.75", + "classic_selected": "zyx.nano.EscherichiaColi 1.0", "division": "roborumble", - "jar": "demetrix.ForceMajeure_0.75.jar", - "jar_sha256": "015c4cf71816f9b7ec45ca58c680054eada7157ea54b8eb29c33ec4a82be5011", - "key": "roborumble/demetrix.ForceMajeure_0.75.jar", + "jar": "zyx.nano.EscherichiaColi_1.0.jar", + "jar_sha256": "5103ccfd4f9b01734b8f6fafacdc7dd6bcb9ad161ab68ee7204795b879d11eab", + "key": "roborumble/zyx.nano.EscherichiaColi_1.0.jar", "kind": "robot" }, - "latest_observation": "bbf69d95d8f28b8f", + "latest_observation": "7d74db622dc673a4", "observations": [ { "classic": { - "elapsed": 8.9, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5942.0, + "score": 7090.0, "scores": [ - 3395.0, - 2547.0 + 3262.0, + 3828.0 ], - "selected": "demetrix.ForceMajeure 0.75" + "selected": "zyx.nano.EscherichiaColi 1.0" }, - "completed_at": "2026-09-08T21:47:28Z", - "delta_pct": -0.5, - "id": "bbf69d95d8f28b8f", + "completed_at": "2026-09-22T14:19:08Z", + "confirmation": null, + "delta_pct": -12.3, + "id": "7d74db622dc673a4", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "24857a3538048b5e33b8c1c8582d0d33a661b8ef", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -57317,24 +196957,26 @@ "width": 800 }, "source_identity": { - "classic_selected": "demetrix.ForceMajeure 0.75", + "classic_selected": "zyx.nano.EscherichiaColi 1.0", "division": "roborumble", - "jar": "demetrix.ForceMajeure_0.75.jar", - "jar_sha256": "015c4cf71816f9b7ec45ca58c680054eada7157ea54b8eb29c33ec4a82be5011", - "key": "roborumble/demetrix.ForceMajeure_0.75.jar", + "jar": "zyx.nano.EscherichiaColi_1.0.jar", + "jar_sha256": "5103ccfd4f9b01734b8f6fafacdc7dd6bcb9ad161ab68ee7204795b879d11eab", + "key": "roborumble/zyx.nano.EscherichiaColi_1.0.jar", "kind": "robot" }, "status": "PASS", "tank_royale": { - "elapsed": 24.0, + "bridge_only_signatures": null, + "elapsed": 20.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5913.0, + "score": 6220.0, "scores": [ - 3066.0, - 2847.0 + 3396.0, + 2824.0 ], "skipped": null } @@ -57342,65 +196984,63 @@ ], "status": "PASS" }, - "roborumble/demetrix.nano.Neutrino_0.27.jar": { + "roborumble/zyx.nano.RedBull_1.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "demetrix.nano.Neutrino 0.27", + "classic_selected": "zyx.nano.RedBull 1.0", "division": "roborumble", - "jar": "demetrix.nano.Neutrino_0.27.jar", - "jar_sha256": "3ba40e81b6908456aad702dd6e8481f33d07898ac773a1307a20563157942a23", - "key": "roborumble/demetrix.nano.Neutrino_0.27.jar", + "jar": "zyx.nano.RedBull_1.0.jar", + "jar_sha256": "fc36e52fbb8ca91d2eca6e1cdff258169c402f4d19510569e7caaf8769ca2d2b", + "key": "roborumble/zyx.nano.RedBull_1.0.jar", "kind": "robot" }, - "latest_observation": "c87a4b8d228674d0", + "latest_observation": "8ffa9617eece147d", "observations": [ { "classic": { - "elapsed": 2.4, + "elapsed": 2.1, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 7673.0, + "score": 10659.0, "scores": [ - 4020.0, - 3653.0 + 5223.0, + 5436.0 ], - "selected": "demetrix.nano.Neutrino 0.27" + "selected": "zyx.nano.RedBull 1.0" }, - "completed_at": "2026-09-08T21:47:45Z", - "delta_pct": -17.5, - "id": "c87a4b8d228674d0", + "completed_at": "2026-09-22T14:19:20Z", + "confirmation": null, + "delta_pct": 59.2, + "id": "8ffa9617eece147d", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "24857a3538048b5e33b8c1c8582d0d33a661b8ef", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -57408,90 +197048,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "demetrix.nano.Neutrino 0.27", + "classic_selected": "zyx.nano.RedBull 1.0", "division": "roborumble", - "jar": "demetrix.nano.Neutrino_0.27.jar", - "jar_sha256": "3ba40e81b6908456aad702dd6e8481f33d07898ac773a1307a20563157942a23", - "key": "roborumble/demetrix.nano.Neutrino_0.27.jar", + "jar": "zyx.nano.RedBull_1.0.jar", + "jar_sha256": "fc36e52fbb8ca91d2eca6e1cdff258169c402f4d19510569e7caaf8769ca2d2b", + "key": "roborumble/zyx.nano.RedBull_1.0.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 14.0, + "bridge_only_signatures": null, + "elapsed": 10.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6329.0, + "score": 16970.0, "scores": [ - 3688.0, - 2641.0 + 8658.0, + 8312.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/demetrix.nano.SledgeHammer_0.22.jar": { + "roborumble/zzx.Gron_1.14.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "demetrix.nano.SledgeHammer 0.22", + "classic_selected": "zzx.Gron 1.14", "division": "roborumble", - "jar": "demetrix.nano.SledgeHammer_0.22.jar", - "jar_sha256": "8ca91c5c9cbe37fbd67f136a38ac4be45c2f8b9eb470367957c3fe20e0edd3cd", - "key": "roborumble/demetrix.nano.SledgeHammer_0.22.jar", + "jar": "zzx.Gron_1.14.jar", + "jar_sha256": "ea0c7510e9f4f659b56d213505166df3981d54e47767cf2105d2c7d1115d94a9", + "key": "roborumble/zzx.Gron_1.14.jar", "kind": "robot" }, - "latest_observation": "804cc154798fef47", + "latest_observation": "55fb646fb1b531a7", "observations": [ { "classic": { - "elapsed": 2.1, + "elapsed": 2.3, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 10442.0, + "score": 5881.0, "scores": [ - 4827.0, - 5615.0 + 2963.0, + 2918.0 ], - "selected": "demetrix.nano.SledgeHammer 0.22" + "selected": "zzx.Gron 1.14" }, - "completed_at": "2026-09-08T21:47:57Z", - "delta_pct": 58.1, - "id": "804cc154798fef47", + "completed_at": "2026-09-22T14:19:37Z", + "confirmation": null, + "delta_pct": -14.7, + "id": "55fb646fb1b531a7", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "24857a3538048b5e33b8c1c8582d0d33a661b8ef", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -57499,90 +197139,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "demetrix.nano.SledgeHammer 0.22", + "classic_selected": "zzx.Gron 1.14", "division": "roborumble", - "jar": "demetrix.nano.SledgeHammer_0.22.jar", - "jar_sha256": "8ca91c5c9cbe37fbd67f136a38ac4be45c2f8b9eb470367957c3fe20e0edd3cd", - "key": "roborumble/demetrix.nano.SledgeHammer_0.22.jar", + "jar": "zzx.Gron_1.14.jar", + "jar_sha256": "ea0c7510e9f4f659b56d213505166df3981d54e47767cf2105d2c7d1115d94a9", + "key": "roborumble/zzx.Gron_1.14.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 10.0, + "bridge_only_signatures": null, + "elapsed": 14.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 16508.0, + "score": 5018.0, "scores": [ - 8362.0, - 8146.0 + 2632.0, + 2386.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/deo.CloudBot_1.3.jar": { + "roborumble/zzx.Ignohis_8.0.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "deo.CloudBot 1.3", + "classic_selected": "zzx.Ignohis 8.0", "division": "roborumble", - "jar": "deo.CloudBot_1.3.jar", - "jar_sha256": "d62f0561529c81e5da65ad44c4c6db8b31dceca043ec2d9fcc4646aa15ed28f3", - "key": "roborumble/deo.CloudBot_1.3.jar", + "jar": "zzx.Ignohis_8.0.jar", + "jar_sha256": "81d3cd8adc781b58a1863e193d3deb55008b61e0c14999b49feaf56cf864b1fb", + "key": "roborumble/zzx.Ignohis_8.0.jar", "kind": "robot" }, - "latest_observation": "78bba33b96e662cd", + "latest_observation": "0b66e37ab9b2b032", "observations": [ { "classic": { - "elapsed": 2.8, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5643.0, + "score": 5794.0, "scores": [ - 2950.0, - 2693.0 + 3228.0, + 2566.0 ], - "selected": "deo.CloudBot 1.3" + "selected": "zzx.Ignohis 8.0" }, - "completed_at": "2026-09-08T21:48:20Z", - "delta_pct": -48.6, - "id": "78bba33b96e662cd", + "completed_at": "2026-09-22T14:19:56Z", + "confirmation": null, + "delta_pct": 3.5, + "id": "0b66e37ab9b2b032", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "24857a3538048b5e33b8c1c8582d0d33a661b8ef", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -57590,90 +197230,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "deo.CloudBot 1.3", + "classic_selected": "zzx.Ignohis 8.0", "division": "roborumble", - "jar": "deo.CloudBot_1.3.jar", - "jar_sha256": "d62f0561529c81e5da65ad44c4c6db8b31dceca043ec2d9fcc4646aa15ed28f3", - "key": "roborumble/deo.CloudBot_1.3.jar", + "jar": "zzx.Ignohis_8.0.jar", + "jar_sha256": "81d3cd8adc781b58a1863e193d3deb55008b61e0c14999b49feaf56cf864b1fb", + "key": "roborumble/zzx.Ignohis_8.0.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 16.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 2899.0, + "score": 5996.0, "scores": [ - 1506.0, - 1393.0 + 3095.0, + 2901.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, - "roborumble/deo.FlowerBot_1.0.jar": { + "roborumble/zzx.Serunyr_2.0.2.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "deo.FlowerBot 1.0", + "classic_selected": "zzx.Serunyr 2.0.2", "division": "roborumble", - "jar": "deo.FlowerBot_1.0.jar", - "jar_sha256": "b5546fad91b493970149f74a827f7080df7ada99a958deaeebbfcfc0c211a5e5", - "key": "roborumble/deo.FlowerBot_1.0.jar", + "jar": "zzx.Serunyr_2.0.2.jar", + "jar_sha256": "3bb4200237446122021f3bfaf57ece895eb9f71e499cf93ff8e57887fb7ba073", + "key": "roborumble/zzx.Serunyr_2.0.2.jar", "kind": "robot" }, - "latest_observation": "fc65e7d5693090d9", + "latest_observation": "961eb834cc4c139b", "observations": [ { "classic": { - "elapsed": 3.3, + "elapsed": 2.4, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6175.0, + "score": 6108.0, "scores": [ - 3231.0, - 2944.0 + 3560.0, + 2548.0 ], - "selected": "deo.FlowerBot 1.0" + "selected": "zzx.Serunyr 2.0.2" }, - "completed_at": "2026-09-08T21:48:40Z", - "delta_pct": -11.2, - "id": "fc65e7d5693090d9", + "completed_at": "2026-09-22T14:20:11Z", + "confirmation": null, + "delta_pct": -45.1, + "id": "961eb834cc4c139b", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "24857a3538048b5e33b8c1c8582d0d33a661b8ef", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -57681,90 +197321,90 @@ "width": 800 }, "source_identity": { - "classic_selected": "deo.FlowerBot 1.0", + "classic_selected": "zzx.Serunyr 2.0.2", "division": "roborumble", - "jar": "deo.FlowerBot_1.0.jar", - "jar_sha256": "b5546fad91b493970149f74a827f7080df7ada99a958deaeebbfcfc0c211a5e5", - "key": "roborumble/deo.FlowerBot_1.0.jar", + "jar": "zzx.Serunyr_2.0.2.jar", + "jar_sha256": "3bb4200237446122021f3bfaf57ece895eb9f71e499cf93ff8e57887fb7ba073", + "key": "roborumble/zzx.Serunyr_2.0.2.jar", "kind": "robot" }, - "status": "PASS", + "status": "DISCREPANCY (score)", "tank_royale": { - "elapsed": 16.0, + "bridge_only_signatures": null, + "elapsed": 12.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 5481.0, + "score": 3355.0, "scores": [ - 3215.0, - 2266.0 + 1814.0, + 1541.0 ], "skipped": null } } ], - "status": "PASS" + "status": "score-review" }, - "roborumble/deo.virtual.RainbowBot_1.0.jar": { + "roborumble/zzx.StormHead_1.0.1.jar": { "diagnosis_events": [], "identity": { - "classic_selected": "deo.virtual.RainbowBot 1.0", + "classic_selected": "zzx.StormHead 1.0.1", "division": "roborumble", - "jar": "deo.virtual.RainbowBot_1.0.jar", - "jar_sha256": "3854b1a74b34f26b4fccfc997b5faadb4db60177cd48857d8bdba79e63f5bba4", - "key": "roborumble/deo.virtual.RainbowBot_1.0.jar", + "jar": "zzx.StormHead_1.0.1.jar", + "jar_sha256": "2617316d6fb4c48bf633f1026dcf45b3a8b5ab7f5d1b99652a6d0d2db915f7c8", + "key": "roborumble/zzx.StormHead_1.0.1.jar", "kind": "robot" }, - "latest_observation": "38ab74151e9be2ed", + "latest_observation": "46e1b1c082fd54c6", "observations": [ { "classic": { - "elapsed": 3.8, + "elapsed": 2.7, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 6603.0, + "score": 4952.0, "scores": [ - 2903.0, - 3700.0 + 3155.0, + 1797.0 ], - "selected": "deo.virtual.RainbowBot 1.0" + "selected": "zzx.StormHead 1.0.1" }, - "completed_at": "2026-09-08T21:49:04Z", - "delta_pct": -51.9, - "id": "38ab74151e9be2ed", + "completed_at": "2026-09-22T14:20:38Z", + "confirmation": null, + "delta_pct": -10.2, + "id": "46e1b1c082fd54c6", "manifest": { "artifacts": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" - }, - "bridge_commit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "official_parameters": true, - "supplied": { - "artifactSha256": { - "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar": "A92135B08DF77D80362D62035F8C7EE96266673FA2563A6C159C1ED4D36A115E", - "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar": "A6259E29CCAF9E710B1F5176B1FA3E1E6F97D14569E98A5E0A9E6C64CB5109E5", - "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar": "A855E74500F2D8F78F64574FC0CAE93D79B0AB35A1F74674789B7C878972052B", - "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar": "3B3212ADED7EDF2ECA481E2E536075F59E074993A85F87BA7F5BD0760892C151" + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, - "bridgeCommit": "59240f444c5182b7c15d856ac077e5b3116513ed", - "collectionDir": "C:\\Code\\LiteRumble robots", - "command": "python compat_test.py --limit 50", - "created": "2026-09-08T21:13:17.3265216Z", - "javaVersion": "openjdk version \"24.0.2\" 2025-07-15 OpenJDK Runtime Environment Temurin-24.0.2+12 (build 24.0.2+12) OpenJDK 64-Bit Server VM Temurin-24.0.2+12 (build 24.0.2+12, mixed mode, sharing)", - "pythonVersion": "Python 3.14.2", - "rcJava": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.17.10-hotspot\\bin\\java.exe", - "robocodeHome": "C:\\robocode", - "tankRoyaleCommit": "249cdaf77678126d82f48e93f6e01434aee88823", - "tankRoyaleVersion": "1.2.0" + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "b98852075100ddf32d4d76fd8c3e2bb7992092c1f7b88e30138549534f1caa3e" + } }, - "tank_royale_commit": "249cdaf77678126d82f48e93f6e01434aee88823", + "bridge_commit": "24857a3538048b5e33b8c1c8582d0d33a661b8ef", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, + "retest": null, "setup": { "height": 600, "participants": 2, @@ -57772,30 +197412,32 @@ "width": 800 }, "source_identity": { - "classic_selected": "deo.virtual.RainbowBot 1.0", + "classic_selected": "zzx.StormHead 1.0.1", "division": "roborumble", - "jar": "deo.virtual.RainbowBot_1.0.jar", - "jar_sha256": "3854b1a74b34f26b4fccfc997b5faadb4db60177cd48857d8bdba79e63f5bba4", - "key": "roborumble/deo.virtual.RainbowBot_1.0.jar", + "jar": "zzx.StormHead_1.0.1.jar", + "jar_sha256": "2617316d6fb4c48bf633f1026dcf45b3a8b5ab7f5d1b99652a6d0d2db915f7c8", + "key": "roborumble/zzx.StormHead_1.0.1.jar", "kind": "robot" }, - "status": "DISCREPANCY (score)", + "status": "PASS", "tank_royale": { - "elapsed": 20.0, + "bridge_only_signatures": null, + "elapsed": 24.0, "error_count": 0, + "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 3175.0, + "score": 4445.0, "scores": [ - 1712.0, - 1463.0 + 2322.0, + 2123.0 ], "skipped": null } } ], - "status": "score-review" + "status": "PASS" }, "teamrumble/CharlieN.OmegaTeam.OmegaTeam_1.0.jar": { "diagnosis_events": [], @@ -63389,7 +203031,14 @@ "status": "score-review" }, "teamrumble/bvh.team.Valkiries_1.0.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:56Z" + } + ], "identity": { "classic_selected": "bvh.team.Valkirie 0.44t", "division": "teamrumble", @@ -63398,7 +203047,7 @@ "key": "teamrumble/bvh.team.Valkiries_1.0.jar", "kind": "team" }, - "latest_observation": "e556a2d82c7fee6a", + "latest_observation": "0410196ed2cca286", "observations": [ { "classic": { @@ -63493,7 +203142,532 @@ "completed_at": "2026-09-10T20:24:07Z", "confirmation": null, "delta_pct": null, - "id": "732f11b1cfb9e90b", + "id": "732f11b1cfb9e90b", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } + }, + "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "bvh.team.Valkirie 0.44t", + "division": "teamrumble", + "jar": "bvh.team.Valkiries_1.0.jar", + "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", + "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20585.0, + "scores": [ + 8284.0, + 12301.0 + ], + "selected": "bvh.team.Valkirie 0.44t" + }, + "completed_at": "2026-09-10T20:24:07Z", + "confirmation": null, + "delta_pct": null, + "id": "4879dc218c7f6bb7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } + }, + "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "bvh.team.Valkirie 0.44t", + "division": "teamrumble", + "jar": "bvh.team.Valkiries_1.0.jar", + "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", + "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20585.0, + "scores": [ + 8284.0, + 12301.0 + ], + "selected": "bvh.team.Valkirie 0.44t" + }, + "completed_at": "2026-09-10T20:24:07Z", + "confirmation": null, + "delta_pct": null, + "id": "12cbd735a868476e", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } + }, + "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "bvh.team.Valkirie 0.44t", + "division": "teamrumble", + "jar": "bvh.team.Valkiries_1.0.jar", + "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", + "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20585.0, + "scores": [ + 8284.0, + 12301.0 + ], + "selected": "bvh.team.Valkirie 0.44t" + }, + "completed_at": "2026-09-10T20:24:07Z", + "confirmation": null, + "delta_pct": null, + "id": "c931c860939d31b0", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } + }, + "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "bvh.team.Valkirie 0.44t", + "division": "teamrumble", + "jar": "bvh.team.Valkiries_1.0.jar", + "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", + "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20585.0, + "scores": [ + 8284.0, + 12301.0 + ], + "selected": "bvh.team.Valkirie 0.44t" + }, + "completed_at": "2026-09-10T20:24:07Z", + "confirmation": null, + "delta_pct": null, + "id": "6e812d304276a3f4", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } + }, + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "bvh.team.Valkirie 0.44t", + "division": "teamrumble", + "jar": "bvh.team.Valkiries_1.0.jar", + "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", + "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20585.0, + "scores": [ + 8284.0, + 12301.0 + ], + "selected": "bvh.team.Valkirie 0.44t" + }, + "completed_at": "2026-09-10T20:24:07Z", + "confirmation": null, + "delta_pct": null, + "id": "53ef4e86b772b88d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "bvh.team.Valkirie 0.44t", + "division": "teamrumble", + "jar": "bvh.team.Valkiries_1.0.jar", + "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", + "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20585.0, + "scores": [ + 8284.0, + 12301.0 + ], + "selected": "bvh.team.Valkirie 0.44t" + }, + "completed_at": "2026-09-10T20:24:07Z", + "confirmation": null, + "delta_pct": null, + "id": "9ab0e6b67075a86f", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "bvh.team.Valkirie 0.44t", + "division": "teamrumble", + "jar": "bvh.team.Valkiries_1.0.jar", + "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", + "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 5.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20585.0, + "scores": [ + 8284.0, + 12301.0 + ], + "selected": "bvh.team.Valkirie 0.44t" + }, + "completed_at": "2026-09-10T20:24:07Z", + "confirmation": null, + "delta_pct": null, + "id": "e556a2d82c7fee6a", "manifest": { "artifacts": { "bot_api_jar": { @@ -63502,7 +203676,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -63510,10 +203684,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -63552,32 +203726,32 @@ }, { "classic": { - "elapsed": 5.9, + "elapsed": 4.6, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 20585.0, + "score": 20836.0, "scores": [ - 8284.0, - 12301.0 + 9508.0, + 11328.0 ], "selected": "bvh.team.Valkirie 0.44t" }, - "completed_at": "2026-09-10T20:24:07Z", + "completed_at": "2026-09-22T18:12:17Z", "confirmation": null, - "delta_pct": null, - "id": "4879dc218c7f6bb7", + "delta_pct": 40.7, + "id": "ff6c5feb418d1aa0", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -63585,12 +203759,13 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" } }, - "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", + "bridge_commit": "1e23ca96b8dc3f9d40679d22864206000fa9c004", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, "retest": null, @@ -63609,50 +203784,51 @@ "key": "teamrumble/bvh.team.Valkiries_1.0.jar", "kind": "team" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (score)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, + "elapsed": 20.1, + "error_count": 0, "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + "errors": [], + "has_log": false, + "ok": true, + "score": 29314.0, + "scores": [ + 14880.0, + 14434.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } }, { "classic": { - "elapsed": 5.9, + "elapsed": 4.8, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 20585.0, + "score": 21310.0, "scores": [ - 8284.0, - 12301.0 + 10619.0, + 10691.0 ], "selected": "bvh.team.Valkirie 0.44t" }, - "completed_at": "2026-09-10T20:24:07Z", + "completed_at": "2026-09-22T18:16:50Z", "confirmation": null, - "delta_pct": null, - "id": "12cbd735a868476e", + "delta_pct": 34.7, + "id": "0410196ed2cca286", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -63660,15 +203836,21 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" } }, - "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, "setup": { "height": 1200, "participants": 2, @@ -63684,41 +203866,64 @@ "key": "teamrumble/bvh.team.Valkiries_1.0.jar", "kind": "team" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (score)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, + "elapsed": 20.0, + "error_count": 0, "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + "errors": [], + "has_log": false, + "ok": true, + "score": 28715.0, + "scores": [ + 15157.0, + 13558.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } - }, + } + ], + "status": "score-review" + }, + "teamrumble/cb.fire.FirestarterTeam_2.0.jar": { + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:57Z" + } + ], + "identity": { + "classic_selected": "cb.fire.Firestarter 2.0", + "division": "teamrumble", + "jar": "cb.fire.FirestarterTeam_2.0.jar", + "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", + "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", + "kind": "team" + }, + "latest_observation": "a4b32950172587c1", + "observations": [ { "classic": { - "elapsed": 5.9, + "elapsed": 29.8, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 20585.0, + "score": 21531.0, "scores": [ - 8284.0, - 12301.0 + 13759.0, + 7772.0 ], - "selected": "bvh.team.Valkirie 0.44t" + "selected": "cb.fire.Firestarter 2.0" }, - "completed_at": "2026-09-10T20:24:07Z", + "completed_at": "2026-09-10T20:24:54Z", "confirmation": null, "delta_pct": null, - "id": "c931c860939d31b0", + "id": "7b6d4324218e9af8", "manifest": { "artifacts": { "bot_api_jar": { @@ -63738,7 +203943,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", + "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -63752,11 +203957,11 @@ "width": 1200 }, "source_identity": { - "classic_selected": "bvh.team.Valkirie 0.44t", + "classic_selected": "cb.fire.Firestarter 2.0", "division": "teamrumble", - "jar": "bvh.team.Valkiries_1.0.jar", - "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", - "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "jar": "cb.fire.FirestarterTeam_2.0.jar", + "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", + "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", "kind": "team" }, "status": "DISCREPANCY (outcome)", @@ -63777,23 +203982,23 @@ }, { "classic": { - "elapsed": 5.9, + "elapsed": 29.8, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 20585.0, + "score": 21531.0, "scores": [ - 8284.0, - 12301.0 + 13759.0, + 7772.0 ], - "selected": "bvh.team.Valkirie 0.44t" + "selected": "cb.fire.Firestarter 2.0" }, - "completed_at": "2026-09-10T20:24:07Z", + "completed_at": "2026-09-10T20:24:54Z", "confirmation": null, "delta_pct": null, - "id": "6e812d304276a3f4", + "id": "e61e3aace3bc9bb5", "manifest": { "artifacts": { "bot_api_jar": { @@ -63813,7 +204018,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -63827,11 +204032,11 @@ "width": 1200 }, "source_identity": { - "classic_selected": "bvh.team.Valkirie 0.44t", + "classic_selected": "cb.fire.Firestarter 2.0", "division": "teamrumble", - "jar": "bvh.team.Valkiries_1.0.jar", - "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", - "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "jar": "cb.fire.FirestarterTeam_2.0.jar", + "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", + "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", "kind": "team" }, "status": "DISCREPANCY (outcome)", @@ -63852,23 +204057,23 @@ }, { "classic": { - "elapsed": 5.9, + "elapsed": 29.8, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 20585.0, + "score": 21531.0, "scores": [ - 8284.0, - 12301.0 + 13759.0, + 7772.0 ], - "selected": "bvh.team.Valkirie 0.44t" + "selected": "cb.fire.Firestarter 2.0" }, - "completed_at": "2026-09-10T20:24:07Z", + "completed_at": "2026-09-10T20:24:54Z", "confirmation": null, "delta_pct": null, - "id": "53ef4e86b772b88d", + "id": "1ec521ee39d14aad", "manifest": { "artifacts": { "bot_api_jar": { @@ -63877,7 +204082,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -63885,10 +204090,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -63902,11 +204107,11 @@ "width": 1200 }, "source_identity": { - "classic_selected": "bvh.team.Valkirie 0.44t", + "classic_selected": "cb.fire.Firestarter 2.0", "division": "teamrumble", - "jar": "bvh.team.Valkiries_1.0.jar", - "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", - "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "jar": "cb.fire.FirestarterTeam_2.0.jar", + "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", + "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", "kind": "team" }, "status": "DISCREPANCY (outcome)", @@ -63927,23 +204132,23 @@ }, { "classic": { - "elapsed": 5.9, + "elapsed": 29.8, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 20585.0, + "score": 21531.0, "scores": [ - 8284.0, - 12301.0 + 13759.0, + 7772.0 ], - "selected": "bvh.team.Valkirie 0.44t" + "selected": "cb.fire.Firestarter 2.0" }, - "completed_at": "2026-09-10T20:24:07Z", + "completed_at": "2026-09-10T20:24:54Z", "confirmation": null, "delta_pct": null, - "id": "9ab0e6b67075a86f", + "id": "4b955255430a44ae", "manifest": { "artifacts": { "bot_api_jar": { @@ -63952,7 +204157,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -63960,10 +204165,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -63977,11 +204182,11 @@ "width": 1200 }, "source_identity": { - "classic_selected": "bvh.team.Valkirie 0.44t", + "classic_selected": "cb.fire.Firestarter 2.0", "division": "teamrumble", - "jar": "bvh.team.Valkiries_1.0.jar", - "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", - "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "jar": "cb.fire.FirestarterTeam_2.0.jar", + "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", + "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", "kind": "team" }, "status": "DISCREPANCY (outcome)", @@ -64002,23 +204207,23 @@ }, { "classic": { - "elapsed": 5.9, + "elapsed": 29.8, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 20585.0, + "score": 21531.0, "scores": [ - 8284.0, - 12301.0 + 13759.0, + 7772.0 ], - "selected": "bvh.team.Valkirie 0.44t" + "selected": "cb.fire.Firestarter 2.0" }, - "completed_at": "2026-09-10T20:24:07Z", + "completed_at": "2026-09-10T20:24:54Z", "confirmation": null, "delta_pct": null, - "id": "e556a2d82c7fee6a", + "id": "033b7a94e096cba9", "manifest": { "artifacts": { "bot_api_jar": { @@ -64027,7 +204232,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -64035,10 +204240,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64052,11 +204257,11 @@ "width": 1200 }, "source_identity": { - "classic_selected": "bvh.team.Valkirie 0.44t", + "classic_selected": "cb.fire.Firestarter 2.0", "division": "teamrumble", - "jar": "bvh.team.Valkiries_1.0.jar", - "jar_sha256": "1c30ae07eec48b629b6ce1ee0f8626c7e16b186d20fb238d70b99cde92a26216", - "key": "teamrumble/bvh.team.Valkiries_1.0.jar", + "jar": "cb.fire.FirestarterTeam_2.0.jar", + "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", + "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", "kind": "team" }, "status": "DISCREPANCY (outcome)", @@ -64074,22 +204279,7 @@ "scores": [], "skipped": null } - } - ], - "status": "DISCREPANCY (outcome)" - }, - "teamrumble/cb.fire.FirestarterTeam_2.0.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "cb.fire.Firestarter 2.0", - "division": "teamrumble", - "jar": "cb.fire.FirestarterTeam_2.0.jar", - "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", - "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", - "kind": "team" - }, - "latest_observation": "62e25ad244cff6a2", - "observations": [ + }, { "classic": { "elapsed": 29.8, @@ -64108,7 +204298,7 @@ "completed_at": "2026-09-10T20:24:54Z", "confirmation": null, "delta_pct": null, - "id": "7b6d4324218e9af8", + "id": "9066abdea1742506", "manifest": { "artifacts": { "bot_api_jar": { @@ -64117,7 +204307,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -64125,10 +204315,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64183,7 +204373,7 @@ "completed_at": "2026-09-10T20:24:54Z", "confirmation": null, "delta_pct": null, - "id": "e61e3aace3bc9bb5", + "id": "e2720415d793d7b1", "manifest": { "artifacts": { "bot_api_jar": { @@ -64192,7 +204382,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -64200,10 +204390,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64258,7 +204448,7 @@ "completed_at": "2026-09-10T20:24:54Z", "confirmation": null, "delta_pct": null, - "id": "1ec521ee39d14aad", + "id": "62e25ad244cff6a2", "manifest": { "artifacts": { "bot_api_jar": { @@ -64267,7 +204457,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -64275,10 +204465,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64317,32 +204507,32 @@ }, { "classic": { - "elapsed": 29.8, + "elapsed": 27.4, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 21531.0, + "score": 20475.0, "scores": [ - 13759.0, - 7772.0 + 10924.0, + 9551.0 ], "selected": "cb.fire.Firestarter 2.0" }, - "completed_at": "2026-09-10T20:24:54Z", + "completed_at": "2026-09-22T18:17:22Z", "confirmation": null, "delta_pct": null, - "id": "4b955255430a44ae", + "id": "a4b32950172587c1", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -64350,15 +204540,21 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" } }, - "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, "setup": { "height": 1200, "participants": 2, @@ -64376,12 +204572,32 @@ }, "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], + "bridge_only_signatures": [ + [ + "java.lang.NullPointerException", + "C.I.I" + ] + ], + "elapsed": 4.2, + "error_count": 11, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "C.I.I" + } + ], "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null", + "java.lang.NullPointerException: Cannot load from object array because \"this.contains\" is null" ], "has_log": true, "ok": false, @@ -64389,26 +204605,48 @@ "scores": [], "skipped": null } - }, + } + ], + "status": "DISCREPANCY (outcome)" + }, + "teamrumble/cx.mini.DemoniacNimrods_0.50.jar": { + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:57Z" + } + ], + "identity": { + "classic_selected": "cx.mini.Nimrod 0.50", + "division": "teamrumble", + "jar": "cx.mini.DemoniacNimrods_0.50.jar", + "jar_sha256": "742983458acb65cb939258dbaaf6a931870606383852284df77c3374a860c098", + "key": "teamrumble/cx.mini.DemoniacNimrods_0.50.jar", + "kind": "team" + }, + "latest_observation": "ffdcc9fa6535acbb", + "observations": [ { "classic": { - "elapsed": 29.8, + "elapsed": 4.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 21531.0, + "score": 21446.0, "scores": [ - 13759.0, - 7772.0 + 12044.0, + 9402.0 ], - "selected": "cb.fire.Firestarter 2.0" + "selected": "cx.mini.Nimrod 0.50" }, - "completed_at": "2026-09-10T20:24:54Z", + "completed_at": "2026-09-10T20:25:19Z", "confirmation": null, "delta_pct": null, - "id": "033b7a94e096cba9", + "id": "c10348e2e3a5a0e9", "manifest": { "artifacts": { "bot_api_jar": { @@ -64428,7 +204666,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64442,11 +204680,11 @@ "width": 1200 }, "source_identity": { - "classic_selected": "cb.fire.Firestarter 2.0", + "classic_selected": "cx.mini.Nimrod 0.50", "division": "teamrumble", - "jar": "cb.fire.FirestarterTeam_2.0.jar", - "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", - "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", + "jar": "cx.mini.DemoniacNimrods_0.50.jar", + "jar_sha256": "742983458acb65cb939258dbaaf6a931870606383852284df77c3374a860c098", + "key": "teamrumble/cx.mini.DemoniacNimrods_0.50.jar", "kind": "team" }, "status": "DISCREPANCY (outcome)", @@ -64467,23 +204705,23 @@ }, { "classic": { - "elapsed": 29.8, + "elapsed": 4.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 21531.0, + "score": 21446.0, "scores": [ - 13759.0, - 7772.0 + 12044.0, + 9402.0 ], - "selected": "cb.fire.Firestarter 2.0" + "selected": "cx.mini.Nimrod 0.50" }, - "completed_at": "2026-09-10T20:24:54Z", + "completed_at": "2026-09-10T20:25:19Z", "confirmation": null, "delta_pct": null, - "id": "9066abdea1742506", + "id": "beb89765e4442d28", "manifest": { "artifacts": { "bot_api_jar": { @@ -64492,7 +204730,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -64500,10 +204738,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64517,11 +204755,11 @@ "width": 1200 }, "source_identity": { - "classic_selected": "cb.fire.Firestarter 2.0", + "classic_selected": "cx.mini.Nimrod 0.50", "division": "teamrumble", - "jar": "cb.fire.FirestarterTeam_2.0.jar", - "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", - "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", + "jar": "cx.mini.DemoniacNimrods_0.50.jar", + "jar_sha256": "742983458acb65cb939258dbaaf6a931870606383852284df77c3374a860c098", + "key": "teamrumble/cx.mini.DemoniacNimrods_0.50.jar", "kind": "team" }, "status": "DISCREPANCY (outcome)", @@ -64542,23 +204780,23 @@ }, { "classic": { - "elapsed": 29.8, + "elapsed": 4.2, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 21531.0, + "score": 21446.0, "scores": [ - 13759.0, - 7772.0 + 12044.0, + 9402.0 ], - "selected": "cb.fire.Firestarter 2.0" + "selected": "cx.mini.Nimrod 0.50" }, - "completed_at": "2026-09-10T20:24:54Z", + "completed_at": "2026-09-10T20:25:19Z", "confirmation": null, "delta_pct": null, - "id": "e2720415d793d7b1", + "id": "bf521d0c5817a72b", "manifest": { "artifacts": { "bot_api_jar": { @@ -64567,7 +204805,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -64575,10 +204813,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64592,11 +204830,11 @@ "width": 1200 }, "source_identity": { - "classic_selected": "cb.fire.Firestarter 2.0", + "classic_selected": "cx.mini.Nimrod 0.50", "division": "teamrumble", - "jar": "cb.fire.FirestarterTeam_2.0.jar", - "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", - "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", + "jar": "cx.mini.DemoniacNimrods_0.50.jar", + "jar_sha256": "742983458acb65cb939258dbaaf6a931870606383852284df77c3374a860c098", + "key": "teamrumble/cx.mini.DemoniacNimrods_0.50.jar", "kind": "team" }, "status": "DISCREPANCY (outcome)", @@ -64615,96 +204853,6 @@ "skipped": null } }, - { - "classic": { - "elapsed": 29.8, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 21531.0, - "scores": [ - 13759.0, - 7772.0 - ], - "selected": "cb.fire.Firestarter 2.0" - }, - "completed_at": "2026-09-10T20:24:54Z", - "confirmation": null, - "delta_pct": null, - "id": "62e25ad244cff6a2", - "manifest": { - "artifacts": { - "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" - }, - "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" - }, - "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" - }, - "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" - } - }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", - "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", - "threshold": 25.0 - }, - "retest": null, - "setup": { - "height": 1200, - "participants": 2, - "rounds": 10, - "team": true, - "width": 1200 - }, - "source_identity": { - "classic_selected": "cb.fire.Firestarter 2.0", - "division": "teamrumble", - "jar": "cb.fire.FirestarterTeam_2.0.jar", - "jar_sha256": "fc1585926dbd73e0a3a9ea59bf1f1e33d42e0d5cc9c5db3f74a67d7d2d36d4a5", - "key": "teamrumble/cb.fire.FirestarterTeam_2.0.jar", - "kind": "team" - }, - "status": "DISCREPANCY (outcome)", - "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" - ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], - "skipped": null - } - } - ], - "status": "DISCREPANCY (outcome)" - }, - "teamrumble/cx.mini.DemoniacNimrods_0.50.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "cx.mini.Nimrod 0.50", - "division": "teamrumble", - "jar": "cx.mini.DemoniacNimrods_0.50.jar", - "jar_sha256": "742983458acb65cb939258dbaaf6a931870606383852284df77c3374a860c098", - "key": "teamrumble/cx.mini.DemoniacNimrods_0.50.jar", - "kind": "team" - }, - "latest_observation": "59837503724eaca8", - "observations": [ { "classic": { "elapsed": 4.2, @@ -64723,7 +204871,7 @@ "completed_at": "2026-09-10T20:25:19Z", "confirmation": null, "delta_pct": null, - "id": "c10348e2e3a5a0e9", + "id": "3d1cb084bd898692", "manifest": { "artifacts": { "bot_api_jar": { @@ -64743,7 +204891,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", + "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64798,7 +204946,7 @@ "completed_at": "2026-09-10T20:25:19Z", "confirmation": null, "delta_pct": null, - "id": "beb89765e4442d28", + "id": "f34fdbcca6295155", "manifest": { "artifacts": { "bot_api_jar": { @@ -64818,7 +204966,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64873,7 +205021,7 @@ "completed_at": "2026-09-10T20:25:19Z", "confirmation": null, "delta_pct": null, - "id": "bf521d0c5817a72b", + "id": "86cf482e9d9fa3d9", "manifest": { "artifacts": { "bot_api_jar": { @@ -64882,7 +205030,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -64890,10 +205038,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -64948,7 +205096,7 @@ "completed_at": "2026-09-10T20:25:19Z", "confirmation": null, "delta_pct": null, - "id": "3d1cb084bd898692", + "id": "5afb37bdb09721e3", "manifest": { "artifacts": { "bot_api_jar": { @@ -64957,7 +205105,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -64965,10 +205113,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -65023,7 +205171,7 @@ "completed_at": "2026-09-10T20:25:19Z", "confirmation": null, "delta_pct": null, - "id": "f34fdbcca6295155", + "id": "59837503724eaca8", "manifest": { "artifacts": { "bot_api_jar": { @@ -65032,7 +205180,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -65040,10 +205188,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -65082,32 +205230,32 @@ }, { "classic": { - "elapsed": 4.2, + "elapsed": 3.7, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 21446.0, + "score": 21889.0, "scores": [ - 12044.0, - 9402.0 + 10176.0, + 11713.0 ], "selected": "cx.mini.Nimrod 0.50" }, - "completed_at": "2026-09-10T20:25:19Z", + "completed_at": "2026-09-22T18:17:36Z", "confirmation": null, - "delta_pct": null, - "id": "86cf482e9d9fa3d9", + "delta_pct": 46.6, + "id": "ffdcc9fa6535acbb", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -65115,90 +205263,21 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, - "retest": null, - "setup": { - "height": 1200, - "participants": 2, - "rounds": 10, - "team": true, - "width": 1200 - }, - "source_identity": { - "classic_selected": "cx.mini.Nimrod 0.50", - "division": "teamrumble", - "jar": "cx.mini.DemoniacNimrods_0.50.jar", - "jar_sha256": "742983458acb65cb939258dbaaf6a931870606383852284df77c3374a860c098", - "key": "teamrumble/cx.mini.DemoniacNimrods_0.50.jar", - "kind": "team" - }, - "status": "DISCREPANCY (outcome)", - "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" - ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], - "skipped": null - } - }, - { - "classic": { - "elapsed": 4.2, - "error_count": 0, - "error_signatures": [], - "errors": [], - "has_log": false, - "ok": true, - "score": 21446.0, - "scores": [ - 12044.0, - 9402.0 - ], - "selected": "cx.mini.Nimrod 0.50" - }, - "completed_at": "2026-09-10T20:25:19Z", - "confirmation": null, - "delta_pct": null, - "id": "5afb37bdb09721e3", - "manifest": { - "artifacts": { - "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" - }, - "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" - }, - "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" - }, - "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" - } - }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", - "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", - "threshold": 25.0 + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" }, - "retest": null, "setup": { "height": 1200, "participants": 2, @@ -65214,99 +205293,25 @@ "key": "teamrumble/cx.mini.DemoniacNimrods_0.50.jar", "kind": "team" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (score)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" - ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], - "skipped": null - } - }, - { - "classic": { - "elapsed": 4.2, + "elapsed": 10.0, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 21446.0, + "score": 32089.0, "scores": [ - 12044.0, - 9402.0 - ], - "selected": "cx.mini.Nimrod 0.50" - }, - "completed_at": "2026-09-10T20:25:19Z", - "confirmation": null, - "delta_pct": null, - "id": "59837503724eaca8", - "manifest": { - "artifacts": { - "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" - }, - "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" - }, - "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" - }, - "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" - } - }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", - "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", - "threshold": 25.0 - }, - "retest": null, - "setup": { - "height": 1200, - "participants": 2, - "rounds": 10, - "team": true, - "width": 1200 - }, - "source_identity": { - "classic_selected": "cx.mini.Nimrod 0.50", - "division": "teamrumble", - "jar": "cx.mini.DemoniacNimrods_0.50.jar", - "jar_sha256": "742983458acb65cb939258dbaaf6a931870606383852284df77c3374a860c098", - "key": "teamrumble/cx.mini.DemoniacNimrods_0.50.jar", - "kind": "team" - }, - "status": "DISCREPANCY (outcome)", - "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + 16119.0, + 15970.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "DISCREPANCY (outcome)" + "status": "score-review" }, "teamrumble/davidalves.PhoenixTeam_0.54.jar": { "diagnosis_events": [], @@ -67139,7 +207144,14 @@ "status": "score-review" }, "teamrumble/ethdsy.MalackaTeam_1.2.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:57Z" + } + ], "identity": { "classic_selected": "ethdsy.Malacka 2.4b", "division": "teamrumble", @@ -67148,7 +207160,7 @@ "key": "teamrumble/ethdsy.MalackaTeam_1.2.jar", "kind": "team" }, - "latest_observation": "7af6492a2dcfc090", + "latest_observation": "da49937ad4b818af", "observations": [ { "classic": { @@ -67749,12 +207761,120 @@ "scores": [], "skipped": null } + }, + { + "classic": { + "elapsed": 3.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 24982.0, + "scores": [ + 9692.0, + 15290.0 + ], + "selected": "ethdsy.Malacka 2.4b" + }, + "completed_at": "2026-09-22T18:17:44Z", + "confirmation": null, + "delta_pct": null, + "id": "da49937ad4b818af", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" + } + }, + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "ethdsy.Malacka 2.4b", + "division": "teamrumble", + "jar": "ethdsy.MalackaTeam_1.2.jar", + "jar_sha256": "380eac760fe70a97a3c4a761aafabcef83c86b7cade4bca441b0e10da4ed709c", + "key": "teamrumble/ethdsy.MalackaTeam_1.2.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.NumberFormatException", + "ethdsy.Malacka.run" + ] + ], + "elapsed": 4.2, + "error_count": 11, + "error_signatures": [ + { + "exception": "java.lang.NumberFormatException", + "origin": "ethdsy.Malacka.run" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NumberFormatException: For input string: \"M\"", + "java.lang.NumberFormatException: For input string: \"M\"", + "java.lang.NumberFormatException: For input string: \"M\"", + "java.lang.NumberFormatException: For input string: \"M\"", + "java.lang.NumberFormatException: For input string: \"M\"", + "java.lang.NumberFormatException: For input string: \"M\"", + "java.lang.NumberFormatException: For input string: \"M\"", + "java.lang.NumberFormatException: For input string: \"M\"", + "java.lang.NumberFormatException: For input string: \"M\"", + "java.lang.NumberFormatException: For input string: \"M\"" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } } ], "status": "DISCREPANCY (outcome)" }, "teamrumble/florent.XSeries.Xmen_0.9.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:57Z" + } + ], "identity": { "classic_selected": "florent.XSeries.X2 0.9", "division": "teamrumble", @@ -67763,7 +207883,7 @@ "key": "teamrumble/florent.XSeries.Xmen_0.9.jar", "kind": "team" }, - "latest_observation": "76b47d136530aef9", + "latest_observation": "90ef34e34891187f", "observations": [ { "classic": { @@ -68871,51 +208991,359 @@ "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null" + ], + "has_log": true, + "ok": true, + "score": 20155.0, + "scores": [ + 10699.0, + 9456.0 + ], + "selected": "florent.XSeries.X2 0.9" + }, + "completed_at": "2026-09-10T20:26:43Z", + "confirmation": null, + "delta_pct": null, + "id": "31a732767c4552a9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "florent.XSeries.X2 0.9", + "division": "teamrumble", + "jar": "florent.XSeries.Xmen_0.9.jar", + "jar_sha256": "7f9235dc6d7526c3c9c024dcba6a51b7d6b9d102eb0eb47a25da1870bc707770", + "key": "teamrumble/florent.XSeries.Xmen_0.9.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 29.9, + "error_count": 102, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "florent.XSeries.team.Xmen.removeBullet" + } + ], + "errors": [ + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null" + ], + "has_log": true, + "ok": true, + "score": 20155.0, + "scores": [ + 10699.0, + 9456.0 + ], + "selected": "florent.XSeries.X2 0.9" + }, + "completed_at": "2026-09-10T20:26:43Z", + "confirmation": null, + "delta_pct": null, + "id": "76b47d136530aef9", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + } + }, + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "florent.XSeries.X2 0.9", + "division": "teamrumble", + "jar": "florent.XSeries.Xmen_0.9.jar", + "jar_sha256": "7f9235dc6d7526c3c9c024dcba6a51b7d6b9d102eb0eb47a25da1870bc707770", + "key": "teamrumble/florent.XSeries.Xmen_0.9.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 24.9, + "error_count": 46, + "error_signatures": [ + { + "exception": "java.lang.NullPointerException", + "origin": "florent.XSeries.team.Xmen.removeBullet" + } + ], + "errors": [ "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", @@ -68965,26 +209393,26 @@ ], "has_log": true, "ok": true, - "score": 20155.0, + "score": 21105.0, "scores": [ - 10699.0, - 9456.0 + 8110.0, + 12995.0 ], "selected": "florent.XSeries.X2 0.9" }, - "completed_at": "2026-09-10T20:26:43Z", + "completed_at": "2026-09-22T18:18:15Z", "confirmation": null, "delta_pct": null, - "id": "31a732767c4552a9", + "id": "90ef34e34891187f", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -68992,15 +209420,21 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, "setup": { "height": 1200, "participants": 2, @@ -69018,31 +209452,48 @@ }, "status": "DISCREPANCY (outcome)", "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "florent.stats.StatKeeper.endRound" + ], + [ + "java.lang.NullPointerException", + "florent.XSeries.gun.patternrecognition.ScanStore.record" + ] ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], - "skipped": null - } - }, - { - "classic": { - "elapsed": 29.9, - "error_count": 102, + "elapsed": 6.2, + "error_count": 109, "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "florent.XSeries.gun.patternrecognition.ScanStore.record" + }, + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "florent.stats.StatKeeper.endRound" + }, + { + "exception": "java.lang.NullPointerException", + "origin": "florent.XSeries.gun.patternrecognition.ScanStore.record" + }, { "exception": "java.lang.NullPointerException", "origin": "florent.XSeries.team.Xmen.removeBullet" } ], "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", + "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.movement.wavesurfing.EnemyWave.wallDistance(double, java.awt.geom.Rectangle2D)\" because \"enemy.lastWave\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", @@ -69062,6 +209513,7 @@ "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 6", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", @@ -69094,19 +209546,7 @@ "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", - "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 6", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null", @@ -69145,18 +209585,53 @@ "java.lang.NullPointerException: Cannot invoke \"florent.XSeries.team.XBullet.getLocation(double)\" because \"bullet\" is null" ], "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + } + ], + "status": "DISCREPANCY (outcome)" + }, + "teamrumble/gh.mini.GrubbmGroup_0.4.jar": { + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:57Z" + } + ], + "identity": { + "classic_selected": "gh.mini.GrubbmOgre 0.4", + "division": "teamrumble", + "jar": "gh.mini.GrubbmGroup_0.4.jar", + "jar_sha256": "d4c8bd894ef6324d97ac984ff8ece51e4683b53b45ef4a4629155d9ddc2a5721", + "key": "teamrumble/gh.mini.GrubbmGroup_0.4.jar", + "kind": "team" + }, + "latest_observation": "8da1db1940655a72", + "observations": [ + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, "ok": true, - "score": 20155.0, + "score": 23158.0, "scores": [ - 10699.0, - 9456.0 + 11013.0, + 12145.0 ], - "selected": "florent.XSeries.X2 0.9" + "selected": "gh.mini.GrubbmOgre 0.4" }, - "completed_at": "2026-09-10T20:26:43Z", + "completed_at": "2026-09-10T20:26:48Z", "confirmation": null, "delta_pct": null, - "id": "76b47d136530aef9", + "id": "8cec0ab92a2d154e", "manifest": { "artifacts": { "bot_api_jar": { @@ -69165,7 +209640,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -69173,10 +209648,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -69190,11 +209665,11 @@ "width": 1200 }, "source_identity": { - "classic_selected": "florent.XSeries.X2 0.9", + "classic_selected": "gh.mini.GrubbmOgre 0.4", "division": "teamrumble", - "jar": "florent.XSeries.Xmen_0.9.jar", - "jar_sha256": "7f9235dc6d7526c3c9c024dcba6a51b7d6b9d102eb0eb47a25da1870bc707770", - "key": "teamrumble/florent.XSeries.Xmen_0.9.jar", + "jar": "gh.mini.GrubbmGroup_0.4.jar", + "jar_sha256": "d4c8bd894ef6324d97ac984ff8ece51e4683b53b45ef4a4629155d9ddc2a5721", + "key": "teamrumble/gh.mini.GrubbmGroup_0.4.jar", "kind": "team" }, "status": "DISCREPANCY (outcome)", @@ -69212,22 +209687,7 @@ "scores": [], "skipped": null } - } - ], - "status": "DISCREPANCY (outcome)" - }, - "teamrumble/gh.mini.GrubbmGroup_0.4.jar": { - "diagnosis_events": [], - "identity": { - "classic_selected": "gh.mini.GrubbmOgre 0.4", - "division": "teamrumble", - "jar": "gh.mini.GrubbmGroup_0.4.jar", - "jar_sha256": "d4c8bd894ef6324d97ac984ff8ece51e4683b53b45ef4a4629155d9ddc2a5721", - "key": "teamrumble/gh.mini.GrubbmGroup_0.4.jar", - "kind": "team" - }, - "latest_observation": "29b983fb951e3497", - "observations": [ + }, { "classic": { "elapsed": 4.3, @@ -69246,7 +209706,7 @@ "completed_at": "2026-09-10T20:26:48Z", "confirmation": null, "delta_pct": null, - "id": "8cec0ab92a2d154e", + "id": "4f75587bbbfbf30c", "manifest": { "artifacts": { "bot_api_jar": { @@ -69266,7 +209726,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "a7d4b6f1c0b66cb5b33a358320e9a9bda1acfbbd", + "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -69321,7 +209781,7 @@ "completed_at": "2026-09-10T20:26:48Z", "confirmation": null, "delta_pct": null, - "id": "4f75587bbbfbf30c", + "id": "f937b259781db762", "manifest": { "artifacts": { "bot_api_jar": { @@ -69341,7 +209801,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "752e29dcf7ebb8b9a47b7806b0b3b735c3dfe746", + "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -69396,7 +209856,7 @@ "completed_at": "2026-09-10T20:26:48Z", "confirmation": null, "delta_pct": null, - "id": "f937b259781db762", + "id": "e753019f6ee477ff", "manifest": { "artifacts": { "bot_api_jar": { @@ -69416,7 +209876,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "751785362777a5b4d0f69fb70f7ed268e37918e4", + "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -69471,7 +209931,7 @@ "completed_at": "2026-09-10T20:26:48Z", "confirmation": null, "delta_pct": null, - "id": "e753019f6ee477ff", + "id": "8ccf3a821828cc68", "manifest": { "artifacts": { "bot_api_jar": { @@ -69491,7 +209951,7 @@ "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" } }, - "bridge_commit": "57214cf7a0557969a70ef86e11d389da902586f9", + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -69546,7 +210006,7 @@ "completed_at": "2026-09-10T20:26:48Z", "confirmation": null, "delta_pct": null, - "id": "8ccf3a821828cc68", + "id": "036ad0575c54d136", "manifest": { "artifacts": { "bot_api_jar": { @@ -69555,7 +210015,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -69563,10 +210023,85 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "gh.mini.GrubbmOgre 0.4", + "division": "teamrumble", + "jar": "gh.mini.GrubbmGroup_0.4.jar", + "jar_sha256": "d4c8bd894ef6324d97ac984ff8ece51e4683b53b45ef4a4629155d9ddc2a5721", + "key": "teamrumble/gh.mini.GrubbmGroup_0.4.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 4.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 23158.0, + "scores": [ + 11013.0, + 12145.0 + ], + "selected": "gh.mini.GrubbmOgre 0.4" + }, + "completed_at": "2026-09-10T20:26:48Z", + "confirmation": null, + "delta_pct": null, + "id": "8c1610230ecfeccb", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -69621,7 +210156,7 @@ "completed_at": "2026-09-10T20:26:48Z", "confirmation": null, "delta_pct": null, - "id": "036ad0575c54d136", + "id": "29b983fb951e3497", "manifest": { "artifacts": { "bot_api_jar": { @@ -69630,7 +210165,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -69638,10 +210173,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -69680,32 +210215,32 @@ }, { "classic": { - "elapsed": 4.3, + "elapsed": 3.6, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 23158.0, + "score": 22956.0, "scores": [ - 11013.0, - 12145.0 + 11631.0, + 11325.0 ], "selected": "gh.mini.GrubbmOgre 0.4" }, - "completed_at": "2026-09-10T20:26:48Z", + "completed_at": "2026-09-22T18:18:45Z", "confirmation": null, - "delta_pct": null, - "id": "8c1610230ecfeccb", + "delta_pct": 29.8, + "id": "8da1db1940655a72", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -69713,15 +210248,21 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, "setup": { "height": 1200, "participants": 2, @@ -69737,99 +210278,25 @@ "key": "teamrumble/gh.mini.GrubbmGroup_0.4.jar", "kind": "team" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (score)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" - ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], - "skipped": null - } - }, - { - "classic": { - "elapsed": 4.3, + "elapsed": 26.1, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 23158.0, + "score": 29799.0, "scores": [ - 11013.0, - 12145.0 + 15191.0, + 14608.0 ], - "selected": "gh.mini.GrubbmOgre 0.4" - }, - "completed_at": "2026-09-10T20:26:48Z", - "confirmation": null, - "delta_pct": null, - "id": "29b983fb951e3497", - "manifest": { - "artifacts": { - "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" - }, - "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" - }, - "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" - }, - "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" - } - }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", - "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", - "threshold": 25.0 - }, - "retest": null, - "setup": { - "height": 1200, - "participants": 2, - "rounds": 10, - "team": true, - "width": 1200 - }, - "source_identity": { - "classic_selected": "gh.mini.GrubbmOgre 0.4", - "division": "teamrumble", - "jar": "gh.mini.GrubbmGroup_0.4.jar", - "jar_sha256": "d4c8bd894ef6324d97ac984ff8ece51e4683b53b45ef4a4629155d9ddc2a5721", - "key": "teamrumble/gh.mini.GrubbmGroup_0.4.jar", - "kind": "team" - }, - "status": "DISCREPANCY (outcome)", - "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" - ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "DISCREPANCY (outcome)" + "status": "score-review" }, "teamrumble/gh.nano.GrofGroup_1.1.jar": { "diagnosis_events": [], @@ -73007,7 +213474,14 @@ "status": "DISCREPANCY (outcome)" }, "teamrumble/kawigi.micro.ArmyOfShiz_1.1.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:57Z" + } + ], "identity": { "classic_selected": "kawigi.micro.Shiz 1.1", "division": "teamrumble", @@ -73016,7 +213490,7 @@ "key": "teamrumble/kawigi.micro.ArmyOfShiz_1.1.jar", "kind": "team" }, - "latest_observation": "c1295aebef75315f", + "latest_observation": "d191b3cc728cc41d", "observations": [ { "classic": { @@ -73542,12 +214016,101 @@ "scores": [], "skipped": null } + }, + { + "classic": { + "elapsed": 6.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20796.0, + "scores": [ + 10213.0, + 10583.0 + ], + "selected": "kawigi.micro.Shiz 1.1" + }, + "completed_at": "2026-09-22T18:19:12Z", + "confirmation": null, + "delta_pct": 19.9, + "id": "d191b3cc728cc41d", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" + } + }, + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "kawigi.micro.Shiz 1.1", + "division": "teamrumble", + "jar": "kawigi.micro.ArmyOfShiz_1.1.jar", + "jar_sha256": "5a3f656a25984f50dd15ba2f482f114dd8719c8fee3c2795e7829d7fc2fcb28f", + "key": "teamrumble/kawigi.micro.ArmyOfShiz_1.1.jar", + "kind": "team" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 20.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 24943.0, + "scores": [ + 12549.0, + 12394.0 + ], + "skipped": null + } } ], - "status": "DISCREPANCY (outcome)" + "status": "PASS" }, "teamrumble/kawigi.sbf.TidalWave_0.8.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:57Z" + } + ], "identity": { "classic_selected": "kawigi.sbf.FloodHT 0.8", "division": "teamrumble", @@ -73556,7 +214119,7 @@ "key": "teamrumble/kawigi.sbf.TidalWave_0.8.jar", "kind": "team" }, - "latest_observation": "bc5aed98b43bd0b7", + "latest_observation": "def9be010e856ed7", "observations": [ { "classic": { @@ -74082,6 +214645,101 @@ "scores": [], "skipped": null } + }, + { + "classic": { + "elapsed": 6.9, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 22521.0, + "scores": [ + 13093.0, + 9428.0 + ], + "selected": "kawigi.sbf.FloodHT 0.8" + }, + "completed_at": "2026-09-22T18:19:26Z", + "confirmation": null, + "delta_pct": null, + "id": "def9be010e856ed7", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" + } + }, + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "kawigi.sbf.FloodHT 0.8", + "division": "teamrumble", + "jar": "kawigi.sbf.TidalWave_0.8.jar", + "jar_sha256": "1bbdb19a62782ebde0c75eccb304b082b2ec2ba9f6e9727405a43cee41792708", + "key": "teamrumble/kawigi.sbf.TidalWave_0.8.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "java.lang.ArrayIndexOutOfBoundsException", + "kawigi.sbf.FloodHT.onEnd" + ] + ], + "elapsed": 6.1, + "error_count": 5, + "error_signatures": [ + { + "exception": "java.lang.ArrayIndexOutOfBoundsException", + "origin": "kawigi.sbf.FloodHT.onEnd" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "java.lang.ArrayIndexOutOfBoundsException: Index 8 out of bounds for length 6", + "java.lang.ArrayIndexOutOfBoundsException: Index 7 out of bounds for length 6", + "java.lang.ArrayIndexOutOfBoundsException: Index 6 out of bounds for length 6", + "java.lang.ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 6" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } } ], "status": "DISCREPANCY (outcome)" @@ -76680,7 +217338,20 @@ "status": "score-review" }, "teamrumble/mn.CombatTeam_3.25.0.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:58Z" + }, + { + "cause": "tank-royale-team-message-limit", + "id": "diagnosis-2", + "owner": "tank-royale", + "recorded_at": "2026-09-22T18:40:08Z" + } + ], "identity": { "classic_selected": "mn.Combat 3.25.0", "division": "teamrumble", @@ -76689,7 +217360,7 @@ "key": "teamrumble/mn.CombatTeam_3.25.0.jar", "kind": "team" }, - "latest_observation": "e6184c662faad118", + "latest_observation": "ff6384a43dc40ba1", "observations": [ { "classic": { @@ -77215,12 +217886,195 @@ "scores": [], "skipped": null } + }, + { + "classic": { + "elapsed": 52.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20841.0, + "scores": [ + 7773.0, + 13068.0 + ], + "selected": "mn.Combat 3.25.0" + }, + "completed_at": "2026-09-22T18:20:30Z", + "confirmation": null, + "delta_pct": null, + "id": "f9c5cb6bbddd06d5", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" + } + }, + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "mn.Combat 3.25.0", + "division": "teamrumble", + "jar": "mn.CombatTeam_3.25.0.jar", + "jar_sha256": "64618918a708b58cd8877b78071e64dc77239fdf43113fade60f566962f04268", + "key": "teamrumble/mn.CombatTeam_3.25.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": [ + [ + "dev.robocode.tankroyale.botapi.BotException", + "mn.b.e.a" + ] + ], + "elapsed": 10.2, + "error_count": 9, + "error_signatures": [ + { + "exception": "dev.robocode.tankroyale.botapi.BotException", + "origin": "mn.b.e.a" + } + ], + "errors": [ + "HARNESS: worker produced no result (exit code -1)", + "dev.robocode.tankroyale.botapi.BotException: The maximum number team massages has already been reached: 10", + "dev.robocode.tankroyale.botapi.BotException: The maximum number team massages has already been reached: 10", + "dev.robocode.tankroyale.botapi.BotException: The maximum number team massages has already been reached: 10", + "dev.robocode.tankroyale.botapi.BotException: The maximum number team massages has already been reached: 10", + "dev.robocode.tankroyale.botapi.BotException: The maximum number team massages has already been reached: 10", + "dev.robocode.tankroyale.botapi.BotException: The maximum number team massages has already been reached: 10", + "dev.robocode.tankroyale.botapi.BotException: The maximum number team massages has already been reached: 10", + "dev.robocode.tankroyale.botapi.BotException: The maximum number team massages has already been reached: 10" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 34.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 10645.0, + "scores": [ + 3832.0, + 6813.0 + ], + "selected": "mn.Combat 3.25.0" + }, + "completed_at": "2026-09-23T19:44:44Z", + "confirmation": null, + "delta_pct": 25.6, + "id": "ff6384a43dc40ba1", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.4.0.jar", + "sha256": "c6f5ec58c498ed3338ed3092820380a184ad7e674e4829e67d6bd1a428ed289f" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\build\\libs\\robocode-tankroyale-runner-1.4.0.jar", + "sha256": "49891ec09e277e7e88d520bb220d5425a79587c2f850fdc85c46275283690bde" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "09d446cb5dc08c5a71d9ebf8398d135c1a31e15b0d942ef13cf2f41b3ad11708" + } + }, + "bridge_commit": "cc5a6735f6c4002418338c35e96710844e25b3ca", + "official_parameters": false, + "robocode_version": "1.11.1", + "tank_royale_commit": "ee091b2ed7ebbd274649d1472f249b9816455710", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 5, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "mn.Combat 3.25.0", + "division": "teamrumble", + "jar": "mn.CombatTeam_3.25.0.jar", + "jar_sha256": "64618918a708b58cd8877b78071e64dc77239fdf43113fade60f566962f04268", + "key": "teamrumble/mn.CombatTeam_3.25.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 22.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 13367.0, + "scores": [ + 7379.0, + 5988.0 + ], + "skipped": null + } } ], - "status": "DISCREPANCY (outcome)" + "status": "score-review" }, "teamrumble/mn.SuperSittingDuckTeam_1.0.2.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:58Z" + } + ], "identity": { "classic_selected": "mn.SuperSittingDuck 1.0.2", "division": "teamrumble", @@ -77229,7 +218083,7 @@ "key": "teamrumble/mn.SuperSittingDuckTeam_1.0.2.jar", "kind": "team" }, - "latest_observation": "77d4cb00fc9740ab", + "latest_observation": "35c5a5b5b403c542", "observations": [ { "classic": { @@ -77717,7 +218571,369 @@ "completed_at": "2026-09-10T20:32:19Z", "confirmation": null, "delta_pct": null, - "id": "9923ab4ea9673f2c", + "id": "9923ab4ea9673f2c", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + } + }, + "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "mn.SuperSittingDuck 1.0.2", + "division": "teamrumble", + "jar": "mn.SuperSittingDuckTeam_1.0.2.jar", + "jar_sha256": "54725c8839f7074aac3a9f30d6adfd6bca82e7f0756ed792cff928e3ca5f457e", + "key": "teamrumble/mn.SuperSittingDuckTeam_1.0.2.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.2, + "error_count": 100, + "error_signatures": [ + { + "exception": "java.lang.RuntimeException", + "origin": "mn.SuperSittingDuck.run" + } + ], + "errors": [ + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException" + ], + "has_log": true, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "mn.SuperSittingDuck 1.0.2" + }, + "completed_at": "2026-09-10T20:32:19Z", + "confirmation": null, + "delta_pct": null, + "id": "ff3ac328b40cfd60", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "mn.SuperSittingDuck 1.0.2", + "division": "teamrumble", + "jar": "mn.SuperSittingDuckTeam_1.0.2.jar", + "jar_sha256": "54725c8839f7074aac3a9f30d6adfd6bca82e7f0756ed792cff928e3ca5f457e", + "key": "teamrumble/mn.SuperSittingDuckTeam_1.0.2.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 2.2, + "error_count": 100, + "error_signatures": [ + { + "exception": "java.lang.RuntimeException", + "origin": "mn.SuperSittingDuck.run" + } + ], + "errors": [ + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException", + "java.lang.RuntimeException" + ], + "has_log": true, + "ok": true, + "score": 0.0, + "scores": [ + 0.0, + 0.0 + ], + "selected": "mn.SuperSittingDuck 1.0.2" + }, + "completed_at": "2026-09-10T20:32:19Z", + "confirmation": null, + "delta_pct": null, + "id": "d6ab80070d153c70", "manifest": { "artifacts": { "bot_api_jar": { @@ -77726,7 +218942,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "6ab8a563a1053eb43abb0b90b046bb3cf9e3a7803d3adddd8fc48f05c76c7826" + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -77734,10 +218950,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "7fbeea65e716bcf07249c5978c29f90e546ca97564c9d592b48a3b6ef31941d8" + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "d8d1a01242a9b9ff93a3a1e74b3b5cac90c2062a", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -77898,7 +219114,7 @@ "completed_at": "2026-09-10T20:32:19Z", "confirmation": null, "delta_pct": null, - "id": "ff3ac328b40cfd60", + "id": "77d4cb00fc9740ab", "manifest": { "artifacts": { "bot_api_jar": { @@ -77907,7 +219123,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -77915,10 +219131,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -77957,7 +219173,7 @@ }, { "classic": { - "elapsed": 2.2, + "elapsed": 1.6, "error_count": 100, "error_signatures": [ { @@ -78076,19 +219292,19 @@ ], "selected": "mn.SuperSittingDuck 1.0.2" }, - "completed_at": "2026-09-10T20:32:19Z", + "completed_at": "2026-09-22T18:21:02Z", "confirmation": null, "delta_pct": null, - "id": "d6ab80070d153c70", + "id": "35c5a5b5b403c542", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -78096,15 +219312,21 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, "setup": { "height": 1200, "participants": 2, @@ -78120,25 +219342,10 @@ "key": "teamrumble/mn.SuperSittingDuckTeam_1.0.2.jar", "kind": "team" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (no score)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" - ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], - "skipped": null - } - }, - { - "classic": { - "elapsed": 2.2, + "elapsed": 18.1, "error_count": 100, "error_signatures": [ { @@ -78255,73 +219462,21 @@ 0.0, 0.0 ], - "selected": "mn.SuperSittingDuck 1.0.2" - }, - "completed_at": "2026-09-10T20:32:19Z", - "confirmation": null, - "delta_pct": null, - "id": "77d4cb00fc9740ab", - "manifest": { - "artifacts": { - "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" - }, - "bridge_api_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" - }, - "runner_jar": { - "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", - "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" - }, - "wrapper_jar": { - "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" - } - }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", - "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", - "threshold": 25.0 - }, - "retest": null, - "setup": { - "height": 1200, - "participants": 2, - "rounds": 10, - "team": true, - "width": 1200 - }, - "source_identity": { - "classic_selected": "mn.SuperSittingDuck 1.0.2", - "division": "teamrumble", - "jar": "mn.SuperSittingDuckTeam_1.0.2.jar", - "jar_sha256": "54725c8839f7074aac3a9f30d6adfd6bca82e7f0756ed792cff928e3ca5f457e", - "key": "teamrumble/mn.SuperSittingDuckTeam_1.0.2.jar", - "kind": "team" - }, - "status": "DISCREPANCY (outcome)", - "tank_royale": { - "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, - "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" - ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "DISCREPANCY (outcome)" + "status": "DISCREPANCY (no score)" }, "teamrumble/mn.nano.perceptual.ImpactTeam_1.3.0.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:58Z" + } + ], "identity": { "classic_selected": "mn.nano.perceptual.Impact 1.3.0", "division": "teamrumble", @@ -78330,7 +219485,7 @@ "key": "teamrumble/mn.nano.perceptual.ImpactTeam_1.3.0.jar", "kind": "team" }, - "latest_observation": "4a69881cd4bd3ab8", + "latest_observation": "f07457b85f7d6964", "observations": [ { "classic": { @@ -78781,12 +219936,101 @@ "scores": [], "skipped": null } + }, + { + "classic": { + "elapsed": 1.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 25738.0, + "scores": [ + 10760.0, + 14978.0 + ], + "selected": "mn.nano.perceptual.Impact 1.3.0" + }, + "completed_at": "2026-09-22T18:20:42Z", + "confirmation": null, + "delta_pct": 43.1, + "id": "f07457b85f7d6964", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" + } + }, + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "mn.nano.perceptual.Impact 1.3.0", + "division": "teamrumble", + "jar": "mn.nano.perceptual.ImpactTeam_1.3.0.jar", + "jar_sha256": "909094b34b95955fee95cab355a2a8589fa54ad65ee848b91e781fc538c70391", + "key": "teamrumble/mn.nano.perceptual.ImpactTeam_1.3.0.jar", + "kind": "team" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 10.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 36829.0, + "scores": [ + 19580.0, + 17249.0 + ], + "skipped": null + } } ], - "status": "DISCREPANCY (outcome)" + "status": "score-review" }, "teamrumble/ms.AresHaikuTeam_0.3.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:58Z" + } + ], "identity": { "classic_selected": "ms.AresHaiku 0.3", "division": "teamrumble", @@ -78795,7 +220039,7 @@ "key": "teamrumble/ms.AresHaikuTeam_0.3.jar", "kind": "team" }, - "latest_observation": "f35bd5706b1577c3", + "latest_observation": "208d6bf410614cc3", "observations": [ { "classic": { @@ -79040,7 +220284,82 @@ "completed_at": "2026-09-10T20:32:23Z", "confirmation": null, "delta_pct": null, - "id": "d70f0d4f3c1c5aff", + "id": "d70f0d4f3c1c5aff", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", + "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + } + }, + "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "official_parameters": true, + "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "threshold": 25.0 + }, + "retest": null, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "ms.AresHaiku 0.3", + "division": "teamrumble", + "jar": "ms.AresHaikuTeam_0.3.jar", + "jar_sha256": "8d42c60a8d2a9872b825d481b62d751d8e1d1243eb74d895734f85152677b987", + "key": "teamrumble/ms.AresHaikuTeam_0.3.jar", + "kind": "team" + }, + "status": "DISCREPANCY (outcome)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 0.0, + "error_count": 1, + "error_signatures": [], + "errors": [ + "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + ], + "has_log": true, + "ok": false, + "score": null, + "scores": [], + "skipped": null + } + }, + { + "classic": { + "elapsed": 3.4, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20118.0, + "scores": [ + 7307.0, + 12811.0 + ], + "selected": "ms.AresHaiku 0.3" + }, + "completed_at": "2026-09-10T20:32:23Z", + "confirmation": null, + "delta_pct": null, + "id": "5df65c6879c07ba4", "manifest": { "artifacts": { "bot_api_jar": { @@ -79060,7 +220379,7 @@ "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" } }, - "bridge_commit": "55a3c30d5e9b0d1ae1e71e11db1e218d4d2d8806", + "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -79115,7 +220434,7 @@ "completed_at": "2026-09-10T20:32:23Z", "confirmation": null, "delta_pct": null, - "id": "5df65c6879c07ba4", + "id": "f35bd5706b1577c3", "manifest": { "artifacts": { "bot_api_jar": { @@ -79124,7 +220443,7 @@ }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", - "sha256": "8967a85142caa5d5c6d2ab18e0b48057058b4dab35e49279c8528ed6513a2441" + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" }, "runner_jar": { "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", @@ -79132,10 +220451,10 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "3de5c926f031e344006963f66936df26615cadbab42486954548f2812b0de2cd" + "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" } }, - "bridge_commit": "92c800940369692b9405662c4b2166eaf04de42b", + "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", "official_parameters": true, "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", "threshold": 25.0 @@ -79174,28 +220493,28 @@ }, { "classic": { - "elapsed": 3.4, + "elapsed": 2.5, "error_count": 0, "error_signatures": [], "errors": [], "has_log": false, "ok": true, - "score": 20118.0, + "score": 20567.0, "scores": [ - 7307.0, - 12811.0 + 11459.0, + 9108.0 ], "selected": "ms.AresHaiku 0.3" }, - "completed_at": "2026-09-10T20:32:23Z", + "completed_at": "2026-09-22T18:21:19Z", "confirmation": null, - "delta_pct": null, - "id": "f35bd5706b1577c3", + "delta_pct": 39.9, + "id": "208d6bf410614cc3", "manifest": { "artifacts": { "bot_api_jar": { - "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.2.0.jar", - "sha256": "d62396784e1e03acb37e3caa74b242dd9e2bd5f78d2d4033bf97bc242474d265" + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" }, "bridge_api_jar": { "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", @@ -79207,15 +220526,21 @@ }, "wrapper_jar": { "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", - "sha256": "27cfeefd415e961e924fd04e8bd6c0cf14d9bb7d7f87e1069b7e9fec7acfa047" + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" } }, - "bridge_commit": "d64c2fbad098a8f001662f9aad542e4352e3cb63", + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", "official_parameters": true, - "tank_royale_commit": "0b2d2beb27387235c24a22f8d8fbd10bf88ef835", + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", "threshold": 25.0 }, - "retest": null, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, "setup": { "height": 1200, "participants": 2, @@ -79231,24 +220556,25 @@ "key": "teamrumble/ms.AresHaikuTeam_0.3.jar", "kind": "team" }, - "status": "DISCREPANCY (outcome)", + "status": "DISCREPANCY (score)", "tank_royale": { "bridge_only_signatures": null, - "elapsed": 0.0, - "error_count": 1, + "elapsed": 14.0, + "error_count": 0, "error_signatures": [], - "errors": [ - "HARNESS: robots-wrapper produced no bot directory (no robot .properties in jar?):" + "errors": [], + "has_log": false, + "ok": true, + "score": 28763.0, + "scores": [ + 14611.0, + 14152.0 ], - "has_log": true, - "ok": false, - "score": null, - "scores": [], "skipped": null } } ], - "status": "DISCREPANCY (outcome)" + "status": "score-review" }, "teamrumble/mskwik.BumblingIdiots_1.0.jar": { "diagnosis_events": [], @@ -79722,7 +221048,14 @@ "status": "score-review" }, "teamrumble/myl.micro.TroodonPack_1.10.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:58Z" + } + ], "identity": { "classic_selected": "myl.micro.Troodon 1.10", "division": "teamrumble", @@ -79731,7 +221064,7 @@ "key": "teamrumble/myl.micro.TroodonPack_1.10.jar", "kind": "team" }, - "latest_observation": "158adf42fb2b69b8", + "latest_observation": "4966d291dcec2148", "observations": [ { "classic": { @@ -80182,9 +221515,91 @@ "scores": [], "skipped": null } + }, + { + "classic": { + "elapsed": 3.5, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 20027.0, + "scores": [ + 9110.0, + 10917.0 + ], + "selected": "myl.micro.Troodon 1.10" + }, + "completed_at": "2026-09-22T18:21:39Z", + "confirmation": null, + "delta_pct": 10.2, + "id": "4966d291dcec2148", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" + } + }, + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "myl.micro.Troodon 1.10", + "division": "teamrumble", + "jar": "myl.micro.TroodonPack_1.10.jar", + "jar_sha256": "6a58910408814544a7e877313a65908825ab1e72764ba9bad502ecef93799e5c", + "key": "teamrumble/myl.micro.TroodonPack_1.10.jar", + "kind": "team" + }, + "status": "PASS", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.0, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 22079.0, + "scores": [ + 11350.0, + 10729.0 + ], + "skipped": null + } } ], - "status": "DISCREPANCY (outcome)" + "status": "PASS" }, "teamrumble/ntc.slippery.Slippery_1.0.jar": { "diagnosis_events": [], @@ -80658,7 +222073,14 @@ "status": "score-review" }, "teamrumble/pedersen.ImWithDroidTeam_1.3.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:58Z" + } + ], "identity": { "classic_selected": "pedersen.ImWithStupid 1.3", "division": "teamrumble", @@ -80667,7 +222089,7 @@ "key": "teamrumble/pedersen.ImWithDroidTeam_1.3.jar", "kind": "team" }, - "latest_observation": "05d5284e7b3b78b2", + "latest_observation": "9c7e73ca883e1468", "observations": [ { "classic": { @@ -81118,12 +222540,101 @@ "scores": [], "skipped": null } + }, + { + "classic": { + "elapsed": 13.8, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 19859.0, + "scores": [ + 12148.0, + 7711.0 + ], + "selected": "pedersen.ImWithStupid 1.3" + }, + "completed_at": "2026-09-22T18:22:07Z", + "confirmation": null, + "delta_pct": 37.4, + "id": "9c7e73ca883e1468", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" + } + }, + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "pedersen.ImWithStupid 1.3", + "division": "teamrumble", + "jar": "pedersen.ImWithDroidTeam_1.3.jar", + "jar_sha256": "08590df195fdc1d850fcf718064c1338f9d4dc85fab3affe9908b19aa24aa33b", + "key": "teamrumble/pedersen.ImWithDroidTeam_1.3.jar", + "kind": "team" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 14.2, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 27296.0, + "scores": [ + 14380.0, + 12916.0 + ], + "skipped": null + } } ], - "status": "DISCREPANCY (outcome)" + "status": "score-review" }, "teamrumble/pedersen.ImWithStupidTeam_1.3.jar": { - "diagnosis_events": [], + "diagnosis_events": [ + { + "cause": "nested-team-jar-discovery", + "id": "diagnosis-1", + "owner": "wrapper", + "recorded_at": "2026-09-22T18:12:58Z" + } + ], "identity": { "classic_selected": "pedersen.ImWithStupid 1.3", "division": "teamrumble", @@ -81132,7 +222643,7 @@ "key": "teamrumble/pedersen.ImWithStupidTeam_1.3.jar", "kind": "team" }, - "latest_observation": "3240fb0bb549a6fd", + "latest_observation": "6881105b0a1dac37", "observations": [ { "classic": { @@ -81583,9 +223094,91 @@ "scores": [], "skipped": null } + }, + { + "classic": { + "elapsed": 11.3, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 22839.0, + "scores": [ + 11203.0, + 11636.0 + ], + "selected": "pedersen.ImWithStupid 1.3" + }, + "completed_at": "2026-09-22T18:22:35Z", + "confirmation": null, + "delta_pct": 34.2, + "id": "6881105b0a1dac37", + "manifest": { + "artifacts": { + "bot_api_jar": { + "path": "C:\\Code\\tank-royale\\bot-api\\java\\build\\libs\\robocode-tankroyale-bot-api-1.3.1.jar", + "sha256": "33a06bfcbf9711f946336afe90ca0c8d3ad72cd3dd96b955e694101c4bee1f7b" + }, + "bridge_api_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robocode-api\\build\\libs\\robocode-api-0.5.0.jar", + "sha256": "5c4abd10a629eeafed273018617e436e6267d17519092e70b68c094bed3cb9fd" + }, + "runner_jar": { + "path": "C:\\Code\\tank-royale\\runner\\examples\\lib\\robocode-tankroyale-runner.jar", + "sha256": "3b3212aded7edf2eca481e2e536075f59e074993a85f87ba7f5bd0760892c151" + }, + "wrapper_jar": { + "path": "C:\\Code\\robocode-api-bridge\\robots-wrapper\\build\\libs\\robots-wrapper-0.3.1.jar", + "sha256": "f46fc2b25bbae8658817e1324f827128f0194127ca50ccc8de3a5f194bbad2ee" + } + }, + "bridge_commit": "f76de0ca9e422c3ca20fbd97692e5a19f063fab0", + "official_parameters": true, + "robocode_version": "1.11.1", + "tank_royale_commit": "9c25770c02671d1f9d941aad312013562a441427", + "threshold": 25.0 + }, + "retest": { + "cause": "nested-team-jar-discovery", + "diagnosis_id": "diagnosis-1", + "owner": "wrapper", + "repair": "f76de0c" + }, + "setup": { + "height": 1200, + "participants": 2, + "rounds": 10, + "team": true, + "width": 1200 + }, + "source_identity": { + "classic_selected": "pedersen.ImWithStupid 1.3", + "division": "teamrumble", + "jar": "pedersen.ImWithStupidTeam_1.3.jar", + "jar_sha256": "214b6b55252fb3dd161f641833c48db0401f6b87277427fb4708b07880b7e317", + "key": "teamrumble/pedersen.ImWithStupidTeam_1.3.jar", + "kind": "team" + }, + "status": "DISCREPANCY (score)", + "tank_royale": { + "bridge_only_signatures": null, + "elapsed": 16.1, + "error_count": 0, + "error_signatures": [], + "errors": [], + "has_log": false, + "ok": true, + "score": 30640.0, + "scores": [ + 15564.0, + 15076.0 + ], + "skipped": null + } } ], - "status": "DISCREPANCY (outcome)" + "status": "score-review" }, "teamrumble/radnor.RadnorMedSchool_1.0.jar": { "diagnosis_events": [], diff --git a/compat-test/parity-registry.md b/compat-test/parity-registry.md index 9de792a..ac4b39f 100644 --- a/compat-test/parity-registry.md +++ b/compat-test/parity-registry.md @@ -6,260 +6,1211 @@ This generated table is the reviewed index of the append-only observations in `p | Status | Subjects | |---|---:| -| DISCREPANCY (errors) | 16 | -| DISCREPANCY (no score) | 4 | -| DISCREPANCY (outcome) | 28 | -| FAIL (TR) | 19 | -| PASS | 144 | -| score-review | 76 | +| DISCREPANCY (errors) | 78 | +| DISCREPANCY (no score) | 41 | +| DISCREPANCY (outcome) | 83 | +| MATCHED (failure) | 49 | +| PASS | 694 | +| score-review | 293 | ## Subjects | Subject | Division | Kind | Status | Latest observation | Cause | Owner | |---|---|---|---|---|---|---| -| meleerumble/aaa.r.ScalarR_0.005g.047.jar | meleerumble | robot | DISCREPANCY (errors) | 7b7ecead34276dcc | robot-file-stream-limit | bridge | +| meleerumble/aaa.r.ScalarR_0.005g.047.jar | meleerumble | robot | DISCREPANCY (errors) | 9390bec53e59bd32 | robot-file-stream-limit | bridge | | meleerumble/abud.ThirdRobo_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | d274a46e9d0ff8b7 | team-message-nonserializable-payload | bridge | -| meleerumble/adt.Ar1_2.1.jar | meleerumble | robot | DISCREPANCY (errors) | b98294b0afc884fb | robot-file-stream-limit | bridge | -| meleerumble/adt.Ar2_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | 8746421b2797b078 | robot-file-stream-limit | bridge | -| meleerumble/adt.Ar2_1.1.jar | meleerumble | robot | DISCREPANCY (errors) | b633393d13bb8843 | robot-file-stream-limit | bridge | -| meleerumble/agd.Mooserwirt2_2.7.jar | meleerumble | robot | DISCREPANCY (outcome) | c84d1719f56ee2e7 | robot-file-stream-limit | bridge | -| meleerumble/agrach.Dalek_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | dce80d1630437076 | robot-file-stream-limit | bridge | -| meleerumble/ags.Glacier_0.2.11.jar | meleerumble | robot | DISCREPANCY (errors) | 5937e5feeac76b35 | robot-file-stream-limit | bridge | -| meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar | meleerumble | robot | DISCREPANCY (outcome) | 8ed34fb1a31e5429 | robot-file-stream-limit | bridge | -| meleerumble/ahf.NanoAndrew_.4.jar | meleerumble | robot | DISCREPANCY (errors) | 9b2cae1a592bd2c7 | robot-file-stream-limit | bridge | -| meleerumble/ahr.ice.Ice_1.0.2.jar | meleerumble | robot | DISCREPANCY (errors) | 1b4cd1e42e4e657f | robot-file-stream-limit | bridge | -| meleerumble/ak.Fermat_2.0.jar | meleerumble | robot | DISCREPANCY (outcome) | c8d17a86834b130c | robot-file-stream-limit | bridge | -| meleerumble/amk.ChumbaMini_0.2.jar | meleerumble | robot | DISCREPANCY (errors) | 9d895a8bc6e3fd0a | robot-file-stream-limit | bridge | -| meleerumble/amk.ChumbaWumba_0.3.jar | meleerumble | robot | DISCREPANCY (errors) | 59b8ce064be79025 | robot-file-stream-limit | bridge | -| meleerumble/amk.Punbot.Punbot_0.01.jar | meleerumble | robot | DISCREPANCY (errors) | d8d5f7f19cea99d9 | robot-file-stream-limit | bridge | -| meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar | meleerumble | robot | DISCREPANCY (errors) | 5db1d80aa5499f68 | robot-file-stream-limit | bridge | -| meleerumble/amk.jointstrike.JointStrike_0.2.jar | meleerumble | robot | DISCREPANCY (errors) | d8d75fced51e8ee0 | robot-file-stream-limit | bridge | -| roborumble/AD.CodaFirst_1.1.jar | roborumble | robot | score-review | c64fb0b475ea6e81 | - | - | -| roborumble/AIR.iRobot_1.0.jar | roborumble | robot | FAIL (TR) | 30ccf919e98128fe | - | - | -| roborumble/And.BasicSurfer_FF1.6.jar | roborumble | robot | PASS | e10ba12633f28ccf | - | - | -| roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar | roborumble | robot | DISCREPANCY (no score) | 8ee700d1da5ca3de | - | - | -| roborumble/CharlieN.Omega.Omega_1.03.jar | roborumble | robot | PASS | 23e880a8344ee3d9 | - | - | -| roborumble/a.FreyaOS_1.0.jar | roborumble | robot | score-review | 250efa0576cb1c56 | - | - | -| roborumble/aaa.r.ScalarR_0.005h.053.jar | roborumble | robot | score-review | 789ba80b28f3224a | - | - | -| roborumble/ab.DengerousRoBatra_1.3.jar | roborumble | robot | PASS | b9f7cc9d84668eb6 | - | - | -| roborumble/abud.ThirdRobo_1.0.jar | roborumble | robot | FAIL (TR) | b6434f799b62dbb9 | - | - | -| roborumble/acid.Bl4ck_1.0.jar | roborumble | robot | score-review | 7bbc287f8bfe56e4 | - | - | -| roborumble/acid.Null_1.0.jar | roborumble | robot | score-review | 590ef3a4eaca28e3 | - | - | -| roborumble/acid.Syzygy_1.0.4.jar | roborumble | robot | score-review | e0d888daca1f0456 | - | - | -| roborumble/ad.Quest_0.10.jar | roborumble | robot | PASS | 90b87fb62a5d8769 | - | - | -| roborumble/ad.last.Bottom_1.0.jar | roborumble | robot | score-review | 536581d29ac8b51f | - | - | -| roborumble/adt.Ar1_2.1.jar | roborumble | robot | PASS | a7544fcb7a16e1cc | - | - | -| roborumble/adt.Ar2_1.0.jar | roborumble | robot | PASS | f8dc415d3174e2bd | - | - | -| roborumble/aetos.AetosFirstBot_1.0.jar | roborumble | robot | PASS | adf8a34914ae5ddc | - | - | -| roborumble/ag.Gir_0.99.jar | roborumble | robot | FAIL (TR) | 6a92a7c896d886ac | - | - | -| roborumble/agd.Mooserwirt2_2.7.jar | roborumble | robot | score-review | ff9a91c9aed410ac | - | - | -| roborumble/agrach.Dalek_1.0.jar | roborumble | robot | score-review | ba3220036d56b733 | - | - | -| roborumble/agrach.MicroDalek_1.0.jar | roborumble | robot | PASS | 530461a54d8b1dad | - | - | -| roborumble/agrach.RobotSlayer_1.0.jar | roborumble | robot | score-review | 8f77756a222c2ed6 | - | - | -| roborumble/ags.Glacier_0.3.2.jar | roborumble | robot | score-review | 60be2730fb1d2100 | - | - | -| roborumble/ags.Midboss_1q.fast.jar | roborumble | robot | PASS | 7effb7a405de90e7 | - | - | -| roborumble/ags.micro.Carpet_1.1.jar | roborumble | robot | PASS | a5199bebb61593c0 | - | - | -| roborumble/ags.polished.PolishedRuby_1.jar | roborumble | robot | score-review | fc49d718cc3c93ac | - | - | -| roborumble/ags.rougedc.RougeDC_willow.jar | roborumble | robot | PASS | c007d142eae29d0a | - | - | -| roborumble/ahf.Acero_1.0.jar | roborumble | robot | PASS | 9a49d2334b9adb0e | - | - | -| roborumble/ahf.NanoAndrew_.4.jar | roborumble | robot | score-review | 06a1568606c64145 | - | - | -| roborumble/ahf.r2d2.R2d2_0.86.jar | roborumble | robot | score-review | b8a0807ea26810cb | - | - | -| roborumble/ahr.ice.Ice_1.0.jar | roborumble | robot | PASS | 230fd620dc49add2 | - | - | -| roborumble/ak.Fermat_2.0.jar | roborumble | robot | score-review | 2e184f3d97965168 | - | - | -| roborumble/alex.Diabolo5_1.1.jar | roborumble | robot | PASS | 9571152abf9a4117 | - | - | -| roborumble/alk.lap.LoudAndProud_2.23.jar | roborumble | robot | PASS | b7150fa0f8305e61 | - | - | -| roborumble/am.Miedzix_3.0.jar | roborumble | robot | PASS | 95ffe43ca9a2cd04 | - | - | -| roborumble/amarok.Rookie_1.1.jar | roborumble | robot | PASS | 4358feef92af528c | - | - | -| roborumble/amc.ROBv202_1.01.jar | roborumble | robot | PASS | 7af3d80d2aa0cb8e | - | - | -| roborumble/amc.ROBv203_1.0.jar | roborumble | robot | PASS | 5b13343a09625cb7 | - | - | -| roborumble/amc.ROBv300_1.1.jar | roborumble | robot | score-review | f9df3a01abc1f04f | - | - | -| roborumble/amc.ROBv301_1.1.jar | roborumble | robot | score-review | 8f84ca57fd472f5b | - | - | -| roborumble/amc.ROBv400_1.0.jar | roborumble | robot | score-review | 09be55e2c9b7d445 | - | - | -| roborumble/amk.ChumbaMini_0.2.jar | roborumble | robot | PASS | a2683415dda92a08 | - | - | -| roborumble/amk.ChumbaWumba_0.3.jar | roborumble | robot | PASS | 945bce04cca29751 | - | - | -| roborumble/amk.Punbot.Punbot_0.01.jar | roborumble | robot | PASS | 5cb33aff96c3e759 | - | - | -| roborumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar | roborumble | robot | PASS | fcb8486e2c29e9dc | - | - | -| roborumble/amk.jointstrike.JointStrike_0.2.jar | roborumble | robot | PASS | 5c6c92d169d651d3 | - | - | -| roborumble/amk.superstrike.SuperStrike_0.3.jar | roborumble | robot | score-review | 54ea093325f72804 | - | - | -| roborumble/ao.T100_0.9.jar | roborumble | robot | score-review | 4ae1803915fa8384 | - | - | -| roborumble/ap.Frederick_1.1.jar | roborumble | robot | PASS | df6c7329f8f52c4e | - | - | -| roborumble/apc.Caan_1.0.jar | roborumble | robot | PASS | f844e4bc6aff7dc0 | - | - | -| roborumble/apc.Colossus2_0.12.jar | roborumble | robot | FAIL (TR) | 6234b82cd630f7c9 | - | - | -| roborumble/apc.LeeroyJenkins2_1.0.jar | roborumble | robot | PASS | c115dfcf1a4a4fdf | - | - | -| roborumble/apc.botM_3.0.jar | roborumble | robot | PASS | 4a1b06c7f3fd0456 | - | - | -| roborumble/apollokidd.ApolloKidd_0.9.jar | roborumble | robot | score-review | b90a01cef8102d4f | - | - | -| roborumble/apv.AspidReloaded_0.6.jar | roborumble | robot | PASS | 22f23ec4b2359408 | - | - | -| roborumble/apv.Aspid_1.7.jar | roborumble | robot | PASS | f0bfd59e67a0674e | - | - | -| roborumble/apv.LauLectrik_1.2.jar | roborumble | robot | PASS | 379bc7ba025c9021 | - | - | -| roborumble/apv.MicroAspid_1.8.jar | roborumble | robot | PASS | 683da02ff1de941a | - | - | -| roborumble/apv.NanoLauLectrikTheCannibal_1.1.jar | roborumble | robot | PASS | 15a460cbb677c889 | - | - | -| roborumble/apv.NanoLauLectrik_1.0.jar | roborumble | robot | PASS | 1aa9b09bc500fd4b | - | - | -| roborumble/apv.ScruchiPu_1.0.jar | roborumble | robot | PASS | d749a519d41481d5 | - | - | -| roborumble/apv.TheBrainPi_0.5fix.jar | roborumble | robot | PASS | 0b26bcefd7d92f4f | - | - | -| roborumble/apv.test.Virus_0.6.1.jar | roborumble | robot | PASS | fb63ed9dcd64d83b | - | - | -| roborumble/ar.QuantumChromodynamics_1.2.1.jar | roborumble | robot | PASS | 4ac5fb2477202c50 | - | - | -| roborumble/ar.TheoryOfEverything_1.2.1.jar | roborumble | robot | PASS | 9ace621bf12f4172 | - | - | -| roborumble/ar.horizon.Horizon_1.2.2.jar | roborumble | robot | score-review | 97286a0cb62861a8 | - | - | -| roborumble/ara.Shera_0.88.jar | roborumble | robot | PASS | b32a6997ff56c9af | - | - | -| roborumble/areb.Union_1.06.jar | roborumble | robot | PASS | e533066dda10e17a | - | - | -| roborumble/arthord.KostyaTszyu_Beta2.jar | roborumble | robot | score-review | 36f054afe6dfd556 | - | - | -| roborumble/arthord.NanoSatanMelee_Beta.jar | roborumble | robot | PASS | aee831eb589eb863 | - | - | -| roborumble/arthord.NanoSatan_Mu.jar | roborumble | robot | PASS | cb4397fbdd3591a9 | - | - | -| roborumble/arthord.micro.Apoptygma_0.4.jar | roborumble | robot | PASS | 3c369261b2915cd0 | - | - | -| roborumble/arthord.micro.Muffin_0.6.1.jar | roborumble | robot | score-review | a7b360b5da35fac2 | - | - | -| roborumble/ary.Crisis_1.0.jar | roborumble | robot | PASS | 2728b67184ef42c0 | - | - | -| roborumble/ary.FourWD_1.3d.jar | roborumble | robot | score-review | 10b51506f52cd1be | - | - | -| roborumble/ary.Help_1.0.jar | roborumble | robot | score-review | a5fc6afd26a475b9 | - | - | -| roborumble/ary.SMG_1.01.jar | roborumble | robot | score-review | 5df472261fca6166 | - | - | -| roborumble/ary.micro.Weak_1.2.jar | roborumble | robot | PASS | 371017386f1da182 | - | - | -| roborumble/ary.mini.Nimi_1.0.jar | roborumble | robot | score-review | e0d8d0f6f8806455 | - | - | -| roborumble/ary.nano.AceSurf_1.2.jar | roborumble | robot | score-review | bd77f78dc4f9642f | - | - | -| roborumble/ary.nano.ColorNanoP_1.1.jar | roborumble | robot | PASS | 7c40044d94ec9a01 | - | - | -| roborumble/as.xbots_1.0.jar | roborumble | robot | score-review | a84fbf62fb36b2a2 | - | - | -| roborumble/asd.Cthulhu_1.2.jar | roborumble | robot | PASS | 62a7416486d668ba | - | - | -| roborumble/asm.Statistas_0.1.jar | roborumble | robot | PASS | 1f68932ec9132d3a | - | - | -| roborumble/awl.Locutus_1.5.jar | roborumble | robot | PASS | 044a09527daed943 | - | - | -| roborumble/axeBots.HataMoto_3.09.jar | roborumble | robot | PASS | f3c9ed411fa769b7 | - | - | -| roborumble/axeBots.Musashi_2.18.jar | roborumble | robot | PASS | d96c381e473a9e9f | - | - | -| roborumble/axeBots.Okami_1.04.jar | roborumble | robot | PASS | 74bce683db58a4ec | - | - | -| roborumble/axeBots.SilverSurfer_2.53.33fix.jar | roborumble | robot | PASS | 9b6fc48236f56191 | - | - | -| roborumble/ayk.WallHugger_1.0.jar | roborumble | robot | PASS | 7d779898eaf34726 | - | - | -| roborumble/az.Ololobot_0.2.4.jar | roborumble | robot | FAIL (TR) | 5cf402dd473c1227 | - | - | -| roborumble/banshee.micro.Nexus6_0.3.0.jar | roborumble | robot | PASS | 0cf456b6f9cb9978 | - | - | -| roborumble/banshee.mini.Nexus6_0.2.0.jar | roborumble | robot | PASS | d4cda9b611b80d04 | - | - | -| roborumble/barontrozo.BaronTrozo_1.7.6.jar | roborumble | robot | PASS | 004179d3a54b0e5a | - | - | -| roborumble/bayen.UbaMicro_1.4.jar | roborumble | robot | PASS | 26edca5dc7a5d68a | - | - | -| roborumble/bayen.UbaRamLT_1.0.jar | roborumble | robot | score-review | 13b1bb4843e9815b | - | - | -| roborumble/bayen.nano.Squirrel_0.2.jar | roborumble | robot | PASS | 6fcfbf55b4d8ff5c | - | - | -| roborumble/bayen.nut.Squirrel_1.621.jar | roborumble | robot | score-review | 517b1c7cec309414 | - | - | -| roborumble/bbo.RamboT_0.3.jar | roborumble | robot | PASS | df99f8a1d6c00d7e | - | - | -| roborumble/bbo.TheRoof_1.4.3.jar | roborumble | robot | PASS | 39adaf77fb8fca87 | - | - | -| roborumble/benhorner.PureAggression_0.2.6.jar | roborumble | robot | PASS | ca5a8e78cc56d369 | - | - | -| roborumble/bigpete.Stewie_1.0.jar | roborumble | robot | PASS | e8b293a979c1c0b4 | - | - | -| roborumble/bing2.Melody_1.3.1.jar | roborumble | robot | score-review | 6d5c62b55bd1282c | - | - | -| roborumble/bjl.LoneDragon_0.5.jar | roborumble | robot | PASS | b407ed4b3237d3e7 | - | - | -| roborumble/bk.Shooter_1.0.jar | roborumble | robot | score-review | 17eb9124acd74e55 | - | - | -| roborumble/blir.micro.blixi.Blixi_1.2.jar | roborumble | robot | score-review | 32ac2de21087f5bd | - | - | -| roborumble/blir.mini.oops.Splooshlu_2.0.jar | roborumble | robot | PASS | 9d2209ef822252f0 | - | - | -| roborumble/blir.nano.Bruce_R1.0.0.jar | roborumble | robot | PASS | e98608d4efb99503 | - | - | -| roborumble/blir.nano.Cabbage_R1.0.1.jar | roborumble | robot | score-review | 14e36192003c6140 | - | - | -| roborumble/blir.nano.inch.Inchworm_1.0.jar | roborumble | robot | PASS | 7bd4cdf08768932e | - | - | -| roborumble/blr.Chicken001_0.1.jar | roborumble | robot | PASS | fa1b7716484381ca | - | - | -| roborumble/bndl.LostLion_1.2.jar | roborumble | robot | PASS | 1a29913b8f87ac3a | - | - | -| roborumble/boe.Minerva_0.80.jar | roborumble | robot | PASS | 8205a7ec0f3730f8 | - | - | -| roborumble/bons.NanoStalker_1.2.jar | roborumble | robot | score-review | 73559040c308ecc0 | - | - | -| roborumble/bots.UberBot_1.2c.jar | roborumble | robot | PASS | 258737685abd4504 | - | - | -| roborumble/bots.UnterBot_1.0.jar | roborumble | robot | score-review | a57b9c4d5a68c0e3 | - | - | -| roborumble/bots.UnterExBot_1.0.jar | roborumble | robot | score-review | 0eeef9f8e9a05217 | - | - | -| roborumble/bp.Kuma_1.0.jar | roborumble | robot | score-review | a5efd143dba4df0f | - | - | -| roborumble/braaropolis.Abot_1.0.jar | roborumble | robot | score-review | 36610aff4c63ca29 | - | - | -| roborumble/brainfade.Fallen_0.63.jar | roborumble | robot | PASS | cfd838bd46fc2f16 | - | - | -| roborumble/brainfade.melee.Dusk_0.44.jar | roborumble | robot | PASS | c24d76413b604bbc | - | - | -| roborumble/bts.mega.Gnarly_1.4.jar | roborumble | robot | PASS | ea1a4d3c629039e8 | - | - | -| roborumble/bts.wiki.RipCurl_0.9b.jar | roborumble | robot | FAIL (TR) | 0b71b2a50f905e18 | - | - | -| roborumble/buba.Archivist_0.1.jar | roborumble | robot | PASS | d18c23f855ed3f66 | - | - | -| roborumble/buba.Buba_0.3.jar | roborumble | robot | PASS | 92de0a656f602dca | - | - | -| roborumble/bumblebee.Bumblebee_1.0.jar | roborumble | robot | PASS | 684d3891682e1261 | - | - | -| roborumble/bvh.fnr.Fenrir_0.36l.jar | roborumble | robot | PASS | c42dcc45e38dcd92 | - | - | -| roborumble/bvh.frg.Friga_0.112dev.jar | roborumble | robot | PASS | 2c64749929672cae | - | - | -| roborumble/bvh.fry.Freya_0.82.jar | roborumble | robot | FAIL (TR) | d32b1f5ce3e25f80 | - | - | -| roborumble/bvh.hdr.Hodur_0.4.jar | roborumble | robot | score-review | bc89209e78a077fc | - | - | -| roborumble/bvh.loki.Loki_0.5.jar | roborumble | robot | score-review | c679e09780c18a52 | - | - | -| roborumble/bvh.micro.Freya_0.3.jar | roborumble | robot | PASS | 2f1498ceffdac7e0 | - | - | -| roborumble/bvh.micro.Svadilfari_0.2.jar | roborumble | robot | PASS | 4dadfc08d52161ce | - | - | -| roborumble/bvh.mini.Fenrir_0.39.jar | roborumble | robot | PASS | ff57f8cea1909f17 | - | - | -| roborumble/bvh.mini.Freya_0.55.jar | roborumble | robot | PASS | 815497cd00aa57b0 | - | - | -| roborumble/bvh.mini.Mjolnir_0.3.jar | roborumble | robot | score-review | 3d1c3e239d06d795 | - | - | -| roborumble/bvh.mini.Wodan_0.50.jar | roborumble | robot | PASS | d89e8a196146f1ec | - | - | -| roborumble/bvh.tyr.Tyr_1.74.jar | roborumble | robot | PASS | f40bad8a5aff304f | - | - | -| roborumble/bwbaugh.nano.Tirunculus_0.0.0a.jar | roborumble | robot | score-review | b935555308fc01c3 | - | - | -| roborumble/bzdp.BoxCar_2.0.jar | roborumble | robot | PASS | 67c108afb1e67978 | - | - | -| roborumble/bzdp.Pansy_2.1.jar | roborumble | robot | PASS | a96b223336b776df | - | - | -| roborumble/caimano.Furia_Ceca_0.22.jar | roborumble | robot | score-review | 99d4763f956857c8 | - | - | -| roborumble/casey.Flee_1.0.jar | roborumble | robot | PASS | ad19841f89469280 | - | - | -| roborumble/cb.Domogled_1.2.jar | roborumble | robot | FAIL (TR) | ab4a97816c447d60 | - | - | -| roborumble/cb.fire.Firestarter_2.0f.jar | roborumble | robot | FAIL (TR) | 2002e30ad998c641 | - | - | -| roborumble/cb.mega.RandomBot_1.0.jar | roborumble | robot | FAIL (TR) | 55bade0feb6ac865 | - | - | -| roborumble/cb.nano.Insomnia_1.0.jar | roborumble | robot | PASS | 997241f811003c48 | - | - | -| roborumble/cbot.agile.Nibbler_0.2.jar | roborumble | robot | score-review | 50feb7c195d9d53e | - | - | -| roborumble/cbot.cbot.CBot_0.8.jar | roborumble | robot | FAIL (TR) | 7337304cd84cf9c0 | - | - | -| roborumble/cf.OldMan.OldManXP_0.1.jar | roborumble | robot | PASS | f54923f1b67ca9f0 | - | - | -| roborumble/cf.mini.Chiva_1.0.jar | roborumble | robot | PASS | 336aaa29d4d4cb86 | - | - | -| roborumble/cf.proto.Shiva_2.2.jar | roborumble | robot | PASS | 92716decc58e938d | - | - | -| roborumble/cf.star.Star2_1.23.jar | roborumble | robot | PASS | 8c06e2125b4e11c4 | - | - | -| roborumble/ch.rhj.rbc.RHJ1_1.0.jar | roborumble | robot | PASS | 09fc48a0219093cf | - | - | -| roborumble/chase.pm.Pytko_1.0.jar | roborumble | robot | PASS | 5621c60c56abe7ae | - | - | -| roborumble/chickenfuego.UrChicken2_1.0.jar | roborumble | robot | PASS | ac7ec21a2a822b4f | - | - | -| roborumble/cjk.Merkava_0.1.1.jar | roborumble | robot | PASS | ca8bad284ef8d30e | - | - | -| roborumble/cjm.Che_1.2.jar | roborumble | robot | PASS | 30b3c8b16bb49f75 | - | - | -| roborumble/cli.Dancer_1.1.jar | roborumble | robot | PASS | 75019a166932d5c2 | - | - | -| roborumble/cli.WasteOfAmmo_1.0.jar | roborumble | robot | DISCREPANCY (no score) | ad72f39287f5b880 | - | - | -| roborumble/codemojo.nano.Woot_1.0.jar | roborumble | robot | PASS | ec2f186e76fabdbc | - | - | -| roborumble/com.arsenic.NewTest_1.0.jar | roborumble | robot | PASS | bec9ffc1e65a95d1 | - | - | -| roborumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar | roborumble | robot | score-review | 41f11a8de1bd0c5b | - | - | -| roborumble/com.cohesiva.robocode.ManOwaR_1.0.jar | roborumble | robot | PASS | b68f0a69b507a3fe | - | - | -| roborumble/com.sociesc.T1000_1.0.0.jar | roborumble | robot | DISCREPANCY (no score) | c50ef80274e4a320 | - | - | -| roborumble/com.spp.robocode.MostlyHarmless_010.jar | roborumble | robot | PASS | 7f12b894b7bb568c | - | - | -| roborumble/com.syncleus.robocode.Dreadnaught_0.1.jar | roborumble | robot | PASS | f963f02cb575c278 | - | - | -| roborumble/com.timothyveletta.FuzzyBot_1.1.jar | roborumble | robot | PASS | f3979e1d91165e7b | - | - | -| roborumble/conscience.Bulldozer_1.0a.jar | roborumble | robot | score-review | 34ee10313f50e735 | - | - | -| roborumble/conscience.Electron_1.3g.jar | roborumble | robot | PASS | 60e25212f69814cd | - | - | -| roborumble/conscience.Idem_1.0a.jar | roborumble | robot | PASS | 2c5f75820a136af0 | - | - | -| roborumble/conscience.Suicidal_1.1.jar | roborumble | robot | DISCREPANCY (no score) | 126c32b41d68f5f3 | - | - | -| roborumble/cre.Karolos_0.32.jar | roborumble | robot | FAIL (TR) | 0c5b559772cf4ee1 | - | - | -| roborumble/cs.Nene_1.0.5.jar | roborumble | robot | score-review | 77f6703bbf53891a | - | - | -| roborumble/cs.PumpkinPie_1.0.jar | roborumble | robot | PASS | 90e4313a94769aff | - | - | -| roborumble/cs.Wren_1.0.jar | roborumble | robot | PASS | c9973e9dd44d5919 | - | - | -| roborumble/cs.s2.Seraphim_2.3.1.jar | roborumble | robot | PASS | de2ae85b37c1610b | - | - | -| roborumble/csm.NthGeneration_0.04.jar | roborumble | robot | PASS | e8bab6b8456b7c4a | - | - | -| roborumble/csp.Eagle_3.30.jar | roborumble | robot | score-review | e0122d77dc924a71 | - | - | -| roborumble/css.Delitioner_0.11.jar | roborumble | robot | PASS | 9bf3a4bffbd5125f | - | - | -| roborumble/cuoq.Kakera_1.0.jar | roborumble | robot | PASS | 99a4b47c6b169333 | - | - | -| roborumble/cw.megas.Blade_0.8.jar | roborumble | robot | FAIL (TR) | 8fd749571b62d83f | - | - | -| roborumble/cw.megas.GhostShell_GT.jar | roborumble | robot | PASS | 624c2e5957e9c806 | - | - | -| roborumble/cw.megas.Gridd_0.4.jar | roborumble | robot | PASS | b0e92913f32f5e4a | - | - | -| roborumble/cw.megas.Polar_3.2.jar | roborumble | robot | PASS | 275e5d14496de98c | - | - | -| roborumble/cw.megas.Silhouette_1.1.jar | roborumble | robot | PASS | c619f7cbb9bcea81 | - | - | -| roborumble/cx.BlestPain_1.41.jar | roborumble | robot | PASS | 33f8afb939371ae3 | - | - | -| roborumble/cx.CigaretBH_1.03.jar | roborumble | robot | PASS | 1677b2a1b4827612 | - | - | -| roborumble/cx.Lacrimas_1.36.jar | roborumble | robot | PASS | 20139227a27029e4 | - | - | -| roborumble/cx.Princess_1.0.jar | roborumble | robot | PASS | ee8fec5f1ac10af9 | - | - | -| roborumble/cx.micro.Blur_0.2.jar | roborumble | robot | FAIL (TR) | cf57283fe7c065c6 | - | - | -| roborumble/cx.micro.Smoke_0.96.jar | roborumble | robot | PASS | d0ce3ae37d563131 | - | - | -| roborumble/cx.micro.Spark_0.6.jar | roborumble | robot | score-review | 4a48d9ed154a3163 | - | - | -| roborumble/cx.mini.BlackSwans_0.60.jar | roborumble | robot | PASS | 6b425d3c251fa7bc | - | - | -| roborumble/cx.mini.Cigaret_1.31.jar | roborumble | robot | PASS | 8547c53305c88bf5 | - | - | -| roborumble/cx.mini.Nimrod_0.55.jar | roborumble | robot | score-review | 13e1779cf8e10822 | - | - | -| roborumble/cx.nano.Smog_2.6.jar | roborumble | robot | score-review | c37a0d6ebee94fdf | - | - | -| roborumble/cyragia.Bot_1.1.jar | roborumble | robot | PASS | 962c336578cde35f | - | - | -| roborumble/da.NewBGank_1.4.jar | roborumble | robot | score-review | a25291b7dea73bfb | - | - | -| roborumble/daemons.DizzyA_1.0.jar | roborumble | robot | score-review | 4fb778b08e7b30a5 | - | - | -| roborumble/dam.MogBot_2.9.jar | roborumble | robot | FAIL (TR) | d949ac75405a14c5 | - | - | -| roborumble/dans.Cinnamon_1.2.jar | roborumble | robot | score-review | 4396cf2704a52d50 | - | - | -| roborumble/darkcanuck.Gaff_1.50.jar | roborumble | robot | FAIL (TR) | 970cb17042cd15f3 | - | - | -| roborumble/darkcanuck.Holden_1.13a.jar | roborumble | robot | FAIL (TR) | 3e764de13ff9996b | - | - | -| roborumble/darkcanuck.Pris_0.92.jar | roborumble | robot | FAIL (TR) | a1c846f8e60831ac | - | - | -| roborumble/davidalves.Firebird_0.25.jar | roborumble | robot | PASS | fae39438b7bb4d8a | - | - | -| roborumble/davidalves.PhoenixOS_1.1.jar | roborumble | robot | FAIL (TR) | 8f13036b4836dcbf | - | - | -| roborumble/davidalves.Phoenix_1.02.jar | roborumble | robot | PASS | 8abd22893c0c806b | - | - | -| roborumble/davidalves.net.DuelistMicroMkII_1.1.jar | roborumble | robot | score-review | 34cf1f962dcb1bcd | - | - | -| roborumble/davidalves.net.DuelistMicro_1.22.jar | roborumble | robot | score-review | 4d34a6e0b2152b18 | - | - | -| roborumble/davidalves.net.DuelistMini_1.1.jar | roborumble | robot | PASS | 6fb819cdb10fc868 | - | - | -| roborumble/davidalves.net.DuelistNano_1.0.jar | roborumble | robot | PASS | eeb33d1a7dbabc53 | - | - | -| roborumble/davidalves.net.Duelist_0.1.6src.jar | roborumble | robot | PASS | da9c6f4187b20af6 | - | - | -| roborumble/davv.DOne_b002.jar | roborumble | robot | score-review | 8948876072cf5515 | - | - | -| roborumble/dcs.Eater_of_Worlds_1.1.3-A.jar | roborumble | robot | PASS | acfc2f677316f7a1 | - | - | -| roborumble/dcs.Eater_of_Worlds_Mini_1.0.jar | roborumble | robot | PASS | aa8ea784d11f187f | - | - | -| roborumble/dcs.PM.Eater_of_Worlds_PM_1.2.jar | roborumble | robot | score-review | ff977f89ff8c2e6b | - | - | -| roborumble/de.erdega.robocode.Polyphemos_0.4.jar | roborumble | robot | score-review | 2b4de671d6c6e4bf | - | - | -| roborumble/de.simpleworks.robocode.bots.swiBot_1.0.jar | roborumble | robot | PASS | 8a7446289797b1b0 | - | - | -| roborumble/deith.Czolgzilla_0.11.jar | roborumble | robot | PASS | 08cef06b36787464 | - | - | -| roborumble/demetrix.ForceMajeure_0.75.jar | roborumble | robot | PASS | bbf69d95d8f28b8f | - | - | -| roborumble/demetrix.nano.Neutrino_0.27.jar | roborumble | robot | PASS | c87a4b8d228674d0 | - | - | -| roborumble/demetrix.nano.SledgeHammer_0.22.jar | roborumble | robot | score-review | 804cc154798fef47 | - | - | -| roborumble/deo.CloudBot_1.3.jar | roborumble | robot | score-review | 78bba33b96e662cd | - | - | -| roborumble/deo.FlowerBot_1.0.jar | roborumble | robot | PASS | fc65e7d5693090d9 | - | - | -| roborumble/deo.virtual.RainbowBot_1.0.jar | roborumble | robot | score-review | 38ab74151e9be2ed | - | - | +| meleerumble/adt.Ar1_2.1.jar | meleerumble | robot | DISCREPANCY (errors) | a07510045f88384d | robot-file-stream-limit | bridge | +| meleerumble/adt.Ar2_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | 755f52340af56ff7 | robot-file-stream-limit | bridge | +| meleerumble/adt.Ar2_1.1.jar | meleerumble | robot | DISCREPANCY (errors) | 92f2fd8d3add3770 | robot-file-stream-limit | bridge | +| meleerumble/agd.Mooserwirt2_2.7.jar | meleerumble | robot | DISCREPANCY (errors) | 778cd898ff919dd9 | robot-file-stream-limit | bridge | +| meleerumble/agrach.Dalek_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | 0ae3ca92b917360a | robot-file-stream-limit | bridge | +| meleerumble/ags.Glacier_0.2.11.jar | meleerumble | robot | DISCREPANCY (errors) | 9e12c9052df5dcdf | robot-file-stream-limit | bridge | +| meleerumble/ags.surreptitious.MiniSurreptitious_0.0.1.jar | meleerumble | robot | DISCREPANCY (errors) | dc8e698cbe4541f8 | initial-status-before-run | bridge | +| meleerumble/ahf.NanoAndrew_.4.jar | meleerumble | robot | DISCREPANCY (errors) | 6f3ff78188a918ba | robot-file-stream-limit | bridge | +| meleerumble/ahr.ice.Ice_1.0.2.jar | meleerumble | robot | DISCREPANCY (errors) | 55fdd09abb52d8f4 | robot-file-stream-limit | bridge | +| meleerumble/ak.Fermat_2.0.jar | meleerumble | robot | DISCREPANCY (errors) | dd82d6b34b151588 | initial-status-before-run | bridge | +| meleerumble/amk.ChumbaMini_0.2.jar | meleerumble | robot | DISCREPANCY (errors) | 6f6e0ac8484232dd | robot-file-stream-limit | bridge | +| meleerumble/amk.ChumbaWumba_0.3.jar | meleerumble | robot | DISCREPANCY (errors) | 1323d63a4492d748 | robot-file-stream-limit | bridge | +| meleerumble/amk.Punbot.Punbot_0.01.jar | meleerumble | robot | DISCREPANCY (errors) | b60725ebe22987f2 | robot-file-stream-limit | bridge | +| meleerumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar | meleerumble | robot | DISCREPANCY (errors) | a7b8728491649f22 | robot-file-stream-limit | bridge | +| meleerumble/amk.jointstrike.JointStrike_0.2.jar | meleerumble | robot | DISCREPANCY (errors) | d503301e2aabbbd1 | robot-file-stream-limit | bridge | +| meleerumble/amk.superstrike.SuperStrike_0.3.jar | meleerumble | robot | DISCREPANCY (errors) | 44e5d871a2089a0a | - | - | +| meleerumble/amz.NanoClone_1.41.jar | meleerumble | robot | DISCREPANCY (errors) | 87e98511be4470ad | - | - | +| meleerumble/ap.Frederick_1.1.jar | meleerumble | robot | DISCREPANCY (errors) | 0d8c9f65ee072eec | - | - | +| meleerumble/apc.botM_3.0.jar | meleerumble | robot | DISCREPANCY (errors) | e635d3558bfd09bc | - | - | +| meleerumble/apollokidd.ApolloKidd_0.9.jar | meleerumble | robot | DISCREPANCY (errors) | 21a2c4a504e912ab | - | - | +| meleerumble/ara.Shera_0.88.jar | meleerumble | robot | DISCREPANCY (errors) | 1e651c72ac620a9e | - | - | +| meleerumble/arthord.MannyPacquiao_Beta.jar | meleerumble | robot | DISCREPANCY (errors) | 4b092c6fc546a70d | - | - | +| meleerumble/arthord.NanoSatanMelee_Beta.jar | meleerumble | robot | DISCREPANCY (errors) | 9b446497f4946220 | - | - | +| meleerumble/ary.Swarm_1.1.jar | meleerumble | robot | DISCREPANCY (errors) | 4df116958c48cf67 | - | - | +| meleerumble/as.FrankTheTank_1.3.jar | meleerumble | robot | DISCREPANCY (errors) | 37024126101ec28f | - | - | +| meleerumble/asd.Cthulhu_1.3.jar | meleerumble | robot | DISCREPANCY (errors) | 1233d28410286af5 | - | - | +| meleerumble/awesomeness.Elite_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | b70b7c4324fb2671 | - | - | +| meleerumble/axeBots.HataMoto_3.09.jar | meleerumble | robot | DISCREPANCY (outcome) | f02a222e13047011 | - | - | +| meleerumble/az.Ololobot_0.2.4.jar | meleerumble | robot | DISCREPANCY (outcome) | 091cbdb379677185 | - | - | +| meleerumble/baal.nano.N_1.42.jar | meleerumble | robot | DISCREPANCY (errors) | 584cd0f3ef575185 | - | - | +| meleerumble/bayen.UbaMicro_1.4.jar | meleerumble | robot | DISCREPANCY (errors) | 34284e784f889aa4 | - | - | +| meleerumble/bayen.nut.Squirrel_1.615.jar | meleerumble | robot | DISCREPANCY (outcome) | 0e555108c857e84e | - | - | +| meleerumble/bigpete.Stewie_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | 24e1c68ffaa4d90a | - | - | +| meleerumble/brainfade.melee.Dusk_0.44.jar | meleerumble | robot | DISCREPANCY (errors) | a14785216530e193 | - | - | +| meleerumble/brainfade.melee.Genghis_0.36.jar | meleerumble | robot | DISCREPANCY (errors) | a7743ab3acf92fc8 | - | - | +| meleerumble/bts.mega.Gnarly_1.4.jar | meleerumble | robot | DISCREPANCY (errors) | bc55ababbbac09b4 | - | - | +| meleerumble/bts.wiki.RipCurl_0.9b.jar | meleerumble | robot | DISCREPANCY (outcome) | 8de5e7872b68c360 | - | - | +| meleerumble/bvh.fnr.Fenrir_0.36l.jar | meleerumble | robot | DISCREPANCY (errors) | bf04da4787f958fa | - | - | +| meleerumble/bvh.fry.Freya_0.82.jar | meleerumble | robot | DISCREPANCY (errors) | 9cf9fac0e57b6fcc | - | - | +| meleerumble/bvh.micro.Freya_0.3.jar | meleerumble | robot | DISCREPANCY (errors) | ccc68151c7d9cdd0 | - | - | +| meleerumble/bvh.mini.Fenrir_0.39.jar | meleerumble | robot | DISCREPANCY (errors) | 0f4b5e123283cfed | - | - | +| meleerumble/bvh.mini.Freya_0.55.jar | meleerumble | robot | DISCREPANCY (errors) | 9d8c3fd37f10fca5 | - | - | +| meleerumble/bwbaugh.nano.Tirunculus_0.0.0a.jar | meleerumble | robot | DISCREPANCY (errors) | a37eccfc435298b2 | - | - | +| meleerumble/bzdp.BoxCar_2.0.jar | meleerumble | robot | DISCREPANCY (errors) | 36c414b3475bc35a | melee-opponent-pool-contamination | harness | +| meleerumble/bzdp.Pansy_2.1.jar | meleerumble | robot | DISCREPANCY (errors) | 99b9848bba0aaf07 | melee-opponent-pool-contamination | harness | +| meleerumble/caimano.Furia_Ceca_0.22.jar | meleerumble | robot | DISCREPANCY (errors) | ea8e5e13560f1498 | melee-opponent-pool-contamination | harness | +| meleerumble/cb.fire.Firestarter_2.0f.jar | meleerumble | robot | DISCREPANCY (outcome) | 0b2c1f3d52ecd23f | melee-opponent-pool-contamination | harness | +| meleerumble/cb.nano.Insomnia_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | abd63f20d915d381 | melee-opponent-pool-contamination | harness | +| meleerumble/cf.RiO.RiOx_4.2.1.jar | meleerumble | robot | DISCREPANCY (outcome) | 491778d42b27fa0a | melee-opponent-pool-contamination | harness | +| meleerumble/cli.Dancer_1.1.jar | meleerumble | robot | DISCREPANCY (errors) | 6a47d423a68edb16 | melee-opponent-pool-contamination | harness | +| meleerumble/cli.WasteOfAmmo_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | aea5ddeab60de735 | melee-opponent-pool-contamination | harness | +| meleerumble/co.edu.usb.rc.LidisTron_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | cf68d47889537d83 | melee-opponent-pool-contamination | harness | +| meleerumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | 28d317077e8a0d5c | melee-opponent-pool-contamination | harness | +| meleerumble/com.cgarias.rc.AdvancedTrackerII_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | 110e8ce56bec5d9f | melee-opponent-pool-contamination | harness | +| meleerumble/com.cohesiva.robocode.ManOwaR_1.0.jar | meleerumble | robot | PASS | 56d398157b8b2254 | melee-opponent-pool-contamination | harness | +| meleerumble/com.spp.robocode.MostlyHarmless_010.jar | meleerumble | robot | DISCREPANCY (errors) | 906407a51159bc9a | melee-opponent-pool-contamination | harness | +| meleerumble/com.syncleus.robocode.Dreadnaught_0.1.jar | meleerumble | robot | DISCREPANCY (errors) | e60cf1d52f296445 | harness-timeout-overrun | harness | +| meleerumble/conscience.Electron_1.3g.jar | meleerumble | robot | DISCREPANCY (errors) | 126d349d7c0fc8be | melee-opponent-pool-contamination | harness | +| meleerumble/cs.Grudge_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | 71ae00e59e1769e7 | melee-opponent-pool-contamination | harness | +| meleerumble/cs.Wren_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | 59ba6dce50b10833 | melee-opponent-pool-contamination | harness | +| meleerumble/cs.sheldor.Talon_1.1.jar | meleerumble | robot | DISCREPANCY (errors) | 05831324ef635cb1 | melee-opponent-pool-contamination | harness | +| meleerumble/css.Delitioner_0.11.jar | meleerumble | robot | DISCREPANCY (errors) | 8be5aeec0bbfefd0 | melee-opponent-pool-contamination | harness | +| meleerumble/cvt.Firsty_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | d470a27f7edb48c5 | melee-opponent-pool-contamination | harness | +| meleerumble/cx.BlestPain_1.41.jar | meleerumble | robot | DISCREPANCY (errors) | f2b0af33f69a9a6a | melee-opponent-pool-contamination | harness | +| meleerumble/cx.Princess_1.0.jar | meleerumble | robot | DISCREPANCY (errors) | 011b7e15640d6efa | melee-opponent-pool-contamination | harness | +| meleerumble/cx.mini.Nimrod_0.55.jar | meleerumble | robot | DISCREPANCY (errors) | 4a67e4c959254cb4 | melee-opponent-pool-contamination | harness | +| meleerumble/dans.Cinnamon_1.2.jar | meleerumble | robot | DISCREPANCY (errors) | b4dbfb16a2ffb2c0 | melee-opponent-pool-contamination | harness | +| meleerumble/darkcanuck.B26354_1.06.jar | meleerumble | robot | DISCREPANCY (outcome) | b336f45184cf831d | melee-opponent-pool-contamination | harness | +| roborumble/AD.CodaFirst_1.1.jar | roborumble | robot | score-review | 8a4dfbfbf555deff | - | - | +| roborumble/AIR.iRobot_1.0.jar | roborumble | robot | PASS | 8cdfe3039b4b63e0 | - | - | +| roborumble/And.BasicSurfer_FF1.6.jar | roborumble | robot | PASS | 25437532193e134b | - | - | +| roborumble/ArchAlpha.ArchimedesAlpha_1.0.jar | roborumble | robot | DISCREPANCY (no score) | 5db318c40ca0955b | - | - | +| roborumble/CharlieN.Omega.Omega_1.03.jar | roborumble | robot | PASS | 6c16b6ead3897593 | - | - | +| roborumble/DM.Capriite_3.7.2.jar | roborumble | robot | PASS | 63eec6535e7bcdb8 | - | - | +| roborumble/DM.Chicken_4.0.jar | roborumble | robot | score-review | f98b80f045eaa5ba | - | - | +| roborumble/DM.Mijit_.3.jar | roborumble | robot | score-review | 25e2318cd74f0417 | - | - | +| roborumble/DTF.Kludgy_1.2b.jar | roborumble | robot | PASS | a020ea383408d5e2 | - | - | +| roborumble/EBBU.Sim2_1.02.jar | roborumble | robot | score-review | 82308feb917d2c0a | - | - | +| roborumble/EE.LittleBig_1.0.jar | roborumble | robot | score-review | dd65d66b59ff8acb | - | - | +| roborumble/EFD.AdvancedEFD_0.4.5a.jar | roborumble | robot | PASS | 595afba07d52e536 | - | - | +| roborumble/EH.Fusion_0.32.jar | roborumble | robot | score-review | 96dd484b2b911c5d | - | - | +| roborumble/EH.Pegasus_0.113.jar | roborumble | robot | PASS | 2696bc59852c8d21 | - | - | +| roborumble/EH.kms.LightningStorm_0.11B.jar | roborumble | robot | PASS | 1ef751e58aaba9b3 | - | - | +| roborumble/EH.mini.Panther_0.2.jar | roborumble | robot | PASS | 871fe99089163f17 | - | - | +| roborumble/EH.nano.NightBird_M.jar | roborumble | robot | PASS | c796f14f9487fcd6 | - | - | +| roborumble/Ex.Survival_3.7.jar | roborumble | robot | MATCHED (failure) | 2221f19d53cb555a | - | - | +| roborumble/FatalFlaw.FatalFlaw_1.0.5.jar | roborumble | robot | MATCHED (failure) | eb875409279d0776 | - | - | +| roborumble/Fenix.FenixTrack_1.0.jar | roborumble | robot | MATCHED (failure) | b58617e0e3214317 | - | - | +| roborumble/Gecko.ultimateGeckoBot_1.0.jar | roborumble | robot | MATCHED (failure) | fc62b9d07f77cb43 | - | - | +| roborumble/Grystrion.RandomTrackerNOREV_1.0.jar | roborumble | robot | DISCREPANCY (no score) | a633af2142797af3 | - | - | +| roborumble/Grystrion.TrackerWO_1.0.jar | roborumble | robot | DISCREPANCY (no score) | ac36cf3c058f2c58 | - | - | +| roborumble/Heal.TekitokaBot_1.0.jar | roborumble | robot | PASS | 0c9e5c177bf4e9f4 | - | - | +| roborumble/ICS4U1.Patrick_White_Schrodinger_1.1.jar | roborumble | robot | PASS | 1bff846ea433bb4d | - | - | +| roborumble/KiraNL.Cataris_1.0.jar | roborumble | robot | PASS | bbdc8fb327126f89 | - | - | +| roborumble/KiraNL.ChupaLite_0.4.jar | roborumble | robot | PASS | ff15b24175432af1 | - | - | +| roborumble/KiraNL.Chupacabra_0.5.jar | roborumble | robot | PASS | 73beffa0841e520e | - | - | +| roborumble/KiraNL.SpaceKees_0.1.jar | roborumble | robot | PASS | 51a7d06b9bd85bee | - | - | +| roborumble/Krabb.fe4r.Fe4r_0.4.jar | roborumble | robot | PASS | 974a69b8c7986c2a | - | - | +| roborumble/Krabb.krabby.Krabby_1.18b.jar | roborumble | robot | PASS | 1f6ea5fdbb0c8d06 | - | - | +| roborumble/Krabb.sliNk.Garm_0.9u.jar | roborumble | robot | DISCREPANCY (outcome) | a51bebcb193de7f9 | - | - | +| roborumble/Legend.Biogon_1.5.jar | roborumble | robot | PASS | 182b54a548d2d2a1 | - | - | +| roborumble/Legend.BoulderZY_1.4.9.jar | roborumble | robot | PASS | 2bb7dd7a316d3f30 | - | - | +| roborumble/Legend.Qetro_1.6.jar | roborumble | robot | score-review | 198ccdef7a8da62a | - | - | +| roborumble/Legend.X_FireFly_1.3.jar | roborumble | robot | PASS | fdefe32978cfaead | - | - | +| roborumble/Lo_Ian.Gandalf_V4_4.0.jar | roborumble | robot | PASS | 8890f7a46ab1884b | - | - | +| roborumble/McS.Spanky_test_0.1a.jar | roborumble | robot | score-review | 97acd28e075752eb | - | - | +| roborumble/NDH.GuessFactor_1.0.jar | roborumble | robot | PASS | db031b6a71c48044 | - | - | +| roborumble/NG.LegatusLegionis_1.2.jar | roborumble | robot | PASS | e7e8907e9e62c644 | - | - | +| roborumble/Noran.BitchingElk_0.054.jar | roborumble | robot | score-review | 9d8e0d7d6484cf4e | - | - | +| roborumble/Noran.RandomTargeting_0.02.jar | roborumble | robot | score-review | e012f27fbf629333 | - | - | +| roborumble/PK.Twardy_0.4.2.jar | roborumble | robot | PASS | 4f826576c4961d6b | - | - | +| roborumble/PSW.Relentless_0.1.jar | roborumble | robot | PASS | 48e3b8645ab60a02 | - | - | +| roborumble/PkKillers.PkAssassin_1.0.jar | roborumble | robot | score-review | e6c14288e7ce7aad | - | - | +| roborumble/Polkwane.Piyane_0.7b.jar | roborumble | robot | PASS | fe24d73d806767ce | - | - | +| roborumble/Queens_teamrobot.UltraRazor_1.0.jar | roborumble | robot | PASS | 43c2efac1cd80368 | - | - | +| roborumble/RobotMarco.MarcoV_0.1.jar | roborumble | robot | score-review | 4ce94ab4ed71983a | - | - | +| roborumble/SFS.SamsSecondRobot_1.0.jar | roborumble | robot | PASS | 6bb607869c096bf7 | - | - | +| roborumble/SHAM.WOW_1.4.jar | roborumble | robot | PASS | 7845776cc1f2e35d | - | - | +| roborumble/SK.SimpleKiller_1.0.jar | roborumble | robot | PASS | f9c353d1c835ef68 | - | - | +| roborumble/SuperSample.SuperCrazy_1.0.jar | roborumble | robot | PASS | debe41ca5f68f223 | - | - | +| roborumble/TCMI.Enyo_0.4.jar | roborumble | robot | PASS | d0730cb90bf4479d | - | - | +| roborumble/TCMI.nano.Copper_0.2.jar | roborumble | robot | PASS | 89df038c5cdd7a33 | - | - | +| roborumble/WarfaJibril.Jibril_Warfa_Andromeda_1.11.jar | roborumble | robot | PASS | 954146b5ca6c4071 | - | - | +| roborumble/WdV.Lesserbee_0.01.jar | roborumble | robot | PASS | 3ceca4f5146d5ae1 | - | - | +| roborumble/a.FreyaOS_1.0.jar | roborumble | robot | PASS | 9e1e7bb327ea3434 | - | - | +| roborumble/aaa.r.ScalarR_0.005h.053.jar | roborumble | robot | score-review | 1999b8e05dea9d75 | - | - | +| roborumble/ab.DengerousRoBatra_1.3.jar | roborumble | robot | PASS | b308807f77b31226 | - | - | +| roborumble/abud.ThirdRobo_1.0.jar | roborumble | robot | score-review | ed9b79a036d61bd5 | - | - | +| roborumble/acid.Bl4ck_1.0.jar | roborumble | robot | score-review | c227ddb44177ae63 | - | - | +| roborumble/acid.Null_1.0.jar | roborumble | robot | PASS | 6653b72b8099b103 | - | - | +| roborumble/acid.Syzygy_1.0.4.jar | roborumble | robot | score-review | 6aa7029a15000fcf | - | - | +| roborumble/ad.Quest_0.10.jar | roborumble | robot | PASS | ed5607f735d17e3f | - | - | +| roborumble/ad.last.Bottom_1.0.jar | roborumble | robot | PASS | e5b74746ffa765be | - | - | +| roborumble/adt.Ar1_2.1.jar | roborumble | robot | PASS | dc30e55fda4f71f3 | - | - | +| roborumble/adt.Ar2_1.0.jar | roborumble | robot | PASS | 50bd0c5dc7d1d237 | - | - | +| roborumble/aetos.AetosFirstBot_1.0.jar | roborumble | robot | PASS | fb18442d99e5c6e3 | - | - | +| roborumble/ag.Gir_0.99.jar | roborumble | robot | PASS | a6c8859641c3bbaf | round-end-stream-close-race | bridge | +| roborumble/agd.Mooserwirt2_2.7.jar | roborumble | robot | score-review | 103589457c330e19 | - | - | +| roborumble/agrach.Dalek_1.0.jar | roborumble | robot | score-review | 5bdc9d1e03ddbbfd | - | - | +| roborumble/agrach.MicroDalek_1.0.jar | roborumble | robot | PASS | 3406205b8980f6c5 | - | - | +| roborumble/agrach.RobotSlayer_1.0.jar | roborumble | robot | PASS | 91a43d1a02bcfa21 | - | - | +| roborumble/ags.Glacier_0.3.2.jar | roborumble | robot | PASS | 549c82c9d62d3593 | - | - | +| roborumble/ags.Midboss_1q.fast.jar | roborumble | robot | PASS | 8fbe6c98e30835c0 | - | - | +| roborumble/ags.micro.Carpet_1.1.jar | roborumble | robot | PASS | 6558fc42dc0997e7 | - | - | +| roborumble/ags.polished.PolishedRuby_1.jar | roborumble | robot | score-review | 3e2eef0ec2101e8b | - | - | +| roborumble/ags.rougedc.RougeDC_willow.jar | roborumble | robot | score-review | 238cfb36d8d14310 | - | - | +| roborumble/ahf.Acero_1.0.jar | roborumble | robot | PASS | 80165f95df2a985d | - | - | +| roborumble/ahf.NanoAndrew_.4.jar | roborumble | robot | score-review | f6526bb51480d4f5 | - | - | +| roborumble/ahf.r2d2.R2d2_0.86.jar | roborumble | robot | score-review | a2becfd0a85b24db | - | - | +| roborumble/ahr.ice.Ice_1.0.jar | roborumble | robot | PASS | 3a76f56e636e4829 | - | - | +| roborumble/ak.Fermat_2.0.jar | roborumble | robot | PASS | dcb3bec37ae6637b | legacy-worker-stream-leak | bridge | +| roborumble/alex.Diabolo5_1.1.jar | roborumble | robot | PASS | bf426b80c7e5c3f8 | - | - | +| roborumble/alk.lap.LoudAndProud_2.23.jar | roborumble | robot | PASS | c36eb610f9e6a0d7 | - | - | +| roborumble/am.Miedzix_3.0.jar | roborumble | robot | PASS | 32356b3362a6a0a9 | - | - | +| roborumble/amarok.Rookie_1.1.jar | roborumble | robot | PASS | c094847b79433e8f | - | - | +| roborumble/amc.ROBv202_1.01.jar | roborumble | robot | PASS | 39aea9433cd721c8 | - | - | +| roborumble/amc.ROBv203_1.0.jar | roborumble | robot | PASS | 2cc236c1d03f3e06 | - | - | +| roborumble/amc.ROBv300_1.1.jar | roborumble | robot | score-review | d1b48fa6a62b3b67 | - | - | +| roborumble/amc.ROBv301_1.1.jar | roborumble | robot | score-review | ebbef7fc4153c8ab | - | - | +| roborumble/amc.ROBv400_1.0.jar | roborumble | robot | score-review | b4df957b9784537d | - | - | +| roborumble/amk.ChumbaMini_0.2.jar | roborumble | robot | PASS | 05156dda8b04e557 | - | - | +| roborumble/amk.ChumbaWumba_0.3.jar | roborumble | robot | PASS | 4bffd0fc5046055a | - | - | +| roborumble/amk.Punbot.Punbot_0.01.jar | roborumble | robot | PASS | 5d74b515d19e7bd9 | - | - | +| roborumble/amk.ShizzleStiX.ShizzleStiX_0.6.jar | roborumble | robot | PASS | c618df752edf4a89 | - | - | +| roborumble/amk.jointstrike.JointStrike_0.2.jar | roborumble | robot | PASS | 921d60fa06a2d0d0 | - | - | +| roborumble/amk.superstrike.SuperStrike_0.3.jar | roborumble | robot | score-review | db8a1c3e449c274e | - | - | +| roborumble/ao.T100_0.9.jar | roborumble | robot | score-review | dde2c0b78956ab41 | - | - | +| roborumble/ap.Frederick_1.1.jar | roborumble | robot | DISCREPANCY (no score) | afd8cef3db9b2fa4 | - | - | +| roborumble/apc.Caan_1.0.jar | roborumble | robot | PASS | aabd00fd8b967bed | - | - | +| roborumble/apc.Colossus2_0.12.jar | roborumble | robot | PASS | 9c81fee190364e22 | scan-target-name-identity | bridge | +| roborumble/apc.LeeroyJenkins2_1.0.jar | roborumble | robot | PASS | e8c0fd36dc3876f7 | - | - | +| roborumble/apc.botM_3.0.jar | roborumble | robot | PASS | a47d3ba08bb6086f | - | - | +| roborumble/apollokidd.ApolloKidd_0.9.jar | roborumble | robot | score-review | bcbade73beb02c58 | - | - | +| roborumble/apv.AspidReloaded_0.6.jar | roborumble | robot | PASS | 688a0cfa64404e92 | - | - | +| roborumble/apv.Aspid_1.7.jar | roborumble | robot | PASS | 77ebbfd405a05a87 | - | - | +| roborumble/apv.LauLectrik_1.2.jar | roborumble | robot | PASS | 2bc639b2fd4a5e1e | - | - | +| roborumble/apv.MicroAspid_1.8.jar | roborumble | robot | PASS | dc28c73552e12030 | - | - | +| roborumble/apv.NanoLauLectrikTheCannibal_1.1.jar | roborumble | robot | PASS | d4d54a7f0c4cca1f | - | - | +| roborumble/apv.NanoLauLectrik_1.0.jar | roborumble | robot | PASS | e99e4ba1fc2f5b9d | - | - | +| roborumble/apv.ScruchiPu_1.0.jar | roborumble | robot | PASS | 9d310b4632590234 | - | - | +| roborumble/apv.TheBrainPi_0.5fix.jar | roborumble | robot | PASS | 08e656dab9c01ad6 | - | - | +| roborumble/apv.test.Virus_0.6.1.jar | roborumble | robot | PASS | 8f66f63fe3488646 | - | - | +| roborumble/ar.QuantumChromodynamics_1.2.1.jar | roborumble | robot | PASS | 5a42afc5493f80c3 | - | - | +| roborumble/ar.TheoryOfEverything_1.2.1.jar | roborumble | robot | PASS | dfa914ac6eb69f9a | - | - | +| roborumble/ar.horizon.Horizon_1.2.2.jar | roborumble | robot | score-review | 65fd65676bd7db2f | - | - | +| roborumble/ara.Shera_0.88.jar | roborumble | robot | PASS | e29ee3195aab9bde | - | - | +| roborumble/areb.Union_1.06.jar | roborumble | robot | PASS | 2f50bd8d2633f8ee | - | - | +| roborumble/arthord.KostyaTszyu_Beta2.jar | roborumble | robot | PASS | 7f550a50c453aa2f | - | - | +| roborumble/arthord.NanoSatanMelee_Beta.jar | roborumble | robot | PASS | 30a57ba1dde53f1c | - | - | +| roborumble/arthord.NanoSatan_Mu.jar | roborumble | robot | PASS | 98d37c469c94e71c | - | - | +| roborumble/arthord.micro.Apoptygma_0.4.jar | roborumble | robot | PASS | fcb58e94a0c3caa6 | - | - | +| roborumble/arthord.micro.Muffin_0.6.1.jar | roborumble | robot | score-review | 1c0e50209a64265e | - | - | +| roborumble/ary.Crisis_1.0.jar | roborumble | robot | PASS | 49c18c2ef7546001 | - | - | +| roborumble/ary.FourWD_1.3d.jar | roborumble | robot | DISCREPANCY (errors) | 7b2b652b5bb199c0 | - | - | +| roborumble/ary.Help_1.0.jar | roborumble | robot | DISCREPANCY (outcome) | 3e13e72d5b4a27ae | - | - | +| roborumble/ary.SMG_1.01.jar | roborumble | robot | PASS | 65f473a89338e12c | - | - | +| roborumble/ary.micro.Weak_1.2.jar | roborumble | robot | PASS | d78349c330daf18b | - | - | +| roborumble/ary.mini.Nimi_1.0.jar | roborumble | robot | PASS | 4966fdf0a4ba6ee7 | - | - | +| roborumble/ary.nano.AceSurf_1.2.jar | roborumble | robot | PASS | b559364dc3bed001 | - | - | +| roborumble/ary.nano.ColorNanoP_1.1.jar | roborumble | robot | PASS | 4191bf3cb5bc4b66 | - | - | +| roborumble/as.xbots_1.0.jar | roborumble | robot | score-review | 533a30f3b2272199 | - | - | +| roborumble/asd.Cthulhu_1.2.jar | roborumble | robot | PASS | 1d42acb3db0ccb77 | - | - | +| roborumble/asm.Statistas_0.1.jar | roborumble | robot | PASS | 352c974a6d94c789 | - | - | +| roborumble/awl.Locutus_1.5.jar | roborumble | robot | PASS | 10f460339be51bf0 | - | - | +| roborumble/axeBots.HataMoto_3.09.jar | roborumble | robot | PASS | f9cf536953c45a91 | - | - | +| roborumble/axeBots.Musashi_2.18.jar | roborumble | robot | PASS | 40e7f2ea2300c8f4 | - | - | +| roborumble/axeBots.Okami_1.04.jar | roborumble | robot | DISCREPANCY (errors) | cf091ab89a700f92 | - | - | +| roborumble/axeBots.SilverSurfer_2.53.33fix.jar | roborumble | robot | PASS | 38162854ee54a334 | - | - | +| roborumble/ayk.WallHugger_1.0.jar | roborumble | robot | PASS | 630f1c58f42bbb9d | - | - | +| roborumble/az.Ololobot_0.2.4.jar | roborumble | robot | DISCREPANCY (outcome) | 90ed0c87e0e6d487 | - | - | +| roborumble/banshee.micro.Nexus6_0.3.0.jar | roborumble | robot | PASS | adcebd2fb3e2312d | - | - | +| roborumble/banshee.mini.Nexus6_0.2.0.jar | roborumble | robot | PASS | 0cf3d7725dede5d5 | - | - | +| roborumble/barontrozo.BaronTrozo_1.7.6.jar | roborumble | robot | PASS | b2c5048162694f75 | - | - | +| roborumble/bayen.UbaMicro_1.4.jar | roborumble | robot | PASS | e3cdf960bfb9afc4 | - | - | +| roborumble/bayen.UbaRamLT_1.0.jar | roborumble | robot | score-review | 34a30695ece53fb7 | - | - | +| roborumble/bayen.nano.Squirrel_0.2.jar | roborumble | robot | PASS | 2f9eb4f23c454774 | - | - | +| roborumble/bayen.nut.Squirrel_1.621.jar | roborumble | robot | score-review | 5853982276128593 | - | - | +| roborumble/bbo.RamboT_0.3.jar | roborumble | robot | score-review | aca48d105b06bcde | - | - | +| roborumble/bbo.TheRoof_1.4.3.jar | roborumble | robot | PASS | 48c972a2d69181bf | - | - | +| roborumble/benhorner.PureAggression_0.2.6.jar | roborumble | robot | PASS | cda71b473b262cf3 | - | - | +| roborumble/bigpete.Stewie_1.0.jar | roborumble | robot | PASS | 8d781fc673893f81 | - | - | +| roborumble/bing2.Melody_1.3.1.jar | roborumble | robot | score-review | 5b3b35ee945403ba | - | - | +| roborumble/bjl.LoneDragon_0.5.jar | roborumble | robot | PASS | 6c6d91b59c2d4dae | - | - | +| roborumble/bk.Shooter_1.0.jar | roborumble | robot | score-review | 81e101672cb7f9c8 | - | - | +| roborumble/blir.micro.blixi.Blixi_1.2.jar | roborumble | robot | PASS | 6e0ffccdcd38fada | - | - | +| roborumble/blir.mini.oops.Splooshlu_2.0.jar | roborumble | robot | PASS | 1b2a4d6c4330ef36 | - | - | +| roborumble/blir.nano.Bruce_R1.0.0.jar | roborumble | robot | PASS | 1842fd1571b0c43b | - | - | +| roborumble/blir.nano.Cabbage_R1.0.1.jar | roborumble | robot | score-review | 242021032b8974e3 | - | - | +| roborumble/blir.nano.inch.Inchworm_1.0.jar | roborumble | robot | PASS | 7f8e4239129f32f8 | - | - | +| roborumble/blr.Chicken001_0.1.jar | roborumble | robot | PASS | b36bd24ea7cdd125 | - | - | +| roborumble/bndl.LostLion_1.2.jar | roborumble | robot | PASS | fad1a48dcb20e058 | - | - | +| roborumble/boe.Minerva_0.80.jar | roborumble | robot | DISCREPANCY (outcome) | 06462108430f485c | - | - | +| roborumble/bons.NanoStalker_1.2.jar | roborumble | robot | score-review | 7fa967a48b2bdaa3 | - | - | +| roborumble/bots.UberBot_1.2c.jar | roborumble | robot | PASS | 72dbc427c019d828 | - | - | +| roborumble/bots.UnterBot_1.0.jar | roborumble | robot | PASS | 0e8217b8963172d1 | - | - | +| roborumble/bots.UnterExBot_1.0.jar | roborumble | robot | PASS | b21f0e7cab8945cc | - | - | +| roborumble/bp.Kuma_1.0.jar | roborumble | robot | score-review | 85f7f94a56f0d1c2 | - | - | +| roborumble/braaropolis.Abot_1.0.jar | roborumble | robot | PASS | a2df55df8d971459 | - | - | +| roborumble/brainfade.Fallen_0.63.jar | roborumble | robot | PASS | e28628d85d0c4a56 | - | - | +| roborumble/brainfade.melee.Dusk_0.44.jar | roborumble | robot | PASS | f8ee020df517510f | - | - | +| roborumble/bts.mega.Gnarly_1.4.jar | roborumble | robot | PASS | 867182c105c432de | - | - | +| roborumble/bts.wiki.RipCurl_0.9b.jar | roborumble | robot | DISCREPANCY (outcome) | 1a37177249ebafea | - | - | +| roborumble/buba.Archivist_0.1.jar | roborumble | robot | PASS | aa1f6c80b995d2cc | - | - | +| roborumble/buba.Buba_0.3.jar | roborumble | robot | PASS | 224194e7fcdb5495 | - | - | +| roborumble/bumblebee.Bumblebee_1.0.jar | roborumble | robot | PASS | 43be93c102edd078 | - | - | +| roborumble/bvh.fnr.Fenrir_0.36l.jar | roborumble | robot | PASS | b4921a3482058324 | - | - | +| roborumble/bvh.frg.Friga_0.112dev.jar | roborumble | robot | PASS | 76fc12ecb24aaeda | - | - | +| roborumble/bvh.fry.Freya_0.82.jar | roborumble | robot | PASS | fe61ff5c72809b21 | packaged-data-resources | bridge | +| roborumble/bvh.hdr.Hodur_0.4.jar | roborumble | robot | score-review | 8a25b46b587e2378 | - | - | +| roborumble/bvh.loki.Loki_0.5.jar | roborumble | robot | score-review | baababf4d63efaf4 | - | - | +| roborumble/bvh.micro.Freya_0.3.jar | roborumble | robot | PASS | cb8ffc8035b0b113 | - | - | +| roborumble/bvh.micro.Svadilfari_0.2.jar | roborumble | robot | PASS | 31e4d17c67a09cf7 | - | - | +| roborumble/bvh.mini.Fenrir_0.39.jar | roborumble | robot | PASS | a6a855c07fd9da46 | - | - | +| roborumble/bvh.mini.Freya_0.55.jar | roborumble | robot | PASS | faff76b00952488f | - | - | +| roborumble/bvh.mini.Mjolnir_0.3.jar | roborumble | robot | PASS | b8b6ef9147eb54d2 | - | - | +| roborumble/bvh.mini.Wodan_0.50.jar | roborumble | robot | PASS | ca182a611e34db8e | - | - | +| roborumble/bvh.tyr.Tyr_1.74.jar | roborumble | robot | PASS | 5b1f84ee29ac481a | - | - | +| roborumble/bwbaugh.nano.Tirunculus_0.0.0a.jar | roborumble | robot | score-review | 065a07920f011446 | - | - | +| roborumble/bzdp.BoxCar_2.0.jar | roborumble | robot | PASS | 158dc02a97104f42 | - | - | +| roborumble/bzdp.Pansy_2.1.jar | roborumble | robot | PASS | e5ecc6fe604d60b8 | - | - | +| roborumble/caimano.Furia_Ceca_0.22.jar | roborumble | robot | score-review | 4d5dd0574032c7bf | - | - | +| roborumble/casey.Flee_1.0.jar | roborumble | robot | PASS | a68f7fbc62aef405 | - | - | +| roborumble/cb.Domogled_1.2.jar | roborumble | robot | DISCREPANCY (outcome) | 5447e9339db7eccd | - | - | +| roborumble/cb.fire.Firestarter_2.0f.jar | roborumble | robot | DISCREPANCY (outcome) | 89623ea5edf609f2 | - | - | +| roborumble/cb.mega.RandomBot_1.0.jar | roborumble | robot | DISCREPANCY (outcome) | 9f919c351f22baa4 | - | - | +| roborumble/cb.nano.Insomnia_1.0.jar | roborumble | robot | score-review | 2b65230e01814b28 | - | - | +| roborumble/cbot.agile.Nibbler_0.2.jar | roborumble | robot | DISCREPANCY (errors) | a743104b456df95b | - | - | +| roborumble/cbot.cbot.CBot_0.8.jar | roborumble | robot | PASS | 72304543581f9b7b | - | - | +| roborumble/cf.OldMan.OldManXP_0.1.jar | roborumble | robot | PASS | 9ee75157b4ba10a1 | - | - | +| roborumble/cf.mini.Chiva_1.0.jar | roborumble | robot | PASS | 81ca35e884bdda0d | - | - | +| roborumble/cf.proto.Shiva_2.2.jar | roborumble | robot | PASS | 982c54f11f7bf862 | - | - | +| roborumble/cf.star.Star2_1.23.jar | roborumble | robot | PASS | f7ffd0788cc90587 | - | - | +| roborumble/ch.rhj.rbc.RHJ1_1.0.jar | roborumble | robot | PASS | 01de6468fb9276c1 | - | - | +| roborumble/chase.pm.Pytko_1.0.jar | roborumble | robot | PASS | f3341a46358cb3a8 | - | - | +| roborumble/chickenfuego.UrChicken2_1.0.jar | roborumble | robot | score-review | 728bbeb46f532bf2 | - | - | +| roborumble/cjk.Merkava_0.1.1.jar | roborumble | robot | PASS | 56e7d8dd5c969372 | - | - | +| roborumble/cjm.Che_1.2.jar | roborumble | robot | PASS | 08e3ebbb8e8cafec | - | - | +| roborumble/cli.Dancer_1.1.jar | roborumble | robot | PASS | 76d6527ba565e6e8 | - | - | +| roborumble/cli.WasteOfAmmo_1.0.jar | roborumble | robot | DISCREPANCY (no score) | 2f903f1fb948749b | - | - | +| roborumble/codemojo.nano.Woot_1.0.jar | roborumble | robot | PASS | 7b75c4d17e30213b | - | - | +| roborumble/com.arsenic.NewTest_1.0.jar | roborumble | robot | DISCREPANCY (errors) | d6d74c72cf5e95ab | - | - | +| roborumble/com.blogspot.malinkody.DestrobotMalin_1.0.jar | roborumble | robot | score-review | 5150f5d9febe75e6 | - | - | +| roborumble/com.cohesiva.robocode.ManOwaR_1.0.jar | roborumble | robot | PASS | 12786f49002d3554 | - | - | +| roborumble/com.sociesc.T1000_1.0.0.jar | roborumble | robot | score-review | 0f2d5c4b9089dfeb | - | - | +| roborumble/com.spp.robocode.MostlyHarmless_010.jar | roborumble | robot | PASS | bf9624b1e5be7364 | - | - | +| roborumble/com.syncleus.robocode.Dreadnaught_0.1.jar | roborumble | robot | PASS | 74e041fd9d303f18 | - | - | +| roborumble/com.timothyveletta.FuzzyBot_1.1.jar | roborumble | robot | PASS | 2725e155384329ea | - | - | +| roborumble/conscience.Bulldozer_1.0a.jar | roborumble | robot | score-review | d7ba964e4e43901c | - | - | +| roborumble/conscience.Electron_1.3g.jar | roborumble | robot | PASS | 19908c53a430749d | - | - | +| roborumble/conscience.Idem_1.0a.jar | roborumble | robot | score-review | eb8ec45277d96dfd | - | - | +| roborumble/conscience.Suicidal_1.1.jar | roborumble | robot | DISCREPANCY (no score) | a392eb662de14448 | - | - | +| roborumble/cre.Karolos_0.32.jar | roborumble | robot | DISCREPANCY (outcome) | 7bb15adf1502a23c | - | - | +| roborumble/cs.Nene_1.0.5.jar | roborumble | robot | score-review | 0beaabd2346d9730 | - | - | +| roborumble/cs.PumpkinPie_1.0.jar | roborumble | robot | PASS | c725fb8efdc81773 | - | - | +| roborumble/cs.Wren_1.0.jar | roborumble | robot | PASS | 038056ec38361bd3 | - | - | +| roborumble/cs.s2.Seraphim_2.3.1.jar | roborumble | robot | PASS | ea63d4fa2eac6c25 | - | - | +| roborumble/csm.NthGeneration_0.04.jar | roborumble | robot | PASS | f513f892fcf3c5dc | - | - | +| roborumble/csp.Eagle_3.30.jar | roborumble | robot | score-review | f1344f1c2958947d | - | - | +| roborumble/css.Delitioner_0.11.jar | roborumble | robot | PASS | 5011f2da71d38328 | - | - | +| roborumble/cuoq.Kakera_1.0.jar | roborumble | robot | PASS | 24bb72dfc648f37c | - | - | +| roborumble/cw.megas.Blade_0.8.jar | roborumble | robot | DISCREPANCY (errors) | 4aaeb14f0d7fe7cd | - | - | +| roborumble/cw.megas.GhostShell_GT.jar | roborumble | robot | DISCREPANCY (outcome) | cebc69d8bb954e71 | - | - | +| roborumble/cw.megas.Gridd_0.4.jar | roborumble | robot | PASS | 6f34f6ef130995c8 | - | - | +| roborumble/cw.megas.Polar_3.2.jar | roborumble | robot | DISCREPANCY (outcome) | 35a21885ebf299e0 | - | - | +| roborumble/cw.megas.Silhouette_1.1.jar | roborumble | robot | PASS | 25c5e3c9db55e253 | - | - | +| roborumble/cx.BlestPain_1.41.jar | roborumble | robot | PASS | f0e3210c128d5c6c | - | - | +| roborumble/cx.CigaretBH_1.03.jar | roborumble | robot | PASS | b3f0624de06e9e36 | - | - | +| roborumble/cx.Lacrimas_1.36.jar | roborumble | robot | PASS | 539ae590fae08967 | - | - | +| roborumble/cx.Princess_1.0.jar | roborumble | robot | PASS | 5d92f19933b9dea0 | - | - | +| roborumble/cx.micro.Blur_0.2.jar | roborumble | robot | score-review | e0eb72591fc796b8 | - | - | +| roborumble/cx.micro.Smoke_0.96.jar | roborumble | robot | PASS | 22c757bf2c791a1c | - | - | +| roborumble/cx.micro.Spark_0.6.jar | roborumble | robot | score-review | 33b8c433861acbd1 | - | - | +| roborumble/cx.mini.BlackSwans_0.60.jar | roborumble | robot | PASS | 8ff4ff433f3d1ef6 | - | - | +| roborumble/cx.mini.Cigaret_1.31.jar | roborumble | robot | PASS | dc070048cc9ba197 | - | - | +| roborumble/cx.mini.Nimrod_0.55.jar | roborumble | robot | score-review | 79c0ff02f62c13d6 | - | - | +| roborumble/cx.nano.Smog_2.6.jar | roborumble | robot | score-review | bc706ecbeb69a224 | - | - | +| roborumble/cyragia.Bot_1.1.jar | roborumble | robot | PASS | 21d0dade19312424 | - | - | +| roborumble/da.NewBGank_1.4.jar | roborumble | robot | score-review | 8b25ee1671f08bbe | - | - | +| roborumble/daemons.DizzyA_1.0.jar | roborumble | robot | score-review | fce67ed0d1b04c77 | - | - | +| roborumble/dam.MogBot_2.9.jar | roborumble | robot | DISCREPANCY (outcome) | 6003e69f1e0dcce6 | - | - | +| roborumble/dans.Cinnamon_1.2.jar | roborumble | robot | score-review | 3ddba38f0713acc3 | - | - | +| roborumble/darkcanuck.Gaff_1.50.jar | roborumble | robot | PASS | ecc0cfdcfe4481ee | packaged-data-resources | bridge | +| roborumble/darkcanuck.Holden_1.13a.jar | roborumble | robot | PASS | 4f682a9bd6d654ee | packaged-data-resources | bridge | +| roborumble/darkcanuck.Pris_0.92.jar | roborumble | robot | PASS | 090ad59ca3e144b7 | packaged-data-resources | bridge | +| roborumble/davidalves.Firebird_0.25.jar | roborumble | robot | score-review | fbca028f7a468788 | - | - | +| roborumble/davidalves.PhoenixOS_1.1.jar | roborumble | robot | DISCREPANCY (outcome) | d37fc2d466f2354b | - | - | +| roborumble/davidalves.Phoenix_1.02.jar | roborumble | robot | PASS | d15696e56af7ec73 | - | - | +| roborumble/davidalves.net.DuelistMicroMkII_1.1.jar | roborumble | robot | score-review | 40198e0e594d02d6 | - | - | +| roborumble/davidalves.net.DuelistMicro_1.22.jar | roborumble | robot | score-review | c28e90450fc99ae5 | - | - | +| roborumble/davidalves.net.DuelistMini_1.1.jar | roborumble | robot | PASS | cb584316a7ba79e0 | - | - | +| roborumble/davidalves.net.DuelistNano_1.0.jar | roborumble | robot | PASS | d29eb247c581f450 | - | - | +| roborumble/davidalves.net.Duelist_0.1.6src.jar | roborumble | robot | PASS | a1dd12d2d41bd3da | - | - | +| roborumble/davv.DOne_b002.jar | roborumble | robot | score-review | f60c95154076199f | - | - | +| roborumble/dcs.Eater_of_Worlds_1.1.3-A.jar | roborumble | robot | PASS | 6d03e404aa0e75d9 | - | - | +| roborumble/dcs.Eater_of_Worlds_Mini_1.0.jar | roborumble | robot | PASS | 2fe91471c7f09d1a | - | - | +| roborumble/dcs.PM.Eater_of_Worlds_PM_1.2.jar | roborumble | robot | score-review | f1ba2437b9b57a63 | - | - | +| roborumble/de.erdega.robocode.Polyphemos_0.4.jar | roborumble | robot | score-review | 4b2a42fea45ce2a9 | - | - | +| roborumble/de.simpleworks.robocode.bots.swiBot_1.0.jar | roborumble | robot | PASS | c1c1dba51c345138 | - | - | +| roborumble/deith.Czolgzilla_0.11.jar | roborumble | robot | PASS | 6a14a50736d181ca | - | - | +| roborumble/demetrix.ForceMajeure_0.75.jar | roborumble | robot | PASS | c99da6d0b2acb9c2 | - | - | +| roborumble/demetrix.nano.Neutrino_0.27.jar | roborumble | robot | score-review | c6d106d809914110 | - | - | +| roborumble/demetrix.nano.SledgeHammer_0.22.jar | roborumble | robot | score-review | 2dd6c1ce765e2145 | - | - | +| roborumble/deo.CloudBot_1.3.jar | roborumble | robot | score-review | 602f15d5ee46510e | - | - | +| roborumble/deo.FlowerBot_1.0.jar | roborumble | robot | PASS | 906c3cf350cdb490 | - | - | +| roborumble/deo.virtual.RainbowBot_1.0.jar | roborumble | robot | score-review | ec739c27975085dd | - | - | +| roborumble/dft.Calliope_5.6.jar | roborumble | robot | score-review | 1922e70abf214431 | - | - | +| roborumble/dft.Cyanide_1.90.jar | roborumble | robot | PASS | b56d225eda383ab9 | - | - | +| roborumble/dft.Cyprus_3.0.jar | roborumble | robot | PASS | 910fdb7758e78f46 | - | - | +| roborumble/dft.Freddie_1.32.jar | roborumble | robot | score-review | 341a18222d734d39 | - | - | +| roborumble/dft.Guppy_1.0.jar | roborumble | robot | PASS | e769ffce4e573dad | - | - | +| roborumble/dft.Immortal_1.40.jar | roborumble | robot | PASS | 1d36afbb67c11346 | - | - | +| roborumble/dft.Krazy_1.5.jar | roborumble | robot | score-review | 164440b187073126 | - | - | +| roborumble/dft.Virgin_1.25.jar | roborumble | robot | PASS | 36ab62179c948ed5 | - | - | +| roborumble/dggp.haiku.gpBot_0_1.1.jar | roborumble | robot | score-review | 8c9d984fdf0efc98 | - | - | +| roborumble/disan.Chair_2.2.0.jar | roborumble | robot | PASS | 208f62fdfb38e29f | - | - | +| roborumble/disan.Ghost_.01.jar | roborumble | robot | PASS | 939017536d62cb1b | - | - | +| roborumble/dittman.BlindSquirl_Retired.jar | roborumble | robot | score-review | bd4fb0e12b986401 | - | - | +| roborumble/divineomega.DivineBot_1.9.5.jar | roborumble | robot | DISCREPANCY (errors) | 4fd33ccfdaf0dab3 | - | - | +| roborumble/divineomega.PatrollerBot_1.0.jar | roborumble | robot | PASS | f0329aed308430d6 | - | - | +| roborumble/divineomega.TrialBot_0.003.jar | roborumble | robot | PASS | 9e9013ee655ba929 | - | - | +| roborumble/djc.Aardvark_0.3.6.jar | roborumble | robot | PASS | 0f5e762f770658d6 | - | - | +| roborumble/djdjdj.NanoSkunk10_1.0.jar | roborumble | robot | score-review | 584c9f0476f1fbd5 | - | - | +| roborumble/dk.stable.Gorgatron_1.1.jar | roborumble | robot | PASS | 26892e7aeaed0062 | - | - | +| roborumble/dks.MicroDanMK2_1.0.jar | roborumble | robot | PASS | d9aa07342e2c385f | - | - | +| roborumble/dmh.robocode.robot.BlackDeath_9.2.jar | roborumble | robot | DISCREPANCY (outcome) | 5a66d8e6f151150b | - | - | +| roborumble/dmh.robocode.robot.BlueBerry_0.5.jar | roborumble | robot | score-review | 41ff60750d06c66c | - | - | +| roborumble/dmh.robocode.robot.GreenDragon_1.0.jar | roborumble | robot | PASS | bcfc6d79e390b279 | - | - | +| roborumble/dmh.robocode.robot.PinkPanther_1.1.jar | roborumble | robot | PASS | 9b1fac585eb3cd2f | - | - | +| roborumble/dmh.robocode.robot.YellowBird_0.12.jar | roborumble | robot | PASS | 2b6f33428c15386e | - | - | +| roborumble/dmp.micro.Aurora_1.41.jar | roborumble | robot | score-review | 05310022c6d6c60c | - | - | +| roborumble/dmp.nano.Eve_3.41.jar | roborumble | robot | score-review | 3931602ad25b6a06 | - | - | +| roborumble/doka.KillerRabbit_1.0.jar | roborumble | robot | PASS | cf5897bf12f1cb30 | - | - | +| roborumble/doka.ShinigamiKNN_1.0.jar | roborumble | robot | DISCREPANCY (outcome) | 234f9c8e91875812 | - | - | +| roborumble/doka.Shinigami_2.2.jar | roborumble | robot | PASS | 4a188800060cdb57 | - | - | +| roborumble/doka.Test_1.0.jar | roborumble | robot | PASS | a5b782b719256b2f | - | - | +| roborumble/donjezza.Jezza_1.0.jar | roborumble | robot | score-review | ea54e870cda66d48 | - | - | +| roborumble/donjezza.Muncho_1.0.jar | roborumble | robot | score-review | 5621bc7c9b63b9bc | - | - | +| roborumble/dragonbyte.Neutrino_4.jar | roborumble | robot | score-review | 921a316d393ed969 | - | - | +| roborumble/drd.Dreadknoght_0.9.jar | roborumble | robot | PASS | fd5b89183aea86e8 | - | - | +| roborumble/drm.CobraBora_1.12.jar | roborumble | robot | score-review | 54f1d01d2403ba18 | - | - | +| roborumble/drm.Magazine_0.39.jar | roborumble | robot | score-review | e8b005bbf41df0df | - | - | +| roborumble/ds.OoV4_0.3b.jar | roborumble | robot | PASS | 1eddc4f0f49437bf | wrapper-json-encoding | wrapper | +| roborumble/ds.Versatile_RB1.0.1.jar | roborumble | robot | score-review | 6a0a47aacb2e5d1b | wrapper-json-encoding | wrapper | +| roborumble/dsekercioglu.mega.Raven_3.56j8.jar | roborumble | robot | PASS | a90d58c1d2d60969 | - | - | +| roborumble/dsekercioglu.mega.WhiteFang_2.8.1.jar | roborumble | robot | score-review | 4d83ffe42a94379f | - | - | +| roborumble/dsekercioglu.mini.Partial_0.1.3.jar | roborumble | robot | PASS | 5984357cffc8ce26 | - | - | +| roborumble/dsekercioglu.shield.ColdBreath_1.0.jar | roborumble | robot | DISCREPANCY (no score) | 854a73382e180a56 | - | - | +| roborumble/dsw.StaticD_1.0.jar | roborumble | robot | PASS | cb3c6574d929e48d | - | - | +| roborumble/dsx724.VSAB_EP3_ATR_1.1.jar | roborumble | robot | PASS | 3011583494eb7f17 | - | - | +| roborumble/dsx724.VSAB_EP3a_1.0.jar | roborumble | robot | PASS | 32cb33ffb5a19f76 | - | - | +| roborumble/dukie.Ambassador_1.0.jar | roborumble | robot | PASS | 96416db6612b9f6f | - | - | +| roborumble/dummy.micro.HummingBird_2.14.jar | roborumble | robot | PASS | 6a5102214fb7d514 | - | - | +| roborumble/dummy.micro.Sparrow_2.5.jar | roborumble | robot | PASS | b33016494688992d | - | - | +| roborumble/dummy.mini.Parakeet_2.40.jar | roborumble | robot | PASS | 861ff6f63daa9ac5 | - | - | +| roborumble/dvogon.GangBang_1.0.jar | roborumble | robot | score-review | 8e3f284de332c1dd | - | - | +| roborumble/dy.LevelOne_2.0.jar | roborumble | robot | PASS | 046a7885151acf3d | - | - | +| roborumble/dz.Caedo_1.4.jar | roborumble | robot | PASS | dd2709df3eee05f8 | - | - | +| roborumble/dz.GalbaMicro_0.11.jar | roborumble | robot | PASS | 9533cf29aaf81031 | - | - | +| roborumble/dz.GalbaMini_0.121.jar | roborumble | robot | PASS | fe7db6890b699ea8 | - | - | +| roborumble/dz.MostlyHarmlessNano_2.1.jar | roborumble | robot | PASS | 222b3c3860e9be2e | - | - | +| roborumble/dz.OthoMicro_0.12.jar | roborumble | robot | PASS | 87a618756a32d658 | - | - | +| roborumble/dz.OthoMini_0.15.jar | roborumble | robot | PASS | 1bf733ce688bea50 | - | - | +| roborumble/e32.Omni_0.04.jar | roborumble | robot | DISCREPANCY (outcome) | 93f7fce337a4cc1d | - | - | +| roborumble/eat.HumblePieLite_1.0.jar | roborumble | robot | PASS | a85c70974ba48767 | - | - | +| roborumble/ebo.Sparse_0.02.jar | roborumble | robot | score-review | 9da95784397a1e18 | - | - | +| roborumble/ebo.Tahoe_1.1.79.jar | roborumble | robot | PASS | 681b5afe8a64b645 | - | - | +| roborumble/eem.EvBotNG_v12.8.jar | roborumble | robot | PASS | 7ebb64d148b85617 | - | - | +| roborumble/eem.EvBot_v4.6.4.jar | roborumble | robot | PASS | f3b0485111bec962 | - | - | +| roborumble/eem.IWillFireNoBullet_v2.4.jar | roborumble | robot | score-review | 7cdf1837d55623fb | - | - | +| roborumble/eem.awful_v1.2.jar | roborumble | robot | DISCREPANCY (no score) | 59537630aafb178b | - | - | +| roborumble/eem.zapper_v4.17.jar | roborumble | robot | PASS | 9739522025a54af6 | - | - | +| roborumble/ej.ChocolateBar_1.1.jar | roborumble | robot | score-review | b47ad477d6bd24cb | - | - | +| roborumble/el.Attackr_0.1.jar | roborumble | robot | PASS | f2944dcec0666d53 | - | - | +| roborumble/el.JumpShoot_0.2.jar | roborumble | robot | PASS | 795d56a26238569f | - | - | +| roborumble/el33t.EL33tGangstarr2_2.0.jar | roborumble | robot | score-review | 791e673951bd2014 | - | - | +| roborumble/eld.Hmm_1.0.jar | roborumble | robot | PASS | 6429e35e8dc9bb33 | - | - | +| roborumble/element.Earth_1.1.jar | roborumble | robot | score-review | e9a5d46ed04f0534 | - | - | +| roborumble/elloco.Flower_0.1r1.jar | roborumble | robot | PASS | dc5eb966fb783139 | - | - | +| roborumble/elloco.Kabuto_0.2r.jar | roborumble | robot | PASS | 5558a61657f168c0 | - | - | +| roborumble/elvbot.ElverionBot_0.3.jar | roborumble | robot | PASS | 71e2df5b73f1ffcc | - | - | +| roborumble/emp.Yngwie_1.11.jar | roborumble | robot | PASS | 2b8bbf46a8f1d158 | - | - | +| roborumble/ender.EnderRobot_1.1.jar | roborumble | robot | PASS | bf1c109c4d17f836 | - | - | +| roborumble/ep.MyFirstRobot_1.0.jar | roborumble | robot | MATCHED (failure) | 09c6cfb05af392d7 | - | - | +| roborumble/ers.micro.ISuck.ISuckMicro_0.1f.jar | roborumble | robot | MATCHED (failure) | bdffea9c570eb754 | - | - | +| roborumble/ers.nano.ISuck.ISuckNano_0.1d.jar | roborumble | robot | MATCHED (failure) | 9a259f9c6c5ee751 | - | - | +| roborumble/ers.nano.Lig.LigMA_1.0.jar | roborumble | robot | MATCHED (failure) | 43759291daa44c50 | - | - | +| roborumble/ers.nano.Meroka.Meroka_1.1.jar | roborumble | robot | MATCHED (failure) | e6622eb45701b731 | - | - | +| roborumble/ers.nano.Sugma.SugmaVCS_1.1.jar | roborumble | robot | MATCHED (failure) | b4e347e3240cad13 | - | - | +| roborumble/ers.nano.Sunderer.Sunderer_1.2.jar | roborumble | robot | MATCHED (failure) | f5bdc5d5a7662f77 | - | - | +| roborumble/eskimo.micro.Echo_0.1.jar | roborumble | robot | MATCHED (failure) | fd95d2feff3f2fea | - | - | +| roborumble/et.Predator_1.8.jar | roborumble | robot | MATCHED (failure) | 875e0d05d23208c4 | - | - | +| roborumble/ethdsy.Malacka_2.4.jar | roborumble | robot | MATCHED (failure) | 986386c9abd2263c | - | - | +| roborumble/etienne72230.Wall_street_1.0.jar | roborumble | robot | MATCHED (failure) | 42eebf58778f64fb | - | - | +| roborumble/evd.X1_0.01.jar | roborumble | robot | MATCHED (failure) | 06854d9dbad423a8 | - | - | +| roborumble/exauge.GateKeeper_1.1.121g.jar | roborumble | robot | MATCHED (failure) | f4cfae2f888eb716 | - | - | +| roborumble/exauge.LemonDrop_1.6.130.jar | roborumble | robot | MATCHED (failure) | 86d70443e0197c47 | - | - | +| roborumble/exauge.Leopard_1.1.019.jar | roborumble | robot | MATCHED (failure) | d67bbe47d65abd53 | - | - | +| roborumble/extra.LightSauce_0.01.jar | roborumble | robot | MATCHED (failure) | e5c9ee7cfeed3b07 | - | - | +| roborumble/extra.Sauce_.01.jar | roborumble | robot | MATCHED (failure) | 7b2918a07def466d | - | - | +| roborumble/fala.robocode.FalaRobot_1.0.jar | roborumble | robot | MATCHED (failure) | 29a5601892a26834 | - | - | +| roborumble/fcr.First_1.0.jar | roborumble | robot | MATCHED (failure) | 8db47e2d9d62a27b | - | - | +| roborumble/fire219.CatBot_1.0.jar | roborumble | robot | MATCHED (failure) | 36add8be7ffef313 | - | - | +| roborumble/fire219.cymba.Cymba_1.8.jar | roborumble | robot | MATCHED (failure) | 131ec84edafe270b | - | - | +| roborumble/florent.FloatingTadpole_1.2.6.jar | roborumble | robot | MATCHED (failure) | 82b4ce7fc5742beb | - | - | +| roborumble/florent.XSeries.X2_0.17.jar | roborumble | robot | MATCHED (failure) | c9a80321ef9eab53 | - | - | +| roborumble/florent.small.LittleAngel_1.8.jar | roborumble | robot | DISCREPANCY (no score) | 3f8326a84f0bd900 | - | - | +| roborumble/florent.test.Toad_0.14t.jar | roborumble | robot | MATCHED (failure) | 13e6e0cdc1395289 | - | - | +| roborumble/fm.claire_1.7.jar | roborumble | robot | MATCHED (failure) | 70de3507acc20c29 | - | - | +| roborumble/fm.mammillarias_1.3.jar | roborumble | robot | MATCHED (failure) | d0cd14dbbf73d88b | - | - | +| roborumble/fnc.bandit.Bandit_5.2.0.jar | roborumble | robot | MATCHED (failure) | 1a80127f5f410c25 | - | - | +| roborumble/fnc.bandit2002.Bandit2002_4.0.2.jar | roborumble | robot | MATCHED (failure) | 18951e98762a9f79 | - | - | +| roborumble/frag.FragBot_1.0.jar | roborumble | robot | MATCHED (failure) | 47fa458493cbc45e | - | - | +| roborumble/franzor.Lizt_1.3.1.jar | roborumble | robot | MATCHED (failure) | c3f55886bc4b2329 | - | - | +| roborumble/froh.micro.Aversari_0.31.jar | roborumble | robot | MATCHED (failure) | fdd83abc5317dc7c | - | - | +| roborumble/fromHell.BlackBox_0.0.2.jar | roborumble | robot | MATCHED (failure) | 1ca9b10801992a11 | - | - | +| roborumble/fromHell.C22H30N2O2S_2.2.jar | roborumble | robot | MATCHED (failure) | b621bda1a3c49348 | - | - | +| roborumble/fromHell.C4H10O_1.5.1.jar | roborumble | robot | MATCHED (failure) | b8e9e74c1eec8204 | - | - | +| roborumble/fromHell.CHCl3_1.4.2.jar | roborumble | robot | MATCHED (failure) | bdc7925c24e2e3f3 | - | - | +| roborumble/fruits.NanoStrawbery_1.3.jar | roborumble | robot | MATCHED (failure) | 5b966841b00b16eb | - | - | +| roborumble/fullsail.LaxativeTeaTwo_1.0.jar | roborumble | robot | MATCHED (failure) | dd866b226f39b65e | - | - | +| roborumble/fullsail.SweetTea_1.1.jar | roborumble | robot | MATCHED (failure) | 936f481cf375afa4 | - | - | +| roborumble/fullsail.TimbotNoPrediction_1.0.jar | roborumble | robot | MATCHED (failure) | 7c615c99a39069ac | - | - | +| roborumble/fushi.PvP1.PvP1_2004-02-16.jar | roborumble | robot | MATCHED (failure) | 1b8259c3cfd580ce | - | - | +| roborumble/fw.Number1_1.0b.jar | roborumble | robot | MATCHED (failure) | 2cc6120e92d4b230 | - | - | +| roborumble/gadsky.Gadsky_1.01.jar | roborumble | robot | MATCHED (failure) | 79fa67574b3f574a | - | - | +| roborumble/geep.mini.GPBotA_1.0.jar | roborumble | robot | MATCHED (failure) | 0d25e3d2ded7c752 | - | - | +| roborumble/geep.mini.GPBotB_1.1.jar | roborumble | robot | MATCHED (failure) | 962021716e3e7eaf | - | - | +| roborumble/genprog.Gajeel_1.0.jar | roborumble | robot | MATCHED (failure) | ff92ee797e807b9c | - | - | +| roborumble/genprog.Rinmorikazu_1.0.jar | roborumble | robot | DISCREPANCY (no score) | e8721bfe1878ce0b | - | - | +| roborumble/genprog.Zafaran_1.0.jar | roborumble | robot | DISCREPANCY (no score) | 1945c190c76e6150 | - | - | +| roborumble/germ.TheMind_.2.jar | roborumble | robot | DISCREPANCY (no score) | f6001e8b572533b4 | - | - | +| roborumble/gf.Centaur.Centaur_0.6.7.jar | roborumble | robot | DISCREPANCY (no score) | 64630a3acc5ad08d | - | - | +| roborumble/gg.Squaraus_0.6.jar | roborumble | robot | DISCREPANCY (no score) | af5d371fd0d8ebc8 | - | - | +| roborumble/gg.Wolverine_2.0.jar | roborumble | robot | DISCREPANCY (no score) | 5a1633d8ea1a8831 | - | - | +| roborumble/gh.GresSuffurd_0.4.13.jar | roborumble | robot | DISCREPANCY (no score) | 422163e3feada153 | - | - | +| roborumble/gh.GrubbmGrb_1.2.4.jar | roborumble | robot | PASS | 5ec4a9ed6e45a26d | packaged-data-resources | bridge | +| roborumble/gh.GrypRepetyf_0.13.jar | roborumble | robot | DISCREPANCY (no score) | 43c8214c070a00fd | - | - | +| roborumble/gh.micro.Grinnik_1.0.jar | roborumble | robot | DISCREPANCY (no score) | e524b4d483d0635e | - | - | +| roborumble/gh.mini.Grimmig_0.3.6.jar | roborumble | robot | DISCREPANCY (no score) | 5f21e7bfd82d02e0 | - | - | +| roborumble/gh.nano.Grofvuil_0.2.jar | roborumble | robot | DISCREPANCY (no score) | 2d26131918c382a7 | - | - | +| roborumble/ghent.ArthurPanzergon_1.0.0.jar | roborumble | robot | DISCREPANCY (outcome) | dfa7800f0f04cab3 | - | - | +| roborumble/gimp.GimpBot_0.1.jar | roborumble | robot | DISCREPANCY (no score) | 971d83252cd783ae | - | - | +| roborumble/gio.RealGioBot_1.0.jar | roborumble | robot | DISCREPANCY (no score) | 5e1535e7c64aba59 | - | - | +| roborumble/gjr.Cephalosporin_0.2.jar | roborumble | robot | DISCREPANCY (no score) | db03f6ffc0fe3874 | - | - | +| roborumble/goblin.Bender_2.4.jar | roborumble | robot | DISCREPANCY (no score) | c974dc2f04983d30 | - | - | +| roborumble/gre.svman4.Leonidas_1.3.2.jar | roborumble | robot | DISCREPANCY (no score) | 58b0a10a9eac6c89 | - | - | +| roborumble/gre.svman4.Morfeas_1.4.3.jar | roborumble | robot | DISCREPANCY (outcome) | 414e70d87bc5aa3d | - | - | +| roborumble/grybgoofy.GoofyBot_0.10.jar | roborumble | robot | DISCREPANCY (no score) | 8ca01ec24f3ecc76 | - | - | +| roborumble/gtf.robocode.Strafer_2.1.1.jar | roborumble | robot | DISCREPANCY (no score) | 1b9743c2f5eaa391 | - | - | +| roborumble/gu.MicroScoob_1.3.jar | roborumble | robot | DISCREPANCY (no score) | 7c0c54c5c13d5050 | - | - | +| roborumble/gwah.GBotMarkIV_1.0.jar | roborumble | robot | DISCREPANCY (no score) | 8b1a6bdf876ed094 | - | - | +| roborumble/gwah.GerryBotMkII_1.5.1.jar | roborumble | robot | DISCREPANCY (no score) | f10a31cfcd02142e | - | - | +| roborumble/ha2.T2_0.2.jar | roborumble | robot | DISCREPANCY (no score) | 1bece4ef2e0c4719 | - | - | +| roborumble/ha2.T2b_0.2b.jar | roborumble | robot | DISCREPANCY (no score) | 15ea51b55ba7e79a | - | - | +| roborumble/ha2.T3_0.1.jar | roborumble | robot | PASS | 2c1320bf09ac71d5 | - | - | +| roborumble/ha2.T3_0.2.jar | roborumble | robot | score-review | d16bed013eca821a | - | - | +| roborumble/hamilton.Hamilton_1.0.jar | roborumble | robot | PASS | 11c09b304e986c4d | - | - | +| roborumble/hapiel.Spiral_0.1.jar | roborumble | robot | PASS | fdb4c259f116e43f | - | - | +| roborumble/hfgrobots.HFG_1.0.jar | roborumble | robot | score-review | 6421835506f37155 | - | - | +| roborumble/hirataatsushi.Neo_1.6.jar | roborumble | robot | PASS | 1a0cfd2f9819f9a5 | - | - | +| roborumble/hirataatsushi.Trinity_0.003.jar | roborumble | robot | score-review | acff8e25afd66c29 | - | - | +| roborumble/hlavko.micro.Flex_1.5.jar | roborumble | robot | score-review | c7bbcab70575bea1 | - | - | +| roborumble/hlavko.nano.Phoenix_1.0.jar | roborumble | robot | PASS | c439627c649a2174 | - | - | +| roborumble/hlavko.nano.Ringo_1.0d.jar | roborumble | robot | PASS | db5b621b966317d5 | - | - | +| roborumble/hlavko.nano.Ringo_2.0.jar | roborumble | robot | score-review | 9924522cdf6df090 | - | - | +| roborumble/homerbots.h1_1.0.jar | roborumble | robot | PASS | 02c3317ae696df0a | - | - | +| roborumble/hp.Athena_0.1.jar | roborumble | robot | PASS | 07e6a55f655750ec | - | - | +| roborumble/hs.SimpleHBot_1.3.jar | roborumble | robot | score-review | c9d49e297432faa4 | - | - | +| roborumble/hvilela.HVilela_0.9.jar | roborumble | robot | score-review | 5e7d6ba86fc06b0e | - | - | +| roborumble/infovk.s_schwarzm16.silverbird_1.0.jar | roborumble | robot | PASS | e9631ba098d70dcb | - | - | +| roborumble/ins.MobyNano_0.8.jar | roborumble | robot | score-review | 41a4925ee8539ff3 | - | - | +| roborumble/intruder.PrairieWolf_2.61.jar | roborumble | robot | PASS | a0d663f150aa09e7 | - | - | +| roborumble/is.fon.rs.FonDestroyer3084_1.0.jar | roborumble | robot | PASS | fb46403241162b0e | - | - | +| roborumble/is.fon.rs.Kamikaza_1.0.jar | roborumble | robot | PASS | 5e11553e3a29aca5 | - | - | +| roborumble/jaara.LambdaBot_1.1.jar | roborumble | robot | DISCREPANCY (outcome) | 0cd0ce600ce7a8cf | - | - | +| roborumble/jab.DiamondStealer_5.jar | roborumble | robot | PASS | 09312469b177eef5 | - | - | +| roborumble/jab.avk.ManuelGallegus_0.6.jar | roborumble | robot | DISCREPANCY (outcome) | a39df0f593fe2025 | - | - | +| roborumble/jab.micro.Sanguijuela_0.8.jar | roborumble | robot | score-review | ebb7d7c721bd2a3d | - | - | +| roborumble/jaemcrb.nano.M1Abrams_1.0.jar | roborumble | robot | PASS | 8de62d1e1e93edfe | - | - | +| roborumble/jam.RaikoMX_0.32.jar | roborumble | robot | PASS | eca974fa0fd37a28 | - | - | +| roborumble/jam.micro.RaikoMicro_1.44.jar | roborumble | robot | PASS | 3bfa49fd33c336b4 | - | - | +| roborumble/jam.mini.Raiko_0.43.jar | roborumble | robot | score-review | 6e101daed7168592 | - | - | +| roborumble/janm.Jammy_1.0.jar | roborumble | robot | PASS | d7331a446c291ea1 | - | - | +| roborumble/japs.Serenity_1.0.jar | roborumble | robot | score-review | f3a42e32015e55aa | - | - | +| roborumble/japs.Sjonniebot_0.9.1.jar | roborumble | robot | PASS | 9b13ea94574add37 | - | - | +| roborumble/jasolo.Sonda_0.55.jar | roborumble | robot | PASS | 01203ed3d41f66cd | - | - | +| roborumble/jaw.KarenCain_0.11.jar | roborumble | robot | PASS | a6b474d3d5900dca | - | - | +| roborumble/jaw.Mouse_0.11.jar | roborumble | robot | PASS | 5bdee286f6b42607 | - | - | +| roborumble/jaybot.adv.bots.JayBot_2.0.jar | roborumble | robot | PASS | 7ee52bd421251e91 | - | - | +| roborumble/jaybot.bots.Oddball_4.0.jar | roborumble | robot | DISCREPANCY (outcome) | ee5b6a1afcb7c6f8 | - | - | +| roborumble/jbot.Rabbit2_1.1.jar | roborumble | robot | PASS | 21054c5022752597 | - | - | +| roborumble/jcs.AutoBot_4.2.1.jar | roborumble | robot | score-review | d52f242b7cf667d0 | - | - | +| roborumble/jcs.Decepticon_2.5.3.jar | roborumble | robot | PASS | 9f21384be184c5c1 | - | - | +| roborumble/jcs.Megatron_1.2.jar | roborumble | robot | PASS | dfd70f66155cf480 | - | - | +| roborumble/jcs.Seth_1.8.jar | roborumble | robot | DISCREPANCY (outcome) | 7cbbe2b6780c0995 | - | - | +| roborumble/jcw.ArcherOne_1.0.jar | roborumble | robot | score-review | 3b8d0bac2d8b47ad | - | - | +| roborumble/jcz.linio.Linio_2.0.H.jar | roborumble | robot | PASS | a1f75e443bb759cf | - | - | +| roborumble/jdw.Hornet_1.0.jar | roborumble | robot | score-review | f6b616930407a978 | - | - | +| roborumble/jekl.DarkHallow_.90.9.jar | roborumble | robot | PASS | ef19377660a16a9a | - | - | +| roborumble/jekl.Jekyl_.70.jar | roborumble | robot | PASS | 746f7ebb593a6006 | - | - | +| roborumble/jekl.mini.BlackPearl_.91.jar | roborumble | robot | score-review | f83b97c8b3cce583 | - | - | +| roborumble/jep.Terrible_0.4.1.jar | roborumble | robot | score-review | 610b809670c3c242 | - | - | +| roborumble/jep.nano.Hawkwing_0.4.1.jar | roborumble | robot | PASS | 46f42695e1a7f118 | - | - | +| roborumble/jep.nano.Hotspur_0.1.jar | roborumble | robot | PASS | c2e419d7c5f31be0 | - | - | +| roborumble/jeremyreeder.Bully_1.jar | roborumble | robot | score-review | cfd4f9ecc5b1e9c5 | - | - | +| roborumble/jeremyreeder.Vincent_2011.12.09.jar | roborumble | robot | score-review | 5937f2ce8280ffed | - | - | +| roborumble/jeremyreeder.collective.Prophet_5.jar | roborumble | robot | score-review | 184353f9c23e961e | - | - | +| roborumble/jf.Dodger_1.3.jar | roborumble | robot | score-review | 92b831520dd0868f | - | - | +| roborumble/jgap.JGAP12584_1.0.jar | roborumble | robot | PASS | be1d9435f1ab4e2a | - | - | +| roborumble/jgap.JGAP130166_1.0.jar | roborumble | robot | PASS | 6683dc1cc9cc5218 | - | - | +| roborumble/jgap.JGAP23423_1.0.jar | roborumble | robot | score-review | 898e764b76e36455 | - | - | +| roborumble/jgap.JGAP6139_1.0.jar | roborumble | robot | score-review | 9d36b13a51ac844a | - | - | +| roborumble/jgap.JGAP7247_2_1.0.jar | roborumble | robot | DISCREPANCY (errors) | e199f80ecc172fca | - | - | +| roborumble/jgap.JGAP7958_1.0.jar | roborumble | robot | score-review | 68d33e4907c12469 | - | - | +| roborumble/jje.BagPuss_1.2.jar | roborumble | robot | score-review | 48caa85e1e1f702b | - | - | +| roborumble/jk.mega.DrussGT_3.1.7.jar | roborumble | robot | PASS | 7bd03a5c78b1cf12 | - | - | +| roborumble/jk.melee.Neuromancer_7.12.jar | roborumble | robot | PASS | a3becdc000776726 | - | - | +| roborumble/jk.micro.Cotillion_0.8.jar | roborumble | robot | PASS | ac423db318a7666c | - | - | +| roborumble/jk.mini.CunobelinDC_1.2.jar | roborumble | robot | PASS | a3251e634f8d649d | - | - | +| roborumble/jk.nano.Machete_2.0.jar | roborumble | robot | PASS | 9159148bd0131ead | - | - | +| roborumble/jk.precise.EnergyDome_1.6.jar | roborumble | robot | PASS | 9847c2cdcac260e3 | - | - | +| roborumble/jk.precise.Wintermute_0.8.jar | roborumble | robot | PASS | 58d7e52300e5940f | - | - | +| roborumble/jk.sheldor.nano.Yatagan_1.2.3.jar | roborumble | robot | PASS | 190529e94cc2061c | - | - | +| roborumble/jmcd.BeoWulf_2.8.jar | roborumble | robot | PASS | ad8b1f2666ea6051 | - | - | +| roborumble/joe.ADinosaur_1.0.jar | roborumble | robot | PASS | fba69a53a36df25b | - | - | +| roborumble/josago.Jorgito_0.16.jar | roborumble | robot | PASS | dd17a61c839cce2f | wrapper-json-encoding | wrapper | +| roborumble/jp.Perpy_16.0.jar | roborumble | robot | PASS | 6123a16a81268bc9 | - | - | +| roborumble/jp.SineWall_1.0.jar | roborumble | robot | PASS | f525491d80c17dbd | - | - | +| roborumble/jrm.Test0_1.0.jar | roborumble | robot | score-review | 87280748930f85ca | - | - | +| roborumble/js.PinBall_1.6.jar | roborumble | robot | DISCREPANCY (outcome) | e13f3ced41c0f759 | - | - | +| roborumble/jsal.Jsalbot_1.0.jar | roborumble | robot | PASS | f729ebca3114899c | - | - | +| roborumble/jt.SpearmintCT_Alpha.jar | roborumble | robot | score-review | e663bf152188ba08 | - | - | +| roborumble/justin.DemonicRage_3.20.jar | roborumble | robot | DISCREPANCY (outcome) | 299c1957c0af6855 | - | - | +| roborumble/jw.Booring_1.11.jar | roborumble | robot | DISCREPANCY (outcome) | 1c0d5e5c5bd1b1aa | wrapper-json-encoding | wrapper | +| roborumble/jwst.DAD.DarkAndDarker_1.1.jar | roborumble | robot | PASS | 75967befc13ff72a | - | - | +| roborumble/kanishk.Fr0z3n_1.1.jar | roborumble | robot | PASS | 529babf01a0b4930 | - | - | +| roborumble/kano.gamma.KanoGamma_1.8.jar | roborumble | robot | PASS | 78295d7324f7da2d | - | - | +| roborumble/kawam.kmBot9_1.0.jar | roborumble | robot | PASS | acc0a8de12e6e0eb | - | - | +| roborumble/kawigi.f.FhqwhgadsMicro_1.0.jar | roborumble | robot | PASS | 939360d33239dc93 | - | - | +| roborumble/kawigi.micro.Shiz_1.1.jar | roborumble | robot | score-review | e2df7a9d6c23797e | - | - | +| roborumble/kawigi.mini.Coriantumr_1.1.jar | roborumble | robot | DISCREPANCY (outcome) | 28a7118ca364289e | - | - | +| roborumble/kawigi.mini.Fhqwhgads_1.1.jar | roborumble | robot | DISCREPANCY (outcome) | d4bf466a526e95db | - | - | +| roborumble/kawigi.nano.FunkyChicken_1.1.jar | roborumble | robot | PASS | 291eab4972832579 | - | - | +| roborumble/kawigi.nano.ThnikkaBot_0.9.jar | roborumble | robot | PASS | 038ecd73c09d8b0d | - | - | +| roborumble/kawigi.robot.Girl_1.2.jar | roborumble | robot | PASS | 7395d4249b4a692e | - | - | +| roborumble/kawigi.sbf.Barracuda_1.0.jar | roborumble | robot | PASS | d85142bfa8039f0d | - | - | +| roborumble/kawigi.sbf.FloodHT_0.9.2.jar | roborumble | robot | PASS | dadcf7bf4e0ecb8c | - | - | +| roborumble/kawigi.sbf.FloodMicro_1.5.jar | roborumble | robot | score-review | c9c40370dcf10011 | - | - | +| roborumble/kawigi.sbf.FloodMini_1.4.jar | roborumble | robot | PASS | 30197c435377ba69 | - | - | +| roborumble/kawigi.sbf.FloodNano_1.2.jar | roborumble | robot | score-review | 117a6d40be35854c | - | - | +| roborumble/kawigi.sbf.FloodSonnet_0.9.jar | roborumble | robot | DISCREPANCY (outcome) | 01421e46ea8b0558 | - | - | +| roborumble/kawigi.sbf.Teancum_1.3.jar | roborumble | robot | PASS | 48f06e2fa8400492 | - | - | +| roborumble/kawigi.spare.SpareParts_0.7.6nosnd.jar | roborumble | robot | PASS | e6f5801c8dbb526a | - | - | +| roborumble/kc.mega.BeepBoop_1.21.jar | roborumble | robot | DISCREPANCY (outcome) | 17cd4cf14dcc2da7 | - | - | +| roborumble/kc.micro.Needle_0.101.jar | roborumble | robot | PASS | 08a9125a7c4f78c8 | - | - | +| roborumble/kc.micro.Thorn_1.252.jar | roborumble | robot | PASS | 0c021dbb724f9eae | - | - | +| roborumble/kc.micro.WaveShark_0.4.jar | roborumble | robot | DISCREPANCY (outcome) | 754ffb2e50872664 | wrapper-json-encoding | wrapper | +| roborumble/kc.micro.rammer.MaxRisk_0.6.jar | roborumble | robot | score-review | 1d7f127258dd610c | - | - | +| roborumble/kc.mini.Vyper_0.311.jar | roborumble | robot | PASS | 2a4e8fb340184b39 | - | - | +| roborumble/kc.nano.Splinter_1.2.jar | roborumble | robot | PASS | b397c0bf2d8d3823 | - | - | +| roborumble/kc.serpent.Hydra_0.21.jar | roborumble | robot | PASS | 040ddc882beec0c8 | - | - | +| roborumble/kc.serpent.WaveSerpent_2.11.jar | roborumble | robot | PASS | 6aa4e89482f2aa31 | - | - | +| roborumble/kcn.percept.PerceptBot_2.3.jar | roborumble | robot | PASS | 02d2572f64e2a5b4 | - | - | +| roborumble/kcn.unnamed.Unnamed_1.21.jar | roborumble | robot | PASS | 37c594ac3485e1e2 | - | - | +| roborumble/kenran.Bakko_v1.0.1.jar | roborumble | robot | PASS | cac1aa587d78087c | - | - | +| roborumble/kenran.mega.Pantheist_1.1.jar | roborumble | robot | PASS | 484f8c7a96a8da34 | - | - | +| roborumble/kid.Gladiator_.7.2.jar | roborumble | robot | PASS | 8b525bd3f6b28dfa | - | - | +| roborumble/kid.Toa_.0.5.jar | roborumble | robot | score-review | fba256d882f5f68e | - | - | +| roborumble/kinsen.melee.Angsaichmophobia_1.8c.jar | roborumble | robot | PASS | 0ed7850cf0a262d8 | - | - | +| roborumble/kinsen.nano.Charp_1.0.jar | roborumble | robot | score-review | 16fb9f8a0566af3d | - | - | +| roborumble/kinsen.nano.Hoplomachy_1.6.jar | roborumble | robot | PASS | 1bee697b81a6f927 | - | - | +| roborumble/kinsen.nano.Quarrelet_1.0.jar | roborumble | robot | score-review | 392cc7b5ec68cfab | - | - | +| roborumble/kinsen.nano.Senticous_1.0.jar | roborumble | robot | PASS | 2a603412d14a06c4 | - | - | +| roborumble/kjc.Karaykan_1.0.jar | roborumble | robot | PASS | 9fff8d83189d2ec9 | - | - | +| roborumble/kjc.MailManX_2.0.jar | roborumble | robot | PASS | a82056c6ad2ad5d3 | - | - | +| roborumble/kjc.etc.Dharok_1.0.jar | roborumble | robot | PASS | 6e18ec5d5036e689 | - | - | +| roborumble/klein.GottesKrieger_1.1.jar | roborumble | robot | DISCREPANCY (outcome) | ca30b7c68b5b10fc | - | - | +| roborumble/kms.Golden_0.10.jar | roborumble | robot | score-review | b5d6900c92396f8b | - | - | +| roborumble/kms.Royal_0.15M.jar | roborumble | robot | PASS | eab60f1e9e2e0f3e | - | - | +| roborumble/knackibot.KnackOnOne_0.8.1.jar | roborumble | robot | PASS | 624c9c4b63456f1e | - | - | +| roborumble/kneels.ToNoone_0.2.jar | roborumble | robot | score-review | ae62db4724a7b736 | - | - | +| roborumble/kneels.nano.Derp_0.2.jar | roborumble | robot | score-review | cd4748fb78080dd6 | - | - | +| roborumble/krillr.mega.Psyche_0.0.3.jar | roborumble | robot | PASS | 3809aeaf0c65634c | - | - | +| roborumble/krillr.mini.JointStrike_2.0.0.jar | roborumble | robot | PASS | cd44968f3f411b9a | - | - | +| roborumble/kronenthaler.Basilisk_1.0.jar | roborumble | robot | DISCREPANCY (outcome) | 499659efa710a968 | wrapper-json-encoding | wrapper | +| roborumble/krzysiek.robbo2.Robbo_1.0.0.jar | roborumble | robot | PASS | f3397e3639521b5d | - | - | +| roborumble/kvk.HebusLeTroll_0.41.jar | roborumble | robot | PASS | a603f37930217598 | - | - | +| roborumble/labg.Cataclysm_2.05.jar | roborumble | robot | PASS | a9a0290c0e4c2314 | - | - | +| roborumble/lancel.Lynx_1.09.jar | roborumble | robot | PASS | 14c27a857675b4a8 | - | - | +| roborumble/lazarecki.mega.PinkerStinker_0.7.jar | roborumble | robot | PASS | 0e61361043708c08 | - | - | +| roborumble/leb.ShootAnArrow_0.1.jar | roborumble | robot | PASS | 0698c06f0e3f3ad6 | - | - | +| roborumble/lechu.Ala_0.0.4.jar | roborumble | robot | PASS | 59668a0f570ebada | - | - | +| roborumble/lechu.Lechu_1.1.jar | roborumble | robot | score-review | f47bc92c4d2ff2ae | - | - | +| roborumble/lessonz.robocode.Oz_0.5.0.jar | roborumble | robot | score-review | 3f66cee1b6bf3c7a | - | - | +| roborumble/lion.Kresnanano_1.0.jar | roborumble | robot | PASS | 48ed3b0e1c077d70 | - | - | +| roborumble/lk.nano.Avesnar_1.1.jar | roborumble | robot | score-review | 43dd6d385a5afa38 | - | - | +| roborumble/lmk.ACPFinal_0.2.jar | roborumble | robot | PASS | c387423c5cc4d80c | - | - | +| roborumble/logiblocs.Fire_1.0.jar | roborumble | robot | score-review | 4a263e819ee273fa | - | - | +| roborumble/logiblocs.SittingDroid_1.0.jar | roborumble | robot | DISCREPANCY (no score) | aad8e7c68a03e5dd | - | - | +| roborumble/lorneswork.Predator_1.0.jar | roborumble | robot | score-review | 93c5ace4d4087b33 | - | - | +| roborumble/lrem.Spectre_0.4.4.jar | roborumble | robot | PASS | 1d0e2d5ce38f97d9 | - | - | +| roborumble/lrem.magic.TormentedAngel_Antiquitie.jar | roborumble | robot | DISCREPANCY (outcome) | 1a3635553148abba | - | - | +| roborumble/lrem.micro.FalseProphet_Alpha.jar | roborumble | robot | PASS | 4b8e46bd1fa2a17e | - | - | +| roborumble/lrem.micro.MoggFanatic_0.2.jar | roborumble | robot | PASS | b7960b67823865c0 | - | - | +| roborumble/lrem.quickhack.QuickHack_1.0.jar | roborumble | robot | score-review | 28eb9e453aea91dd | - | - | +| roborumble/lucasslf.Dodger_1.0.jar | roborumble | robot | PASS | 7239cc6c0c46a0c8 | - | - | +| roborumble/lucasslf.HariSeldon_0.2.1.jar | roborumble | robot | DISCREPANCY (errors) | 28509d8468b5a013 | - | - | +| roborumble/lucasslf.Wiggins_0.6.jar | roborumble | robot | PASS | b50943d38ca71c98 | - | - | +| roborumble/lunchie.Lunchbox_0.93.jar | roborumble | robot | PASS | b31d8ac9eebc5fa9 | - | - | +| roborumble/lundal.Mark8_2012.09.15.jar | roborumble | robot | PASS | d458f8fa15325d61 | - | - | +| roborumble/lw.LuthersTest_0.1.jar | roborumble | robot | score-review | 11df5e06936f47fb | - | - | +| roborumble/lxx.ConceptA_0.8.jar | roborumble | robot | PASS | b533f0655584641d | - | - | +| roborumble/lxx.Emerald_0.6.5.jar | roborumble | robot | PASS | e1f2d59c5739168c | - | - | +| roborumble/lxx.Tomcat_3.68.jar | roborumble | robot | DISCREPANCY (errors) | e788aec118e82732 | - | - | +| roborumble/m3thos.Eva00_1.1.jar | roborumble | robot | PASS | dd5208c15051255e | - | - | +| roborumble/m3thos.Eva02_0.7.1.jar | roborumble | robot | DISCREPANCY (outcome) | fac5aed9195e2513 | wrapper-json-encoding | wrapper | +| roborumble/m3thos.mini.Eva01_0.5.5.jar | roborumble | robot | DISCREPANCY (outcome) | 47eb30ecf7fb1625 | wrapper-json-encoding | wrapper | +| roborumble/ma.is.fon.rs.RobotA_0.01.jar | roborumble | robot | score-review | a074520b2159b864 | - | - | +| roborumble/madmath.Cow_0.1.1.jar | roborumble | robot | score-review | 25cbd1ecf5367e95 | - | - | +| roborumble/mae.Mae1_1.1.jar | roborumble | robot | PASS | a5d90777e3acda8b | - | - | +| roborumble/mahrgell.mahrram_1.3.jar | roborumble | robot | score-review | 8a064582ce83895d | - | - | +| roborumble/marcinek.TopGun_1.3.jar | roborumble | robot | PASS | 1753ac81f37305a4 | - | - | +| roborumble/maribo.FollowFire_1.11.jar | roborumble | robot | score-review | 8c3f1a7c4da1872b | - | - | +| roborumble/maribo.IotaCT_1.0.jar | roborumble | robot | PASS | 99e8e67f560ef782 | - | - | +| roborumble/maribo.Omicron_1.0.jar | roborumble | robot | score-review | 531052ecdf1582a2 | - | - | +| roborumble/maribo.melee.BMV_0.1.jar | roborumble | robot | PASS | cd6390b2871f4e30 | - | - | +| roborumble/marksteam.Phoenix_1.0.jar | roborumble | robot | score-review | a07937e0978e74f3 | - | - | +| roborumble/matt.BlueMind_0.8.00.jar | roborumble | robot | PASS | 6a9e51857545b3d5 | - | - | +| roborumble/matt.UnderDark3_2.4.34.jar | roborumble | robot | score-review | c992e509cf71f004 | - | - | +| roborumble/matt.UnderDark4_0.4.00.jar | roborumble | robot | PASS | 8ea191b9dc12b10f | - | - | +| roborumble/matt.advanced.Katana_1.0.jar | roborumble | robot | PASS | 86798553d9132d2c | - | - | +| roborumble/maye.SlashBot_1.0.jar | roborumble | robot | PASS | d823d1afaaf2dcff | - | - | +| roborumble/mb.Beast_0.4.1.jar | roborumble | robot | PASS | 2d62fbf2e5074786 | - | - | +| roborumble/mb.Monte_0.1.0.jar | roborumble | robot | score-review | f52fa9153bebc76b | - | - | +| roborumble/mbh.Mbh_0.1.jar | roborumble | robot | PASS | f93e22ed603d13d0 | - | - | +| roborumble/mbro.BelajarBot_0.0.3.jar | roborumble | robot | PASS | 533868a7667753bd | - | - | +| roborumble/mbro.Detektor3_0.1.1.jar | roborumble | robot | PASS | ee61ca6f09d190f8 | - | - | +| roborumble/mc.Messapia_0.1.8.jar | roborumble | robot | score-review | d02c8b3b9aa53fe9 | - | - | +| roborumble/mc2.enemy.Original_0.9.jar | roborumble | robot | DISCREPANCY (outcome) | d61d43fd7ce16b88 | - | - | +| roborumble/mcb.Audace_1.3.jar | roborumble | robot | PASS | 279a31189d233c25 | - | - | +| roborumble/md.November_1.0.jar | roborumble | robot | PASS | 7c7d30be72480d9b | - | - | +| roborumble/md.Pasta_1.1.jar | roborumble | robot | PASS | 7b288b050cf6c12e | - | - | +| roborumble/md.VelociRaptor_1.3.jar | roborumble | robot | PASS | 57957c6dff810321 | - | - | +| roborumble/mdouet.BotKicker_2.0.jar | roborumble | robot | score-review | 40c16d77c8c88342 | - | - | +| roborumble/metal.small.MCool_1.21.jar | roborumble | robot | score-review | 2f3bc23f806cf0b6 | - | - | +| roborumble/metal.small.dna2.MCoolDNA_1.5.jar | roborumble | robot | DISCREPANCY (outcome) | 0f8532e1d0c50b95 | - | - | +| roborumble/microtestbotpack.MicroTestBot_1.0.jar | roborumble | robot | PASS | ce815daa6d066802 | - | - | +| roborumble/mjhjd.MattHussey1_1.1.jar | roborumble | robot | PASS | 475b611d09ac7594 | - | - | +| roborumble/mk.Alpha_0.2.1.jar | roborumble | robot | PASS | 71b934ed45a01855 | - | - | +| roborumble/mladjo.AIR_0.7.jar | roborumble | robot | PASS | 6861dd6a51c0545e | - | - | +| roborumble/mladjo.GnuKlub_0.1.jar | roborumble | robot | score-review | 23029b18ae3acd53 | - | - | +| roborumble/mladjo.Grrrrr_0.9.jar | roborumble | robot | score-review | 0323d04c91b510a4 | - | - | +| roborumble/mladjo.Startko_1.0.jar | roborumble | robot | PASS | 6b642e781008ae25 | - | - | +| roborumble/mladjo.iRobot_0.3.jar | roborumble | robot | score-review | 38dccf41ca9f4c06 | - | - | +| roborumble/mld.DustBunny_3.8.jar | roborumble | robot | PASS | 0f2a548789a3aab5 | - | - | +| roborumble/mld.Infinity_2.2.jar | roborumble | robot | score-review | e5b845799f252102 | - | - | +| roborumble/mld.LittleBlackBook_1.69e.jar | roborumble | robot | score-review | 2974701ea33707c7 | - | - | +| roborumble/mld.Moebius_2.9.3.jar | roborumble | robot | PASS | a8e588a36ad8a74b | - | - | +| roborumble/mld.Wisdom_1.0.jar | roborumble | robot | score-review | 47a73446157b9ff6 | - | - | +| roborumble/mld.jdc.nano.LittleBlackBook_1.0.jar | roborumble | robot | score-review | 2ec30f004042b332 | - | - | +| roborumble/mmb.Roskilde_0.5.jar | roborumble | robot | PASS | b23b95ce6ce7c9bf | - | - | +| roborumble/mme.NikeEnhanced_2.0.jar | roborumble | robot | score-review | 82d3439e0edbe4b4 | - | - | +| roborumble/mn.Combat_3.25.0.jar | roborumble | robot | DISCREPANCY (outcome) | ec1cce937bc29b09 | - | - | +| roborumble/mn.micro.perceptual.Mimic_1.0.0.jar | roborumble | robot | PASS | fa21dbaf21a76e1c | - | - | +| roborumble/mn.nano.SkippedTurns_1.1.0.jar | roborumble | robot | DISCREPANCY (outcome) | 6575d76867504d26 | - | - | +| roborumble/mn.nano.perceptual.Impact_1.3.0.jar | roborumble | robot | score-review | 3eaffb97ae957a2d | - | - | +| roborumble/mnt.AHEB_0.6a.jar | roborumble | robot | score-review | f17bdd7a3c104b3c | - | - | +| roborumble/mnt.SurferBot_0.2.5.jar | roborumble | robot | DISCREPANCY (outcome) | 47a1e08efb5ca58c | - | - | +| roborumble/morbid.MorbidPriest_1.0.jar | roborumble | robot | PASS | fc177c15b82ca872 | - | - | +| roborumble/mrm.MightyMoose_.2.jar | roborumble | robot | score-review | 87529bbdc6c32027 | - | - | +| roborumble/ms.Ares_0.19.jar | roborumble | robot | PASS | d8663236bffd6ec7 | - | - | +| roborumble/mue.Ascendant_1.2.27.jar | roborumble | robot | score-review | 5707fc085104a700 | - | - | +| roborumble/mue.Hyperion_0.8.jar | roborumble | robot | score-review | 46f8b66bc9b65f98 | - | - | +| roborumble/muf.CrazyKitten_0.9.jar | roborumble | robot | PASS | 24ebb83f1f83c891 | - | - | +| roborumble/mwj.A1176183_1.0.jar | roborumble | robot | score-review | 4e51a38a4bc47576 | - | - | +| roborumble/myl.micro.Avipes_1.00.jar | roborumble | robot | PASS | 032e896324fbf636 | - | - | +| roborumble/myl.micro.NekoNinja_1.30.jar | roborumble | robot | PASS | 9d230e4afbe3b6b4 | - | - | +| roborumble/myl.micro.Predator_1.50.jar | roborumble | robot | PASS | 0b94d58e2efb335f | - | - | +| roborumble/myl.micro.Troodon_1.10.jar | roborumble | robot | score-review | 7e319cec019dd57c | - | - | +| roborumble/myl.nano.Graviton_1.10.jar | roborumble | robot | score-review | 42f21d05faa46521 | - | - | +| roborumble/myl.nano.Kakuru_1.20.jar | roborumble | robot | PASS | e3aebeeba9256a4e | - | - | +| roborumble/myl.nano.KomoriNinja_1.1.jar | roborumble | robot | score-review | 6a75615f456acc97 | - | - | +| roborumble/mym.EdgeStalker_1.0.jar | roborumble | robot | DISCREPANCY (outcome) | 032038ab1ca0e462 | - | - | +| roborumble/mz.AdeptBSB_1.03.jar | roborumble | robot | PASS | 25ee22f1da166676 | - | - | +| roborumble/mz.Adept_2.65.jar | roborumble | robot | PASS | e3afcb98c1cb92f6 | - | - | +| roborumble/mz.Movement_1.8.jar | roborumble | robot | PASS | 4f0a6caf21085d4b | - | - | +| roborumble/mz.NanoDeath_2.56.jar | roborumble | robot | PASS | 03396c3d89c24579 | - | - | +| roborumble/mz.NanoGod_2.02.jar | roborumble | robot | PASS | a6855f8135b53cb0 | - | - | +| roborumble/nammyung.ModelT_0.23.jar | roborumble | robot | score-review | 4c8a112e7dc35bd7 | - | - | +| roborumble/nan.Ihivatar_Mk_1_1.0.jar | roborumble | robot | PASS | eb5fed405cab9789 | - | - | +| roborumble/nanoskank.NanoSkank_1.0.jar | roborumble | robot | PASS | 7e4a1ed5b2f0f40e | - | - | +| roborumble/nat.BlackHole_2.0gamma.jar | roborumble | robot | PASS | fdc28b7d03672f1d | - | - | +| roborumble/nat.Hikari_dev0001.jar | roborumble | robot | score-review | b8ce5e69e7e53f66 | - | - | +| roborumble/nat.Samekh_0.4.jar | roborumble | robot | PASS | bee07aa4157f7d5c | - | - | +| roborumble/nat.micro.Reepicheep_0.1a.jar | roborumble | robot | PASS | 6c7f7a58d66f1262 | - | - | +| roborumble/nat.nano.OcnirpPM_1.0.jar | roborumble | robot | PASS | 90c0cc386bc2e573 | - | - | +| roborumble/nat.nano.OcnirpSNG_1.0b.jar | roborumble | robot | PASS | 22d06f5de04df3f6 | - | - | +| roborumble/nat.nano.Ocnirp_1.73.jar | roborumble | robot | PASS | 20ec467791831d64 | - | - | +| roborumble/ncj.MoxieBot_1.0.jar | roborumble | robot | score-review | 1a1bd5dc5e9ba681 | - | - | +| roborumble/ndn.DyslexicMonkey_1.1.jar | roborumble | robot | PASS | aaffdedf8580c2bb | - | - | +| roborumble/ne.Chimera_1.2.jar | roborumble | robot | DISCREPANCY (outcome) | 4b2e6452c51ec17c | - | - | +| roborumble/nexus.Experimental_0.2.jar | roborumble | robot | PASS | c7a8e0fdd71f81b9 | - | - | +| roborumble/nexus.One_1.0.jar | roborumble | robot | PASS | be225d1536d87a30 | - | - | +| roborumble/nexus.Prototype_1.0.jar | roborumble | robot | score-review | 771ce88613c6fbc6 | - | - | +| roborumble/nexus.Two_0.2.jar | roborumble | robot | score-review | faf8e5dab6252c46 | - | - | +| roborumble/ngf.nano.Sparky_0.1.5.jar | roborumble | robot | score-review | b634538fb008be6f | - | - | +| roborumble/nic.Nicator_2.4.jar | roborumble | robot | DISCREPANCY (outcome) | 67338d8403618fc6 | - | - | +| roborumble/nic.SnippetBot_1.0.jar | roborumble | robot | score-review | 0c261ee7291c16e5 | - | - | +| roborumble/nkn.mini.Jskr0_0.1.jar | roborumble | robot | score-review | c273fc1b4d424de2 | - | - | +| roborumble/non.mega.NaN_0.1.jar | roborumble | robot | PASS | 8a21454d7a135902 | - | - | +| roborumble/non.mega.NoName_0.0.jar | roborumble | robot | PASS | 41bc7d5ccd53bdbf | - | - | +| roborumble/nosteel.Welby_0.0.3.jar | roborumble | robot | PASS | ca4d97b1dc09be6c | - | - | +| roborumble/nova.Snow_1.0.jar | roborumble | robot | PASS | 6e203ee5f5f8269e | - | - | +| roborumble/ntc.Cannon_1.12test.jar | roborumble | robot | PASS | 36e5089f4b6cb63d | - | - | +| roborumble/ntc.Evader_1.2.jar | roborumble | robot | score-review | 3f731c8a8747c5cf | - | - | +| roborumble/ntc.Knowledge_1.1.jar | roborumble | robot | score-review | 9452daca84f0292a | - | - | +| roborumble/ntc.Lasers.Lasers_0.9.jar | roborumble | robot | PASS | 36926b65fbedc235 | - | - | +| roborumble/ntc.Plains_0.9.jar | roborumble | robot | PASS | 77ac0912a1c577e5 | - | - | +| roborumble/ntc.Swim_0.9.jar | roborumble | robot | PASS | 384d2e24f7af5759 | - | - | +| roborumble/ntw.Sighup_1.5.jar | roborumble | robot | DISCREPANCY (no score) | 06f0609f44683821 | - | - | +| roborumble/ntw.Sigsys_1.6.jar | roborumble | robot | PASS | d3899da4a30cb913 | - | - | +| roborumble/nz.A7Ibwenape_A7Ibwen1.0.jar | roborumble | robot | PASS | b10b78ad67f42a75 | - | - | +| roborumble/nz.jdc.micro.HedgehogGF_1.5.jar | roborumble | robot | score-review | 9c026df336f09e6d | - | - | +| roborumble/nz.jdc.micro.HedgehogP_1.2.jar | roborumble | robot | PASS | 8b7ec46b9d6d77ca | - | - | +| roborumble/nz.jdc.nano.AralR_1.1.jar | roborumble | robot | PASS | 2139d0683144dd5c | - | - | +| roborumble/nz.jdc.nano.AralT_1.1.jar | roborumble | robot | PASS | 831f93f3a5a2dc24 | - | - | +| roborumble/nz.jdc.nano.NeophytePRAL_1.4.jar | roborumble | robot | PASS | 3b4123477dade9eb | - | - | +| roborumble/nz.jdc.nano.NeophytePattern_1.1.jar | roborumble | robot | PASS | ab528f974dd26d98 | - | - | +| roborumble/nz.jdc.nano.NeophyteSRAL_1.3.jar | roborumble | robot | score-review | 4b8a0820ce25f76a | - | - | +| roborumble/nz.jdc.nano.PatternAdept_1.0.jar | roborumble | robot | PASS | 825e66153ef0ff1e | - | - | +| roborumble/nz.jdc.nano.PralDeGuerre_1.2.jar | roborumble | robot | PASS | 88186390fc6a4a9e | - | - | +| roborumble/nzeemin.Izh_0.5.jar | roborumble | robot | PASS | 5fff4d895921e0de | - | - | +| roborumble/oa.weak.BotherBot_0.1.jar | roborumble | robot | score-review | c5b39a356c8932c7 | - | - | +| roborumble/oa.weak.FlyMk1_0.1.jar | roborumble | robot | score-review | 533db4d94bcdc41d | - | - | +| roborumble/ola.Puffin_1.0.jar | roborumble | robot | score-review | 375de569515bb7cd | - | - | +| roborumble/omens.CannonfodderMicro_1.4.jar | roborumble | robot | PASS | 4affc00289d4e403 | - | - | +| roborumble/omens.CannonfodderNano_1.4.jar | roborumble | robot | PASS | 4c9e2969bb78ff22 | - | - | +| roborumble/oog.PricklyPear_1.0.6.jar | roborumble | robot | PASS | ecd3a11a4717e1d3 | - | - | +| roborumble/oog.melee.Capulet_1.2.jar | roborumble | robot | score-review | ee56d3e5562790dc | - | - | +| roborumble/oog.melee.Mercutio_1.0.jar | roborumble | robot | score-review | 1b8ff814bf573b6a | - | - | +| roborumble/oog.micro.Claudius_1.11.jar | roborumble | robot | PASS | 6166b36569a952be | - | - | +| roborumble/oog.micro.MagicD3_0.41.jar | roborumble | robot | PASS | 62a49ca736d28393 | - | - | +| roborumble/oog.micro.Maui_1.2.jar | roborumble | robot | PASS | 6f68728f1ef2bcf9 | - | - | +| roborumble/oog.micro.SavantMicro_1.1.jar | roborumble | robot | PASS | f8d72a8e50bff547 | - | - | +| roborumble/oog.mini.AlphaDragon_0.1.jar | roborumble | robot | PASS | 56f8fd8ae159ed77 | - | - | +| roborumble/oog.nano.Caligula_1.15.jar | roborumble | robot | score-review | 7b3cf58b7581110e | - | - | +| roborumble/oog.nano.Fuatisha_1.1.jar | roborumble | robot | PASS | 2e21b63faa23e8b9 | - | - | +| roborumble/oog.nano.MagicD2_2.4.jar | roborumble | robot | PASS | 450fd1b982143f77 | - | - | +| roborumble/oog.nano.SavantVS_1.1.jar | roborumble | robot | PASS | f8fe4ba967e59210 | - | - | +| roborumble/oog.nano.SavantWS_0.1.jar | roborumble | robot | PASS | 4cc5ab9eac671a38 | - | - | +| roborumble/origin.SleepSiphon_1.7b.jar | roborumble | robot | DISCREPANCY (outcome) | 8805f04d9690920a | - | - | +| roborumble/ouroboros.Dragon_0.0.3.jar | roborumble | robot | PASS | 860711bdb5c86ce5 | - | - | +| roborumble/pa.Improved_1.1.jar | roborumble | robot | PASS | 9f39058ff327c11d | - | - | +| roborumble/pa3k.Manta_1.20.jar | roborumble | robot | PASS | 19969a6d8f9d6553 | - | - | +| roborumble/pa3k.Quark_1.02.jar | roborumble | robot | PASS | 006a0b04fbf1960f | - | - | +| roborumble/pa3k.Viper_5.03.jar | roborumble | robot | PASS | e3e3794e764be778 | - | - | +| roborumble/pac.ABC_2.1.jar | roborumble | robot | PASS | dd2bdd747ab9f593 | wrapper-json-encoding | wrapper | +| roborumble/pak.Dargon_1.0b.jar | roborumble | robot | PASS | 44af6a60fc0162fe | - | - | +| roborumble/pak.JakeTheTestingRobot_.1b.jar | roborumble | robot | PASS | 5b008fd5bb01cda0 | - | - | +| roborumble/paket.MojRobot_1.0.jar | roborumble | robot | score-review | b8e28e1790c20bc0 | - | - | +| roborumble/panzer.Panzer_0.2.jar | roborumble | robot | score-review | 7e05b530409e3827 | - | - | +| roborumble/paolord.TheHulk_1.0.jar | roborumble | robot | score-review | b69ddb01a016a30b | - | - | +| roborumble/patson.PatsonTestBot_1.0.jar | roborumble | robot | DISCREPANCY (errors) | bcae170fb126b98c | - | - | +| roborumble/paulk.PaulV3_1.7.jar | roborumble | robot | score-review | 95adbd22ba62453c | - | - | +| roborumble/pb.Oscillator_1.0.jar | roborumble | robot | PASS | 7df2b921a4b28b34 | - | - | +| roborumble/pbg.NinjaX_1.2.jar | roborumble | robot | score-review | b97a060c77e8cbd9 | - | - | +| roborumble/pe.SandboxDT_3.02.jar | roborumble | robot | DISCREPANCY (outcome) | e8764db70e70af0a | - | - | +| roborumble/pe.SandboxLump_1.52.jar | roborumble | robot | PASS | ff93d22a269cfb72 | - | - | +| roborumble/pe.mini.SandboxMini_1.2.jar | roborumble | robot | PASS | 1930cd48c43fab7b | - | - | +| roborumble/pe.minimelee.SandboxMiniMelee_1.1.jar | roborumble | robot | PASS | 7b272700364a7c9c | - | - | +| roborumble/pedersen.Hubris_2.4.jar | roborumble | robot | DISCREPANCY (outcome) | c3be61affe6e9030 | - | - | +| roborumble/pedersen.Ugluk_1.0.jar | roborumble | robot | DISCREPANCY (outcome) | 7fc005ef2c17d2da | - | - | +| roborumble/pez.clean.Swiffer_0.2.9.jar | roborumble | robot | PASS | e28da1958311b5a0 | - | - | +| roborumble/pez.frankie.Frankie_0.9.6.1.jar | roborumble | robot | PASS | 301d808b9534b3ce | - | - | +| roborumble/pez.gloom.GloomyDark_0.9.2.jar | roborumble | robot | PASS | 47368d0adc4dbcb9 | - | - | +| roborumble/pez.mako.Mako_1.5.jar | roborumble | robot | PASS | 380eb9cba52e3299 | - | - | +| roborumble/pez.micro.Aristocles_0.3.7.jar | roborumble | robot | score-review | 93c7e32da7211492 | - | - | +| roborumble/pez.mini.ChironexFleckeri_0.5.jar | roborumble | robot | score-review | d54f346f46c249a3 | - | - | +| roborumble/pez.mini.Gouldingi_1.5.jar | roborumble | robot | PASS | 4470ef719a8aef66 | - | - | +| roborumble/pez.mini.Pugilist_2.5.1f.jar | roborumble | robot | PASS | 01a8e04a2e883aa8 | - | - | +| roborumble/pez.mini.Tityus_0.9.1.jar | roborumble | robot | PASS | af8172dd9b69c545 | - | - | +| roborumble/pez.mini.VertiLeach_0.4.0.jar | roborumble | robot | PASS | f85c137cb4b7b461 | - | - | +| roborumble/pez.nano.Icarus_0.3.jar | roborumble | robot | PASS | 7f67cb882e6fc113 | - | - | +| roborumble/pez.nano.LittleEvilBrother_0.1.jar | roborumble | robot | PASS | 8338b53b2f11a77f | - | - | +| roborumble/pez.rumble.Ali_0.4.9.jar | roborumble | robot | PASS | 0d900165e66c08a3 | - | - | +| roborumble/pez.rumble.CassiusClay_2rho.02no.jar | roborumble | robot | PASS | 12b89599f0a91d68 | - | - | +| roborumble/pfvicm.Sobieski_7.2.3b.jar | roborumble | robot | PASS | 3dd4c99501265fe7 | - | - | +| roborumble/ph.Thinker_0.2.5.jar | roborumble | robot | PASS | f8d1ec298065163c | - | - | +| roborumble/ph.micro.Pikeman_0.4.5.jar | roborumble | robot | PASS | c19ea24d7fb285b5 | - | - | +| roborumble/ph.mini.Archer_0.6.6.jar | roborumble | robot | PASS | b67bbd0aa9215a21 | - | - | +| roborumble/ph.musketeer.Musketeer_0.6.jar | roborumble | robot | PASS | 006748d27a56ed1e | - | - | +| roborumble/pi.Dark_10.jar | roborumble | robot | DISCREPANCY (outcome) | c9a7deac846369c3 | - | - | +| roborumble/pkbots.BoyTDSurfer_1.0.jar | roborumble | robot | score-review | 239b4d3d4a600a82 | - | - | +| roborumble/pkdeken.Paladin_1.0.jar | roborumble | robot | PASS | df3fd2527b19c874 | - | - | +| roborumble/pl.Drum_0.1.jar | roborumble | robot | PASS | 3ab0fa6eae4876cc | - | - | +| roborumble/pl.Patton.GeneralPatton_1.54.jar | roborumble | robot | PASS | 50b34594d8537b8d | - | - | +| roborumble/pl.mskiba.Hilton_0.4.jar | roborumble | robot | score-review | 661c265540cacf47 | - | - | +| roborumble/pl.robocode.Pacyfista_1.0.jar | roborumble | robot | score-review | af26d7550c0ed446 | - | - | +| roborumble/pla.Memnoch_0.5.jar | roborumble | robot | PASS | 654408afadf40ae8 | - | - | +| roborumble/pmc.SniperBot_1.0.jar | roborumble | robot | PASS | cc881d77fad08633 | - | - | +| roborumble/populations.TrainStoopidbot_0.01.jar | roborumble | robot | PASS | ec721b1668bbc24a | - | - | +| roborumble/positive.Portia_1.26e.jar | roborumble | robot | PASS | fac98f2615208a4f | - | - | +| roborumble/povik.nano.Smilee_0.2.1.jar | roborumble | robot | PASS | 18b6dfe4fc2675c5 | - | - | +| roborumble/projectx.ProjectNano_2.0.jar | roborumble | robot | PASS | e08aa037caf32846 | - | - | +| roborumble/projectx.TestNano_1.0.jar | roborumble | robot | PASS | 79d837009a36dbf4 | - | - | +| roborumble/pulsar.Nanis_0.3.jar | roborumble | robot | score-review | e9e6347eb3a19302 | - | - | +| roborumble/pulsar.PulsarMax_0.8.9.jar | roborumble | robot | PASS | 53a325a70ceede0f | - | - | +| roborumble/pulsar.PulsarNano_0.2.4.jar | roborumble | robot | score-review | 53dbc59e2685a77b | - | - | +| roborumble/qohnil.blot.BlotBot_3.61.jar | roborumble | robot | PASS | 12dcc17301ebb46b | - | - | +| roborumble/quietus.Invader_0.1.jar | roborumble | robot | DISCREPANCY (no score) | 79b91ac9f73612f3 | - | - | +| roborumble/quietus.NarrowRadar_0.1.jar | roborumble | robot | PASS | 7e791e22a8207507 | - | - | +| roborumble/qwaker00.Ahchoo_1.6.jar | roborumble | robot | PASS | f170f4d0fa45f158 | - | - | +| roborumble/qwaker00.Gandhi_1.2.jar | roborumble | robot | PASS | edbc4e014cc3eec5 | - | - | +| roborumble/racso.Crono_1.0.jar | roborumble | robot | PASS | 41dd322115289fd2 | - | - | +| roborumble/racso.Frog_0.9.jar | roborumble | robot | PASS | 77bb74558ca8c2af | - | - | +| roborumble/radnor.DoctorBob_1.42.jar | roborumble | robot | PASS | 1770ddbe110b4cd6 | - | - | +| roborumble/radnor.RamRod_1.0.jar | roborumble | robot | score-review | 07aea9e5eed6cba3 | - | - | +| roborumble/rampancy.Durandal_2.2d.jar | roborumble | robot | PASS | fbcd0e141e6dec7b | - | - | +| roborumble/rampancy.micro.Epiphron_1.0.jar | roborumble | robot | PASS | cdedca81cc5993f8 | - | - | +| roborumble/rapture.Rapture_2.13.jar | roborumble | robot | PASS | dfdedb24c525a0ad | - | - | +| roborumble/ratosh.Nobo_0.21.jar | roborumble | robot | score-review | b6122ed051a7f694 | - | - | +| roborumble/ratosh.Wesco_1.4.jar | roborumble | robot | score-review | ab25aa8ecc284d91 | - | - | +| roborumble/ratosh.nano.Debo_1.36.jar | roborumble | robot | score-review | d37082504a361deb | - | - | +| roborumble/rc.RCBot_2.0.jar | roborumble | robot | DISCREPANCY (errors) | f49b68636e97d3a6 | - | - | +| roborumble/rc.yoda.Yoda_1.0.6c.fix.jar | roborumble | robot | PASS | b60c7c436f46bc9a | - | - | +| roborumble/rcb.Vanessa03_0.jar | roborumble | robot | PASS | fe61a29a3efcbaac | - | - | +| roborumble/rcp.Kuramatron_1.0.jar | roborumble | robot | score-review | df589c8a22ff8a7b | - | - | +| roborumble/rdm.Dueler_0.4x.jar | roborumble | robot | PASS | 2a13158c7bf55e1e | - | - | +| roborumble/rdm.Grasshopper_0.5e.jar | roborumble | robot | PASS | cefebaf39e896bdf | - | - | +| roborumble/rdm.WallRider_0.5c.jar | roborumble | robot | PASS | 47633f811952ad32 | - | - | +| roborumble/rdt.AgentSmith.AgentSmithRedux_0.02.jar | roborumble | robot | DISCREPANCY (outcome) | 4895e95ae2aa1c24 | - | - | +| roborumble/rdt.AgentSmith.AgentSmith_0.5.jar | roborumble | robot | PASS | f27f4d943b3f72bb | - | - | +| roborumble/rdt.Wraith.Wraith_0.3.jar | roborumble | robot | PASS | e28e3cfe5aead322 | - | - | +| roborumble/rdt199.Warlord_0.73.jar | roborumble | robot | PASS | 18f64c21237fa90a | - | - | +| roborumble/reaper.Reaper_1.1.jar | roborumble | robot | PASS | f4bba268b339f3f5 | - | - | +| roborumble/reeder.caden.Elmo_1.jar | roborumble | robot | score-review | 00c317704679bf87 | - | - | +| roborumble/reeder.caden.Grover_1.0.jar | roborumble | robot | score-review | a627c76b25dd0572 | - | - | +| roborumble/reeder.colin.WallGuy3_1.0.jar | roborumble | robot | PASS | f8e3999191dc1097 | - | - | +| roborumble/repositorio.NanoStep_1.0.jar | roborumble | robot | PASS | 059db986b461cff6 | - | - | +| roborumble/rfj.Sunburn_1.1.jar | roborumble | robot | PASS | f5755f9ce15aabaa | - | - | +| roborumble/rh.abs.Xwing_2.1.jar | roborumble | robot | PASS | eae963a5835b417d | - | - | +| roborumble/rijteam.SmartDodge_1.1.jar | roborumble | robot | PASS | e897b76080e4b88a | - | - | +| roborumble/rjw.RabidWombat_0.71.jar | roborumble | robot | PASS | 1f3ecef2f898b958 | - | - | +| roborumble/robar.haiku.Spike_1.0.jar | roborumble | robot | PASS | b83504ae06b3089a | - | - | +| roborumble/robar.micro.Gladius_1.15.jar | roborumble | robot | score-review | 918966dc8677fee6 | - | - | +| roborumble/robar.micro.Kirbyi_1.0.jar | roborumble | robot | PASS | df48bf50099070d4 | - | - | +| roborumble/robar.micro.Topaz_0.25.jar | roborumble | robot | PASS | bbc5fd68ad099a1b | - | - | +| roborumble/robar.nano.Assertive_0.3.jar | roborumble | robot | PASS | 833fc238672c534e | - | - | +| roborumble/robar.nano.BlackWidow_1.3.jar | roborumble | robot | PASS | 4673ba7f6c521b67 | - | - | +| roborumble/robar.nano.Breeze_0.3.jar | roborumble | robot | PASS | d5016b8473be5308 | - | - | +| roborumble/robar.nano.MosquitoPM_1.0.jar | roborumble | robot | PASS | 268286f55057dbf2 | - | - | +| roborumble/robar.nano.Mosquito_1.1.jar | roborumble | robot | PASS | 303ba6fe602124a5 | - | - | +| roborumble/robar.nano.Prestige_1.0.jar | roborumble | robot | PASS | 39d72dd2c9f45d0a | - | - | +| roborumble/robar.nano.Pugio_1.49.jar | roborumble | robot | PASS | 007517dec3b04255 | - | - | +| roborumble/robar.nano.Scytodes_0.3.jar | roborumble | robot | PASS | 959dd8c7c9371068 | - | - | +| roborumble/robar.nano.Vespa_0.95.jar | roborumble | robot | PASS | 11d4a6ff81a970d9 | - | - | +| roborumble/robo.PartsBot_1.1.jar | roborumble | robot | PASS | a2e1c539b305ad8f | - | - | +| roborumble/robots.Lucky_1.2.jar | roborumble | robot | PASS | 2992cd9722fe6ba8 | - | - | +| roborumble/romz.robot.Test_0.1.0.jar | roborumble | robot | PASS | e03a33b9230e79f9 | - | - | +| roborumble/romz.robot.circular.WildRabbit_0.9.6.jar | roborumble | robot | PASS | 320581acfab18570 | - | - | +| roborumble/romz.robot.guessfactor.TeasingFox_0.2.jar | roborumble | robot | PASS | f02031538056ba50 | - | - | +| roborumble/rsalesc.mega.Knight_0.6.28.jar | roborumble | robot | DISCREPANCY (outcome) | e0e5b9d788f4ec0e | - | - | +| roborumble/rsim.micro.uCatcher_0.1.jar | roborumble | robot | score-review | e47dc8233c05ce71 | - | - | +| roborumble/rsim.mini.BulletCatcher_0.4.jar | roborumble | robot | PASS | 782cca12c41b465a | - | - | +| roborumble/rsk1.RSK1_4.0.jar | roborumble | robot | PASS | 000d22607abdab9c | - | - | +| roborumble/ruc.nano.Zealot_0.2.jar | roborumble | robot | PASS | 59feda052eabd1ad | - | - | +| roborumble/ry.LightningBug_1.0.jar | roborumble | robot | PASS | 1c9f13b5ed4ef479 | - | - | +| roborumble/ry.VirtualGunExperiment_1.2.0.jar | roborumble | robot | score-review | f36ba837fe0038af | - | - | +| roborumble/ry.Worst_1.0.jar | roborumble | robot | score-review | 946be774c812e808 | - | - | +| roborumble/rz.Aleph_0.34.jar | roborumble | robot | DISCREPANCY (outcome) | 3b2c004742d9703c | - | - | +| roborumble/rz.Apollon_0.23.jar | roborumble | robot | PASS | 4e77ac25614feb65 | - | - | +| roborumble/rz.Artist_0.2.jar | roborumble | robot | PASS | 28a588776203af18 | - | - | +| roborumble/rz.GlowBlowAPM_1.0.jar | roborumble | robot | PASS | b24015f872b81536 | - | - | +| roborumble/rz.GlowBlowMelee_1.4.jar | roborumble | robot | PASS | b33aa13d56e2a759 | - | - | +| roborumble/rz.GlowBlow_2.31.jar | roborumble | robot | PASS | 59b518e2468133e4 | - | - | +| roborumble/rz.HawkOnFire_0.1.jar | roborumble | robot | PASS | aec194fd7547e7cc | - | - | +| roborumble/rz.SmallDevil_1.502.jar | roborumble | robot | score-review | c2e642ac1ff7d1a8 | - | - | +| roborumble/sL300.Mozart_life.jar | roborumble | robot | PASS | a39f6dbfb2b90619 | - | - | +| roborumble/sadoner.killer_0.2.jar | roborumble | robot | PASS | f271d8c933ecd8d3 | - | - | +| roborumble/sam.ChipmunkDuelist_1.0.jar | roborumble | robot | score-review | ddeb136fccccaf47 | - | - | +| roborumble/sam.Samspin_1.0.jar | roborumble | robot | PASS | 684a3443b50ac99f | - | - | +| roborumble/sample.Corners_1.0.jar | roborumble | robot | score-review | 2d5107dbd6d0ded4 | - | - | +| roborumble/sample.Crazy_1.0.jar | roborumble | robot | PASS | 4ae3b689554154fc | - | - | +| roborumble/sample.Fire_1.0.jar | roborumble | robot | PASS | b43af86d4766195b | - | - | +| roborumble/sample.MyFirstJuniorRobot_1.0.jar | roborumble | robot | score-review | 2a7678ff8a5e14a9 | - | - | +| roborumble/sample.MyFirstRobot_1.0.jar | roborumble | robot | PASS | c6e2c8081614135b | - | - | +| roborumble/sample.RamFire_1.0.jar | roborumble | robot | PASS | ec9da3f14d24ab34 | - | - | +| roborumble/sample.SittingDuck_1.0.jar | roborumble | robot | DISCREPANCY (no score) | 07fdadbcc4be79a6 | - | - | +| roborumble/sample.SpinBot_1.0.jar | roborumble | robot | PASS | 5e9544cde226d73b | - | - | +| roborumble/sample.Target_1.0.jar | roborumble | robot | PASS | 24dc7015b6b09ccd | - | - | +| roborumble/sample.TrackFire_1.0.jar | roborumble | robot | PASS | 24c9fa1ec5ca3bb0 | - | - | +| roborumble/sample.Tracker_1.0.jar | roborumble | robot | PASS | a2fdcbaf4c1d4b78 | - | - | +| roborumble/sample.VelociRobot_1.0.jar | roborumble | robot | score-review | 5d0fc0dbc14c49c6 | - | - | +| roborumble/sample.Walls_1.0.jar | roborumble | robot | score-review | bbdf1b95f6084538 | - | - | +| roborumble/sanyi.mikrobi.Roberto_1.0.jar | roborumble | robot | PASS | 7415abddd9e7a6cf | - | - | +| roborumble/satan.R0_0.2.jar | roborumble | robot | score-review | 61afc6337d7d111f | - | - | +| roborumble/satan.White_0.26.jar | roborumble | robot | PASS | 3c7d82cc0daa89f4 | - | - | +| roborumble/sch.Simone_0.3d.jar | roborumble | robot | PASS | b39798e5a56ca596 | - | - | +| roborumble/seed.Anastasia_1.0.jar | roborumble | robot | PASS | a24a754eeda697a6 | - | - | +| roborumble/seed.Weed_3.0.2.jar | roborumble | robot | PASS | e9567d82b1af707f | - | - | +| roborumble/serenity.moonlightBat_1.17.jar | roborumble | robot | DISCREPANCY (outcome) | 44eb7eaacb59beb0 | - | - | +| roborumble/serenity.nonSense_1.39.jar | roborumble | robot | PASS | e7b9e2fb0928a518 | - | - | +| roborumble/serenity.serenityFire_1.29.jar | roborumble | robot | PASS | 4d3b5c23395b4c05 | - | - | +| roborumble/sgp.JollyNinja_3.53.jar | roborumble | robot | score-review | fb3b063e3ea768d0 | - | - | +| roborumble/sgp.MadHatter_4.13.jar | roborumble | robot | PASS | 124413cdb1d864a5 | - | - | +| roborumble/sgp.ShiningBeetle_1.1.jar | roborumble | robot | PASS | a6e716db052d2df1 | - | - | +| roborumble/sgp.SleepingGoat_1.1.jar | roborumble | robot | PASS | 719e881d80dac4dd | - | - | +| roborumble/sgp.nano.FurryLeech_1.0.jar | roborumble | robot | PASS | 0beaaf5d752a8fc0 | - | - | +| roborumble/sheldor.melee.nano.TestMelee_0.1.jar | roborumble | robot | PASS | 7b3dfdb88d5308dc | - | - | +| roborumble/sheldor.micro.EpeeistMicro_2.1.0.jar | roborumble | robot | score-review | 89631887b05fc716 | - | - | +| roborumble/sheldor.micro.FoilistMicro_1.2.0.jar | roborumble | robot | PASS | 41c445c3ceb46c03 | - | - | +| roborumble/sheldor.nano.Epeeist_1.1.0.jar | roborumble | robot | PASS | 48a5fc29962fb5be | - | - | +| roborumble/sheldor.nano.Foilist_2.0.0.jar | roborumble | robot | PASS | a9291baebe7ee188 | - | - | +| roborumble/sheldor.nano.PointInLineRRAL_1.0.0.jar | roborumble | robot | PASS | cb7a7868e85b40de | - | - | +| roborumble/sheldor.nano.PointInLine_1.0.jar | roborumble | robot | score-review | 2c5b6a6a1a2c23b4 | - | - | +| roborumble/sheldor.nano.Retreat_1.0.jar | roborumble | robot | DISCREPANCY (no score) | 140da97590563c7c | - | - | +| roborumble/sheldor.nano.Sabreur_1.1.2.jar | roborumble | robot | PASS | b29f723fa1835966 | - | - | +| roborumble/sheldor.nano.Sabreuse_1.0.0.jar | roborumble | robot | PASS | 6dd278eb62af9c3c | - | - | +| roborumble/shinh.Entangled_0.3.jar | roborumble | robot | score-review | 9a69cae89c4de3ec | - | - | +| roborumble/shrub.Silver_v048.jar | roborumble | robot | PASS | cd4d057bb7d5e85c | - | - | +| roborumble/shrub.Vapour_v159.jar | roborumble | robot | PASS | f8d04f7031f24f7f | - | - | +| roborumble/shu.nitro.LENIN_.T34.jar | roborumble | robot | PASS | 8a9ad8559b04d0a4 | - | - | +| roborumble/sigterm.Sigterm_1.0.jar | roborumble | robot | PASS | 1a57f4c74b8e9b66 | - | - | +| roborumble/simonton.GFNano_D_3.1b.jar | roborumble | robot | PASS | 043d9b7c5fd14090 | - | - | +| roborumble/simonton.beta.LifelongObsession_0.5.1.jar | roborumble | robot | DISCREPANCY (outcome) | 3f3d946ea4e24b08 | - | - | +| roborumble/simonton.mega.SniperFrog_1.0.fix2.jar | roborumble | robot | PASS | 9e3cb37668b4d10c | - | - | +| roborumble/simonton.micro.GFMicro_1.0.jar | roborumble | robot | DISCREPANCY (outcome) | 869b933ce21be1eb | - | - | +| roborumble/simonton.micro.WeeklongObsession_3.4.1.jar | roborumble | robot | PASS | a8a467451a62a1c9 | - | - | +| roborumble/simonton.mini.WeeksOnEnd_1.10.4.jar | roborumble | robot | PASS | b9b55071acd0439d | - | - | +| roborumble/simonton.nano.WeekendObsession_S_1.7.jar | roborumble | robot | score-review | e102e3ed5887efb7 | - | - | +| roborumble/skm.PateranBotlock2_1.0.jar | roborumble | robot | score-review | 8d348df275a40416 | - | - | +| roborumble/skm.Ryubot_1.0.jar | roborumble | robot | score-review | 9760adb4f4d94d58 | - | - | +| roborumble/slugzilla.Basilisk_3.9.jar | roborumble | robot | PASS | ba84fc1c9a260097 | - | - | +| roborumble/slugzilla.Basilite_0.13.jar | roborumble | robot | PASS | a294ba800f43d4e8 | - | - | +| roborumble/slugzilla.ButtHead_2.0.jar | roborumble | robot | score-review | 068ed7ab5d4b7278 | - | - | +| roborumble/slugzilla.OrbitGF_1.0.jar | roborumble | robot | score-review | a55bf86c02ca0eec | - | - | +| roborumble/slugzilla.OrbitLinear_1.1.jar | roborumble | robot | score-review | b6deabce2414a73c | - | - | +| roborumble/slugzilla.OrbitPattern_1.1.jar | roborumble | robot | PASS | 45f4fad21f8c02af | - | - | +| roborumble/slugzilla.OscillateGF_1.0.jar | roborumble | robot | score-review | 686937fbcc8bc3e6 | - | - | +| roborumble/slugzilla.OscillateLinear_1.0.jar | roborumble | robot | score-review | 41fdb3b690b35884 | - | - | +| roborumble/slugzilla.OscillatePattern_1.0.jar | roborumble | robot | score-review | 7d03231691754ccd | - | - | +| roborumble/slugzilla.Parallax_0.1.jar | roborumble | robot | PASS | 07f591be42f2a0fe | - | - | +| roborumble/slugzilla.RandomGF_1.0.jar | roborumble | robot | PASS | e1f3bffc68b3ca8a | - | - | +| roborumble/slugzilla.RandomLinear_1.0.jar | roborumble | robot | PASS | 9fbc9aebedbd8263 | - | - | +| roborumble/slugzilla.RandomPattern_1.0.jar | roborumble | robot | PASS | af8f3260a79f224a | - | - | +| roborumble/slugzilla.SNGGF_1.0.jar | roborumble | robot | score-review | 59e11cc69421f1f9 | - | - | +| roborumble/slugzilla.SNGLinear_1.0.jar | roborumble | robot | score-review | 89f43f1876681f37 | - | - | +| roborumble/slugzilla.SNGPattern_1.0.jar | roborumble | robot | score-review | 141e9cd7503cd2af | - | - | +| roborumble/slugzilla.SquirmyToad_3.9.jar | roborumble | robot | PASS | ec0739c158029a04 | - | - | +| roborumble/sm.Devil_7.3.jar | roborumble | robot | PASS | 2c963819bc71ae95 | - | - | +| roborumble/sng.arco.Arco_0.0.jar | roborumble | robot | PASS | 0dfcbad07786f103 | - | - | +| roborumble/snowman.Snowman_1.0.jar | roborumble | robot | PASS | 6b808572dc24cb3d | - | - | +| roborumble/sos.SOS_1.0.jar | roborumble | robot | DISCREPANCY (errors) | 8dcd655cb77ed8d2 | - | - | +| roborumble/sp.AstherNano_1.0.jar | roborumble | robot | PASS | b5ff43ddfe84ad64 | - | - | +| roborumble/spartancompany.Spartan2_1.0.jar | roborumble | robot | PASS | 4aaaad05305dbba1 | - | - | +| roborumble/spinnercat.CopyKat_1.2.3.jar | roborumble | robot | score-review | 9e93aa13f6c201c0 | - | - | +| roborumble/spinnercat.Kitten_1.6.jar | roborumble | robot | PASS | 18491cc2f34ef597 | - | - | +| roborumble/spinnercat.Limit_.01.jar | roborumble | robot | PASS | 01c48428522f5744 | - | - | +| roborumble/spinnercat.Robovirus_2.718.jar | roborumble | robot | DISCREPANCY (errors) | 5e13bc795dc2d038 | - | - | +| roborumble/spinnercat.haiku.Refrigerator_1.1.jar | roborumble | robot | PASS | 61940867361d7826 | - | - | +| roborumble/spinnercat.mega.Tardis_1.2.jar | roborumble | robot | PASS | 027e7e543c67499c | - | - | +| roborumble/sqTank.waveSurfing.LionWWSVMvoid_0.01.jar | roborumble | robot | score-review | 5ee51a0234856dfe | - | - | +| roborumble/squidM.SquidmanNano_1.0.jar | roborumble | robot | score-review | ac88679d96137e1a | - | - | +| roborumble/squidM.SurfinUSA_1.0.jar | roborumble | robot | score-review | ad4ac858d82c9144 | - | - | +| roborumble/starpkg.StarViewerZ_1.26.jar | roborumble | robot | PASS | 9ab989c332dabcb9 | - | - | +| roborumble/staticline.whiskey.Whiskey_0.6.jar | roborumble | robot | PASS | d7a4afc809726a3f | - | - | +| roborumble/stefw.Tigger_0.0.23.jar | roborumble | robot | PASS | 75cc32356ead100e | - | - | +| roborumble/stelo.Chord_1.0.jar | roborumble | robot | score-review | 58f620cc6ccc9488 | - | - | +| roborumble/stelo.FretNano_1.1.jar | roborumble | robot | PASS | e0c012a8f8adc65b | - | - | +| roborumble/stelo.Liblix_0.3.1.jar | roborumble | robot | PASS | 044f196d7b50d879 | - | - | +| roborumble/stelo.Lifestealer_1.0.jar | roborumble | robot | PASS | cd422646c602bded | - | - | +| roborumble/stelo.MatchupAGF_1.1.jar | roborumble | robot | PASS | 6d9918588d08695a | - | - | +| roborumble/stelo.MatchupMicro_1.2.jar | roborumble | robot | PASS | 44b4234cdd229266 | - | - | +| roborumble/stelo.MatchupMini_1.1.jar | roborumble | robot | PASS | 02bb9c6fd9075b86 | - | - | +| roborumble/stelo.MatchupWS_1.2c.jar | roborumble | robot | PASS | 806000fa021cba86 | - | - | +| roborumble/stelo.MirrorMicro_1.1.jar | roborumble | robot | score-review | 05d8191a63ab4f92 | - | - | +| roborumble/stelo.MirrorNano_1.4.jar | roborumble | robot | score-review | 954d91c27cca3cb6 | - | - | +| roborumble/stelo.Mirror_1.1.jar | roborumble | robot | PASS | ca0b224ceadc65f1 | - | - | +| roborumble/stelo.MoojukNano_1.2.jar | roborumble | robot | PASS | 5aea32191bb43a03 | - | - | +| roborumble/stelo.PatternRobot_1.0.jar | roborumble | robot | score-review | d1abf12fd69afec8 | - | - | +| roborumble/stelo.PianistNano_1.3.jar | roborumble | robot | score-review | dfbed6096848bdd9 | - | - | +| roborumble/stelo.RamTrackSurfer_1.2.jar | roborumble | robot | PASS | 2435f292d4571cb8 | - | - | +| roborumble/stelo.Randomness_1.1.jar | roborumble | robot | score-review | 9fd868a5044a5de0 | - | - | +| roborumble/stelo.SteloTestNano_1.0.jar | roborumble | robot | score-review | 11d2bb55a6b34db5 | - | - | +| roborumble/stelo.UnfoolableNano_1.0.jar | roborumble | robot | score-review | 18ffe1f130b14c1a | - | - | +| roborumble/stelo.UntouchableNano_1.4.jar | roborumble | robot | PASS | d7e07b1217de2e3a | - | - | +| roborumble/step.NanoBidu_1.0.jar | roborumble | robot | PASS | b4b24069c0200fe4 | - | - | +| roborumble/step.nanoPri_1.0.jar | roborumble | robot | score-review | 9485f074e69490f3 | - | - | +| roborumble/stf.PanzerGeneral_0.1.jar | roborumble | robot | PASS | 4ae3b2213f277234 | - | - | +| roborumble/stordy.StordyBot_1.0.jar | roborumble | robot | PASS | 833fad64a48e390f | - | - | +| roborumble/stranger.nano.TestBot_1.0.jar | roborumble | robot | PASS | 0a6e1fec08a87839 | - | - | +| roborumble/strider.Festis_1.2.1.jar | roborumble | robot | PASS | e51b547ab2b1acfb | - | - | +| roborumble/strider.Mer_1.1.0.jar | roborumble | robot | PASS | a3c8b04eee54adcc | - | - | +| roborumble/stuff.Vlad_0.1.jar | roborumble | robot | PASS | adb6530a5ea5e2f9 | - | - | +| roborumble/suh.mega.WaveSurferGF_1.04.jar | roborumble | robot | score-review | d964e8f33ee413f0 | - | - | +| roborumble/suh.mega.WaveSurferPG_1.06.jar | roborumble | robot | score-review | 663308f1025d87ed | - | - | +| roborumble/suh.micro.MirrorPM_1.00.jar | roborumble | robot | PASS | 950022fbee88c1b3 | - | - | +| roborumble/suh.micro.WallPM_1.00.jar | roborumble | robot | PASS | c29ea1a9486a82ac | - | - | +| roborumble/suh.nano.AngularMirrorC_1.00.jar | roborumble | robot | PASS | 603c4b17840a5982 | - | - | +| roborumble/suh.nano.AntiGravityL_1.01.jar | roborumble | robot | PASS | baf33495f851c17e | - | - | +| roborumble/suh.nano.CornerRL_1.00.jar | roborumble | robot | PASS | b66676204709299f | - | - | +| roborumble/suh.nano.CrossC_1.00.jar | roborumble | robot | PASS | 70186a636cda28eb | - | - | +| roborumble/suh.nano.CrossH_1.00.jar | roborumble | robot | PASS | 2ec68234ab872c7d | - | - | +| roborumble/suh.nano.CrossL_1.00.jar | roborumble | robot | PASS | dcf16cb442c321eb | - | - | +| roborumble/suh.nano.MirrorH_1.01.jar | roborumble | robot | PASS | cc4c6f2a362c05ef | - | - | +| roborumble/suh.nano.MirrorL_1.00.jar | roborumble | robot | score-review | d11c0c11fe5784cf | - | - | +| roborumble/suh.nano.MyFirstAdvancedRobot_1.00.jar | roborumble | robot | PASS | d60893882f7b6653 | - | - | +| roborumble/suh.nano.OscillatorL_1.00.jar | roborumble | robot | PASS | d8e670aca92a6405 | - | - | +| roborumble/suh.nano.RammingC_1.00.jar | roborumble | robot | PASS | b1747d10befd7b00 | - | - | +| roborumble/suh.nano.RandomPM_1.02.jar | roborumble | robot | PASS | 204e1654c1de1f8b | - | - | +| roborumble/suh.nano.StopAndGoL_1.01.jar | roborumble | robot | PASS | 65d0272ac03b42e7 | - | - | +| roborumble/suh.nano.TargetC_1.00.jar | roborumble | robot | PASS | 7835e6c7967bf17d | - | - | +| roborumble/suh.nano.TargetH_1.00.jar | roborumble | robot | PASS | f34d220c589d50c9 | - | - | +| roborumble/suh.nano.TargetL_1.00.jar | roborumble | robot | PASS | e9d42bb929e25d9f | - | - | +| roborumble/suh.nano.TargetR_1.00.jar | roborumble | robot | PASS | f83026b90d87da70 | - | - | +| roborumble/suh.nano.Worst_1.02.jar | roborumble | robot | DISCREPANCY (no score) | 5fe1ac3884e8bb3a | - | - | +| roborumble/sul.Bicephal_1.2.jar | roborumble | robot | score-review | 76e39a0c93333f46 | - | - | +| roborumble/sul.BlueBot_1.0.jar | roborumble | robot | score-review | 64d4a7f3b70e43e7 | - | - | +| roborumble/sul.NanoR2_1.32.jar | roborumble | robot | PASS | 20cdad7b00c03ba7 | - | - | +| roborumble/sul.Pinkbot_1.1.jar | roborumble | robot | PASS | c459c9c5b1b4a0e6 | - | - | +| roborumble/supersample.SuperBoxBot_1.0.jar | roborumble | robot | PASS | 7738e93552ec227a | - | - | +| roborumble/supersample.SuperCorners_1.0.jar | roborumble | robot | DISCREPANCY (outcome) | 4faaf2cd8dc15378 | - | - | +| roborumble/supersample.SuperMercutio_1.0.jar | roborumble | robot | PASS | 98b321a2d49dd008 | - | - | +| roborumble/supersample.SuperRamFire_1.0.jar | roborumble | robot | PASS | 0241ee9884b5a0e3 | - | - | +| roborumble/supersample.SuperSpinBot_1.0.jar | roborumble | robot | PASS | b746540ce1ec858b | - | - | +| roborumble/supersample.SuperTrackFire_1.0.jar | roborumble | robot | score-review | a1533dd1f66ec02e | - | - | +| roborumble/supersample.SuperTracker_1.0.jar | roborumble | robot | PASS | dfdc197d7c56cdd8 | - | - | +| roborumble/supersample.SuperWalls_1.0.jar | roborumble | robot | PASS | 56cd96ff1a1380f1 | - | - | +| roborumble/suzushin7.nano.Galaxy01_1.01.jar | roborumble | robot | DISCREPANCY (no score) | a394261125eaff21 | - | - | +| roborumble/suzushin7.nano.Galaxy02_1.01.jar | roborumble | robot | PASS | 6175968fee4da756 | - | - | +| roborumble/suzushin7.nano.Galaxy03_1.01.jar | roborumble | robot | score-review | 2e76da0c6d40e9f0 | - | - | +| roborumble/suzushin7.nano.TargetC_1.00.jar | roborumble | robot | PASS | 413c450b19fa855b | - | - | +| roborumble/syl.Centipede_0.5.jar | roborumble | robot | PASS | f66ba72fbf46d41c | - | - | +| roborumble/synapse.Geomancy_15.jar | roborumble | robot | DISCREPANCY (outcome) | bea0a9c36cec6503 | - | - | +| roborumble/synapse.rsim.GeomancyBS_0.11.jar | roborumble | robot | score-review | 315c584dc2afb693 | - | - | +| roborumble/synnalagma.NeuralPremier_0.51.jar | roborumble | robot | score-review | 1078dbb5bc70fa17 | - | - | +| roborumble/synnalagma.test.MiniNeural_1.1.jar | roborumble | robot | DISCREPANCY (outcome) | 59a1db3597e37770 | - | - | +| roborumble/t3.Ripper_1.0.jar | roborumble | robot | score-review | 805d2e1260db693b | - | - | +| roborumble/tad.Dalek98_0.98.jar | roborumble | robot | PASS | e30890eadbb32b0f | - | - | +| roborumble/takeBot.SpinSpiral_1.2.jar | roborumble | robot | score-review | 871912878b912f9b | - | - | +| roborumble/takeBot.SpiralCrash_1.0.jar | roborumble | robot | score-review | fc13dea89be82484 | - | - | +| roborumble/takeBot.WeavingWiggle_1.1.jar | roborumble | robot | score-review | abb81ddb48d816a8 | - | - | +| roborumble/tango.Recrimpo_2.51.jar | roborumble | robot | PASS | 3e8f4473a36ede89 | - | - | +| roborumble/taqho.taqbot_1.0.jar | roborumble | robot | score-review | 6ec301502f0dfec6 | - | - | +| roborumble/tcf.Drifter_29.jar | roborumble | robot | PASS | 130805a6a6f49274 | - | - | +| roborumble/tcf.Repat3_2.jar | roborumble | robot | DISCREPANCY (errors) | 552afce98b4a69a2 | - | - | +| roborumble/techdude.Class2C.Class2C_0.1.jar | roborumble | robot | DISCREPANCY (outcome) | b0d5a71172c4dced | - | - | +| roborumble/techdude.kombat.FlamingKombat_1.5.jar | roborumble | robot | score-review | 0094f8d67f9249b8 | - | - | +| roborumble/test.Fuzzer_1.0.1.jar | roborumble | robot | score-review | 3c7ff8aefc109aa0 | - | - | +| roborumble/test.Podgy_4.0.jar | roborumble | robot | score-review | fbc9e6ea567d3568 | - | - | +| roborumble/testantiswapgun.AntiSwap_1.0.jar | roborumble | robot | PASS | 7efb12702de04526 | - | - | +| roborumble/tex.Longbot_0.4.jar | roborumble | robot | PASS | 8c0df9a5304fb375 | - | - | +| roborumble/throxbot.ThroxBot_0.1.jar | roborumble | robot | PASS | f562e62e29cb6bf8 | - | - | +| roborumble/tide.pear.Pear_0.62.1.jar | roborumble | robot | score-review | c1e37ab1650b02a6 | - | - | +| roborumble/timmit.TimmiT_0.22.jar | roborumble | robot | PASS | 7586b5ffa32a85d5 | - | - | +| roborumble/timmit.micro.TimXJ_0.22.jar | roborumble | robot | PASS | c53a11703a9a7b14 | - | - | +| roborumble/timmit.mini.TimVA_0.43.jar | roborumble | robot | PASS | ae20e402d06bf044 | - | - | +| roborumble/timmit.nano.TimCat_0.13.jar | roborumble | robot | score-review | 79745ba32e2f25fe | - | - | +| roborumble/timmit.nano.TimDog_0.33.jar | roborumble | robot | PASS | 00b253e2a5b6569e | - | - | +| roborumble/tjk.AFlatNatural_1.0.jar | roborumble | robot | PASS | 85d1d52f7c5fbfa9 | - | - | +| roborumble/tjk.deBroglie_rev0108.jar | roborumble | robot | PASS | dad5f10f813b5490 | - | - | +| roborumble/tk.BotOX_0.3.jar | roborumble | robot | PASS | 7b47033a9aecb9c6 | - | - | +| roborumble/tkt.RedShift_1.1.CS.0.jar | roborumble | robot | score-review | 249cd620a2f886b0 | - | - | +| roborumble/tlp.ThreeLeggedPig_1.jar | roborumble | robot | PASS | e5e607b23d018f71 | - | - | +| roborumble/tm.Yuugao_1.0.jar | roborumble | robot | PASS | 601f0e21d66845b9 | - | - | +| roborumble/tobe.Fusion_1.0.jar | roborumble | robot | PASS | c20f9ad4a4b53987 | wrapper-json-encoding | wrapper | +| roborumble/tobe.Relativity_3.9.jar | roborumble | robot | PASS | 6b507b00b578c9fe | wrapper-json-encoding | wrapper | +| roborumble/tobe.Saturn_lambda.jar | roborumble | robot | PASS | c2e40bc12ae1c728 | wrapper-json-encoding | wrapper | +| roborumble/tobe.calypso.Calypso_4.1.jar | roborumble | robot | score-review | 70a448fb51b746c6 | - | - | +| roborumble/tobe.mini.Charon_0.9.jar | roborumble | robot | DISCREPANCY (outcome) | 1c814f1bf301289d | wrapper-json-encoding | wrapper | +| roborumble/toz.Gnome_1.1.jar | roborumble | robot | PASS | 286a569177a937f1 | - | - | +| roborumble/trab.Crusader_0.1.7.jar | roborumble | robot | PASS | 50debfacc95c26af | - | - | +| roborumble/trab.nano.AinippeNano_1.3.jar | roborumble | robot | PASS | bb121df4141d1cec | - | - | +| roborumble/traker.Eraser_1.jar | roborumble | robot | DISCREPANCY (outcome) | 13db0bdc268469ea | - | - | +| roborumble/tvv.micro.Antares_1.1.1.jar | roborumble | robot | PASS | cf279065275d9a3f | - | - | +| roborumble/tvv.nano.Polaris_1.2.jar | roborumble | robot | PASS | 9e1383f34b5a1d20 | - | - | +| roborumble/tw.Exterminator_1.0.jar | roborumble | robot | PASS | ca3704b90c6fabde | - | - | +| roborumble/tzu.TheArtOfWar_1.2.jar | roborumble | robot | PASS | 258a5b71bf9c7445 | - | - | +| roborumble/ua.kiiv.kosyak.robocode.tn1.Tn1_2.0.jar | roborumble | robot | PASS | 19cc7a468b88eecc | - | - | +| roborumble/uccc.Dorito_1.12.jar | roborumble | robot | score-review | c35b75e47d35f25a | - | - | +| roborumble/uccc.MilkyWay_1.01.jar | roborumble | robot | score-review | 41f6d0786fd3e5ce | - | - | +| roborumble/uccc.RingDing_1.12.jar | roborumble | robot | PASS | 695e293ccdd362a3 | - | - | +| roborumble/uccc.Scrapple_1.0.jar | roborumble | robot | score-review | fe4ed74105911c2d | - | - | +| roborumble/ultra.Defender_1.2.jar | roborumble | robot | PASS | b9430bdc2d8e8a41 | - | - | +| roborumble/unarmedlad.nano.VirginSteele_2.2.jar | roborumble | robot | PASS | 0fd56cde022a08f0 | - | - | +| roborumble/ur4n0.UR4NO_1.0.jar | roborumble | robot | PASS | 9676cdeeebec7f97 | - | - | +| roborumble/urdos.URDOS_1.3.jar | roborumble | robot | PASS | ce41d1ee858569d7 | - | - | +| roborumble/usa.nano.Nemo_2.0.jar | roborumble | robot | PASS | c0eff80a2a2ca297 | - | - | +| roborumble/velas.Alpha_1.0.jar | roborumble | robot | PASS | c0a22d940d4f12a2 | - | - | +| roborumble/velas.Beta_2_0_2.0.jar | roborumble | robot | PASS | abd4b67acd37eb5e | - | - | +| roborumble/vft.Hrist_1.0.jar | roborumble | robot | PASS | a9eeb8774d3fa17a | - | - | +| roborumble/vft.Valkyrie_1.0.jar | roborumble | robot | PASS | f4e22feabae45025 | - | - | +| roborumble/vic.Locke_0.7.5.5.jar | roborumble | robot | PASS | 0417f0e27d6f83ea | - | - | +| roborumble/vjik.UnViolation_1.1.jar | roborumble | robot | PASS | 15cd6a71061cc42a | - | - | +| roborumble/voidious.Diamond_1.8.22.jar | roborumble | robot | PASS | 4146412ffe28ac43 | - | - | +| roborumble/voidious.Dookious_1.573c.jar | roborumble | robot | PASS | 0e8186501813d9fe | - | - | +| roborumble/voidious.micro.Jen_1.11.jar | roborumble | robot | PASS | 81755654920b97cd | - | - | +| roborumble/voidious.mini.Komarious_1.88.jar | roborumble | robot | score-review | c4341bb65734df04 | - | - | +| roborumble/voidious.perceptual.RetroGirl_1.0.0.jar | roborumble | robot | PASS | efc81fba9fb6e2f2 | - | - | +| roborumble/vort.Chaser_0.0.3.jar | roborumble | robot | PASS | 7093732e1715be6e | - | - | +| roborumble/vuen.Fractal_0.55.jar | roborumble | robot | PASS | 164ba6952c0c5fb0 | - | - | +| roborumble/wcsv.Engineer.Engineer_0.5.4.jar | roborumble | robot | PASS | 0aac6c0b40d0237b | - | - | +| roborumble/wcsv.PowerHouse.PowerHouse_1.7e3.jar | roborumble | robot | PASS | 631ef8496e7b90a4 | - | - | +| roborumble/wcsv.Stampede2.Stampede2_1.1.0.jar | roborumble | robot | score-review | b9408606ff177d2e | - | - | +| roborumble/wcsv.Stampede_1.3.3.jar | roborumble | robot | PASS | 1e9b3cfa9b68a98d | - | - | +| roborumble/wcsv.mega.PowerHouse2_0.2.jar | roborumble | robot | PASS | 05a4b5f06306fef8 | - | - | +| roborumble/whind.Constitution_0.7.1.jar | roborumble | robot | PASS | bb9897a9c2456833 | - | - | +| roborumble/whind.StrengthBee_0.6.4.jar | roborumble | robot | PASS | 40a5885a2d772876 | - | - | +| roborumble/whind.Strength_0.6.4.jar | roborumble | robot | PASS | 9ab90f6bc35fbadf | - | - | +| roborumble/whind.Wisdom_0.5.1.jar | roborumble | robot | PASS | 196334f342150a41 | - | - | +| roborumble/whitesquare.robots.SkynetAdvanced_1.1.jar | roborumble | robot | PASS | d800deef22298358 | - | - | +| roborumble/wiki.BasicBulletShielder_1.0.jar | roborumble | robot | DISCREPANCY (no score) | dd6ced352a0852bc | - | - | +| roborumble/wiki.BasicGFSurfer_1.02.jar | roborumble | robot | score-review | dafb3b5a37488156 | - | - | +| roborumble/wiki.SuperSampleBot.SuperSittingDuck_1.0.jar | roborumble | robot | score-review | 4547e0802306f2d7 | - | - | +| roborumble/wiki.WaveRammer_1.0.jar | roborumble | robot | PASS | 3b3b8452bc947744 | - | - | +| roborumble/wiki.Wolverine_2.1.jar | roborumble | robot | score-review | be3e497fc833ee7f | - | - | +| roborumble/wiki.mako.MakoHT_1.2.2.1.jar | roborumble | robot | PASS | 663d83ffd3e65f78 | - | - | +| roborumble/wiki.mini.BlackDestroyer_0.9.0.jar | roborumble | robot | PASS | ddb597dc74556b13 | - | - | +| roborumble/wiki.mini.GouldingiHT_1.0.jar | roborumble | robot | PASS | 60c5a099592b863c | - | - | +| roborumble/wiki.mini.Griffon_0.1.jar | roborumble | robot | PASS | e838a170fcf9ee5c | - | - | +| roborumble/wiki.mini.Sedan_1.0.jar | roborumble | robot | PASS | 34c56f752963d190 | - | - | +| roborumble/wiki.nano.DevilFISH_1.0.jar | roborumble | robot | PASS | dbfca7e5defd5feb | - | - | +| roborumble/wiki.nano.RaikoNano_1.1.jar | roborumble | robot | PASS | f9646d636f024672 | - | - | +| roborumble/wilson.Chameleon_0.91.jar | roborumble | robot | score-review | 91b838943f37afae | - | - | +| roborumble/winamp32.micro.MicroMacro_1.0.jar | roborumble | robot | score-review | 859b669e24953d5f | - | - | +| roborumble/wit.Chuliath_1.0.jar | roborumble | robot | score-review | 8de4ab4e3ebebf75 | - | - | +| roborumble/wit.Deep7_2.0.jar | roborumble | robot | PASS | 882dce9bf917da9c | - | - | +| roborumble/wompi.Kowari_1.6.jar | roborumble | robot | score-review | aee185f8772f9bc8 | - | - | +| roborumble/wompi.Numbat_1.9.jar | roborumble | robot | DISCREPANCY (outcome) | 48f1b34993000752 | - | - | +| roborumble/xiongan.Xiongan_1.1.jar | roborumble | robot | DISCREPANCY (outcome) | 24644411e022565b | - | - | +| roborumble/yabot.YaBot_0.1.jar | roborumble | robot | PASS | 4dd28cfef1345daa | - | - | +| roborumble/yagami.Tidus_0.11.jar | roborumble | robot | score-review | 0885ba495b5a215b | - | - | +| roborumble/yarghard.Y101_1.0.jar | roborumble | robot | PASS | ec491d81b2bc43a0 | - | - | +| roborumble/yarhoslav.YaroBot_1.2.jar | roborumble | robot | PASS | 7f93bbeaa0bc6d18 | - | - | +| roborumble/yk.JahMicro_1.0.jar | roborumble | robot | PASS | 44e11069bf6dccee | - | - | +| roborumble/yk.JahRoslav_1.1.jar | roborumble | robot | PASS | 574837370acf9d5f | - | - | +| roborumble/zch.David_0.21.jar | roborumble | robot | PASS | 563246013f486f2a | - | - | +| roborumble/zch.Hirkan_0.11.jar | roborumble | robot | PASS | f47396d4d769ab19 | - | - | +| roborumble/zen.Lindada_0.2.jar | roborumble | robot | PASS | 5750d784bc5734a5 | - | - | +| roborumble/zeze2.OperatorZeze_1.05.jar | roborumble | robot | PASS | 63a831474b979586 | - | - | +| roborumble/zezinho.QuerMePegarKKKK_1.0.jar | roborumble | robot | PASS | 9336aae44cab6d46 | - | - | +| roborumble/zh.UnderDog_0.0.2.jar | roborumble | robot | PASS | b4be90c25b189d27 | - | - | +| roborumble/zignd.ZigIndexOutOfRange_1.1.jar | roborumble | robot | PASS | 5038b185d12a79e5 | - | - | +| roborumble/zyx.mega.YersiniaPestis_3.0.jar | roborumble | robot | PASS | de945e89bf0064f6 | - | - | +| roborumble/zyx.micro.Ant_1.1.jar | roborumble | robot | PASS | 58b16c25647a3fca | - | - | +| roborumble/zyx.nano.Ant_1.1.jar | roborumble | robot | PASS | 805aa68fcec2251e | - | - | +| roborumble/zyx.nano.EscherichiaColi_1.0.jar | roborumble | robot | PASS | 7d74db622dc673a4 | - | - | +| roborumble/zyx.nano.RedBull_1.0.jar | roborumble | robot | score-review | 8ffa9617eece147d | - | - | +| roborumble/zzx.Gron_1.14.jar | roborumble | robot | PASS | 55fb646fb1b531a7 | - | - | +| roborumble/zzx.Ignohis_8.0.jar | roborumble | robot | PASS | 0b66e37ab9b2b032 | - | - | +| roborumble/zzx.Serunyr_2.0.2.jar | roborumble | robot | score-review | 961eb834cc4c139b | - | - | +| roborumble/zzx.StormHead_1.0.1.jar | roborumble | robot | PASS | 46e1b1c082fd54c6 | - | - | | teamrumble/CharlieN.OmegaTeam.OmegaTeam_1.0.jar | teamrumble | team | score-review | 6b043758c4fcae5a | - | - | | teamrumble/Krabb.sliNk.SlartibartfassTeam_0.5.jar | teamrumble | team | DISCREPANCY (outcome) | 5e806f4254aa254d | - | - | | teamrumble/Polkwane.PTeam_1.0.jar | teamrumble | team | DISCREPANCY (outcome) | c265ba7a00f77e4c | - | - | @@ -267,33 +1218,33 @@ This generated table is the reviewed index of the append-only observations in `p | teamrumble/amz.TeamDeathTeam_1.jar | teamrumble | team | PASS | 3c112507fe15db93 | - | - | | teamrumble/apvteam.MambaTeam_0.7.5.jar | teamrumble | team | DISCREPANCY (outcome) | b781be282cf00232 | - | - | | teamrumble/bugger.BuggerHive_1.0.jar | teamrumble | team | score-review | d964a1c4da7e73fa | - | - | -| teamrumble/bvh.team.Valkiries_1.0.jar | teamrumble | team | DISCREPANCY (outcome) | e556a2d82c7fee6a | - | - | -| teamrumble/cb.fire.FirestarterTeam_2.0.jar | teamrumble | team | DISCREPANCY (outcome) | 62e25ad244cff6a2 | - | - | -| teamrumble/cx.mini.DemoniacNimrods_0.50.jar | teamrumble | team | DISCREPANCY (outcome) | 59837503724eaca8 | - | - | +| teamrumble/bvh.team.Valkiries_1.0.jar | teamrumble | team | score-review | 0410196ed2cca286 | nested-team-jar-discovery | wrapper | +| teamrumble/cb.fire.FirestarterTeam_2.0.jar | teamrumble | team | DISCREPANCY (outcome) | a4b32950172587c1 | nested-team-jar-discovery | wrapper | +| teamrumble/cx.mini.DemoniacNimrods_0.50.jar | teamrumble | team | score-review | ffdcc9fa6535acbb | nested-team-jar-discovery | wrapper | | teamrumble/davidalves.PhoenixTeam_0.54.jar | teamrumble | team | DISCREPANCY (outcome) | 3a77798e76eadbbb | - | - | | teamrumble/dummy_team.BlindFighters_1.01.jar | teamrumble | team | score-review | 95a261e1dcd6e54a | - | - | -| teamrumble/ethdsy.MalackaTeam_1.2.jar | teamrumble | team | DISCREPANCY (outcome) | 7af6492a2dcfc090 | - | - | -| teamrumble/florent.XSeries.Xmen_0.9.jar | teamrumble | team | DISCREPANCY (outcome) | 76b47d136530aef9 | - | - | -| teamrumble/gh.mini.GrubbmGroup_0.4.jar | teamrumble | team | DISCREPANCY (outcome) | 29b983fb951e3497 | - | - | +| teamrumble/ethdsy.MalackaTeam_1.2.jar | teamrumble | team | DISCREPANCY (outcome) | da49937ad4b818af | nested-team-jar-discovery | wrapper | +| teamrumble/florent.XSeries.Xmen_0.9.jar | teamrumble | team | DISCREPANCY (outcome) | 90ef34e34891187f | nested-team-jar-discovery | wrapper | +| teamrumble/gh.mini.GrubbmGroup_0.4.jar | teamrumble | team | score-review | 8da1db1940655a72 | nested-team-jar-discovery | wrapper | | teamrumble/gh.nano.GrofGroup_1.1.jar | teamrumble | team | score-review | 3784af636099c8b7 | - | - | | teamrumble/gimp.GimpTeam_0.1.jar | teamrumble | team | DISCREPANCY (errors) | d373ae9bed366ff4 | - | - | | teamrumble/jab.DiamondStealers_5.jar | teamrumble | team | PASS | 732c648d5061b714 | - | - | | teamrumble/jab.Enjambre_3.jar | teamrumble | team | DISCREPANCY (outcome) | e3e38c2f6cbb6913 | - | - | | teamrumble/jeremyreeder.collective.FourProphetsAndADiscliple_5.jar | teamrumble | team | DISCREPANCY (outcome) | 958bfa1999f49a8f | - | - | -| teamrumble/kawigi.micro.ArmyOfShiz_1.1.jar | teamrumble | team | DISCREPANCY (outcome) | c1295aebef75315f | - | - | -| teamrumble/kawigi.sbf.TidalWave_0.8.jar | teamrumble | team | DISCREPANCY (outcome) | bc5aed98b43bd0b7 | - | - | +| teamrumble/kawigi.micro.ArmyOfShiz_1.1.jar | teamrumble | team | PASS | d191b3cc728cc41d | nested-team-jar-discovery | wrapper | +| teamrumble/kawigi.sbf.TidalWave_0.8.jar | teamrumble | team | DISCREPANCY (outcome) | def9be010e856ed7 | nested-team-jar-discovery | wrapper | | teamrumble/kid.team.OmegaSquad_.0.2.jar | teamrumble | team | DISCREPANCY (outcome) | 527d1334b6cbaafe | - | - | | teamrumble/logiblocs.SittingDroidTeam_1.0.jar | teamrumble | team | score-review | 1277993795db5d90 | - | - | | teamrumble/lxx.ConceptATeam_0.8.jar | teamrumble | team | score-review | 6d7c8a3305582f2a | - | - | -| teamrumble/mn.CombatTeam_3.25.0.jar | teamrumble | team | DISCREPANCY (outcome) | e6184c662faad118 | - | - | -| teamrumble/mn.SuperSittingDuckTeam_1.0.2.jar | teamrumble | team | DISCREPANCY (outcome) | 77d4cb00fc9740ab | - | - | -| teamrumble/mn.nano.perceptual.ImpactTeam_1.3.0.jar | teamrumble | team | DISCREPANCY (outcome) | 4a69881cd4bd3ab8 | - | - | -| teamrumble/ms.AresHaikuTeam_0.3.jar | teamrumble | team | DISCREPANCY (outcome) | f35bd5706b1577c3 | - | - | +| teamrumble/mn.CombatTeam_3.25.0.jar | teamrumble | team | score-review | ff6384a43dc40ba1 | tank-royale-team-message-limit | tank-royale | +| teamrumble/mn.SuperSittingDuckTeam_1.0.2.jar | teamrumble | team | DISCREPANCY (no score) | 35c5a5b5b403c542 | nested-team-jar-discovery | wrapper | +| teamrumble/mn.nano.perceptual.ImpactTeam_1.3.0.jar | teamrumble | team | score-review | f07457b85f7d6964 | nested-team-jar-discovery | wrapper | +| teamrumble/ms.AresHaikuTeam_0.3.jar | teamrumble | team | score-review | 208d6bf410614cc3 | nested-team-jar-discovery | wrapper | | teamrumble/mskwik.BumblingIdiots_1.0.jar | teamrumble | team | score-review | 982cb1f3bee1097c | - | - | -| teamrumble/myl.micro.TroodonPack_1.10.jar | teamrumble | team | DISCREPANCY (outcome) | 158adf42fb2b69b8 | - | - | +| teamrumble/myl.micro.TroodonPack_1.10.jar | teamrumble | team | PASS | 4966d291dcec2148 | nested-team-jar-discovery | wrapper | | teamrumble/ntc.slippery.Slippery_1.0.jar | teamrumble | team | score-review | d53817b4982c3ef4 | - | - | -| teamrumble/pedersen.ImWithDroidTeam_1.3.jar | teamrumble | team | DISCREPANCY (outcome) | 05d5284e7b3b78b2 | - | - | -| teamrumble/pedersen.ImWithStupidTeam_1.3.jar | teamrumble | team | DISCREPANCY (outcome) | 3240fb0bb549a6fd | - | - | +| teamrumble/pedersen.ImWithDroidTeam_1.3.jar | teamrumble | team | score-review | 9c7e73ca883e1468 | nested-team-jar-discovery | wrapper | +| teamrumble/pedersen.ImWithStupidTeam_1.3.jar | teamrumble | team | score-review | 6881105b0a1dac37 | nested-team-jar-discovery | wrapper | | teamrumble/radnor.RadnorMedSchool_1.0.jar | teamrumble | team | PASS | 2c658128e3f16dec | - | - | | teamrumble/rz.AlephTeam_0.34.jar | teamrumble | team | DISCREPANCY (outcome) | 5dc044f92c8d4b7e | - | - | | teamrumble/rz.GlowingHawks_0.2.jar | teamrumble | team | score-review | ee6dff4622862b08 | - | - | diff --git a/compat-test/test_parity_registry.py b/compat-test/test_parity_registry.py index e563e70..2fff23d 100644 --- a/compat-test/test_parity_registry.py +++ b/compat-test/test_parity_registry.py @@ -1,9 +1,11 @@ import importlib.util +import json import sys import tempfile import unittest from pathlib import Path from types import SimpleNamespace +from unittest.mock import Mock, patch MODULE = Path(__file__).with_name("parity_registry.py") @@ -80,6 +82,88 @@ def testHARN001_UnitPositive_StateSyncAppendsWithoutReplacingEarlierObservation( self.assertEqual(0, registry.sync_state(data, state, Path("missing"), manifest)) self.assertEqual("PASS", data["subjects"]["roborumble/a.Bot_1.0.jar"]["status"]) + def testHARN001_UnitPositive_NormalCheckpointSyncDoesNotReplayAccumulatedProgress(self): + with tempfile.TemporaryDirectory() as directory: + root = Path(directory) + state_file = root / "test_progress.json" + state_file.write_text(json.dumps({ + "version": 1, + "settings": {}, + "robots": {"roborumble/prior.Bot_1.0.jar": { + "status": "PASS", "completed_at": "2026-09-10T00:00:00Z", + "setup": {}, "rc": {}, "tr": {}, + }}, + }), encoding="utf-8") + current_jar = root / "roborumble" / "current.Bot_1.0.jar" + current_jar.parent.mkdir() + current_jar.write_bytes(b"current") + captured = [] + + def result(): + return { + "ok": True, "score": 1.0, "scores": [1.0], "error_count": 0, + "elapsed": 0.0, "errors": [], "log_text": "", "selected": "current.Bot", + } + + with patch.object(harness, "STATE_FILE", state_file), \ + patch.object(harness, "discover_jars", return_value=[("roborumble", current_jar)]), \ + patch.object(harness, "check_prerequisites"), \ + patch.object(harness, "division_setup", return_value={}), \ + patch.object(harness, "run_rc_battle", side_effect=lambda *args, **kwargs: result()), \ + patch.object(harness, "run_tr_battle", side_effect=lambda *args, **kwargs: result()), \ + patch.object(harness, "write_error_log", return_value=False), \ + patch.object(harness, "evaluate", return_value=("PASS", 0.0)), \ + patch.object(harness, "regenerate_report"), \ + patch.object(harness, "sync_parity_registry", + side_effect=lambda checkpoint, opts: captured.append(checkpoint)), \ + patch.object(sys, "argv", ["compat_test.py", "--collections", "roborumble", "--limit", "1"]): + self.assertEqual(0, harness.main()) + + self.assertEqual( + {"roborumble/current.Bot_1.0.jar"}, + set(captured[0]["robots"]), + ) + + def testHARN001_UnitPositive_TeamMemberDirsReadWindows1252Metadata(self): + with tempfile.TemporaryDirectory() as directory: + root = Path(directory) + team_dir = root / "legacy.Team_1.0" + team_dir.mkdir() + member_dir = root / "membre-é" + member_dir.mkdir() + (team_dir / "legacy.Team_1.0.json").write_bytes( + json.dumps({"teamMembers": [member_dir.name]}).encode("cp1252")) + + self.assertEqual([member_dir], harness.team_member_dirs(team_dir)) + + def testHARN008_UnitPositive_RobocodeVersionReadsInstallReleaseHeading(self): + with tempfile.TemporaryDirectory() as directory: + root = Path(directory) + (root / "versions.md").write_text( + "## Version 1.11.1 (13-Jul-2026)\n", encoding="utf-8") + self.assertEqual("1.11.1", harness.resolve_robocode_version(root)) + self.assertIsNone(harness.robocode_version_error(root, "1.11.1")) + + def testHARN008_UnitPositive_RobocodeVersionFallsBackToUniqueEngineVersion(self): + with tempfile.TemporaryDirectory() as directory: + root = Path(directory) + (root / "libs").mkdir() + (root / "libs" / "robocode.core-1.11.1.jar").write_bytes(b"") + (root / "libs" / "robocode.host-1.11.1.jar").write_bytes(b"") + self.assertEqual("1.11.1", harness.resolve_robocode_version(root)) + + def testHARN008_UnitNegative_UnsupportedRobocodeVersionIsRejected(self): + with tempfile.TemporaryDirectory() as directory: + root = Path(directory) + (root / "versions.md").write_text("## Version 1.9.4.2\n", encoding="utf-8") + error = harness.robocode_version_error(root) + self.assertIn("not in LiteRumble's allowed client list", error) + + def testHARN008_UnitNegative_UnknownRobocodeVersionIsRejected(self): + with tempfile.TemporaryDirectory() as directory: + error = harness.robocode_version_error(Path(directory)) + self.assertIn("could not be determined", error) + def testHARN001_UnitNegative_FailedCasesRemainUnresolved(self): self.assertTrue(registry.is_unresolved("FAIL (TR)")) self.assertTrue(registry.is_unresolved("DISCREPANCY (score)")) @@ -182,12 +266,82 @@ def testC004_UnitPositive_ImmediateWorkerExitStillTriggersWatcher(self): self.assertTrue(watcher.triggered) self.assertIn("IllegalStateException", output) + def testHARN002_IntegrationPositive_TimeoutExpiresWhileWatcherIsBlocked(self): + watcher_started = harness.threading.Event() + release_watcher = harness.threading.Event() + + def blocked_watcher(_): + watcher_started.set() + release_watcher.wait(timeout=2) + return False + + def terminate_worker(proc, _diagnostics): + proc.kill() + proc.wait(timeout=2) + return True + + started = harness.time.monotonic() + try: + with patch.object(harness, "kill_process_tree", side_effect=terminate_worker): + returncode, output, timed_out = harness.run_java( + [sys.executable, "-c", "import time; time.sleep(30)"], + Path.cwd(), timeout=0.1, abort_when=blocked_watcher, poll_seconds=0.01) + finally: + release_watcher.set() + + self.assertTrue(watcher_started.is_set()) + self.assertEqual(-1, returncode) + self.assertTrue(timed_out) + self.assertIn("", output) + self.assertLess(harness.time.monotonic() - started, 1.5) + + def testHARN002_UnitPositive_TaskkillHasTimeoutAndFallsBackToWorker(self): + proc = Mock() + proc.pid = 12345 + proc.poll.return_value = None + diagnostics = [] + + with patch.object(harness.sys, "platform", "win32"), \ + patch.object( + harness.subprocess, "run", + side_effect=harness.subprocess.TimeoutExpired("taskkill", 15)) as taskkill: + terminated = harness.kill_process_tree(proc, diagnostics) + + self.assertFalse(terminated) + self.assertEqual(15, taskkill.call_args.kwargs["timeout"]) + self.assertIn("", diagnostics) + proc.kill.assert_called_once() + proc.wait.assert_called_once_with(timeout=15) + def testHARN001_UnitNegative_CauseRetestRequiresRepairAndKnownSelection(self): missing_repair = SimpleNamespace(repair=None, retest_cause="lifecycle") unknown_cause = SimpleNamespace(repair="abc123", retest_cause="lifecycle") self.assertIn("requires --repair", harness.retest_option_error(missing_repair)) self.assertIn("No unresolved", harness.retest_option_error(unknown_cause, [])) + def testHARN001_UnitNegative_CauseRetestDoesNotSelectUnclassifiedMissingCheckpoint(self): + opts = SimpleNamespace( + force=False, retry_unresolved=False, confirm_score=False, + retest_cause="lifecycle", retry_failed=False) + subject = {"status": "DISCREPANCY (errors)", "diagnosis_events": []} + + self.assertFalse(harness.should_run( + None, opts, {"subjects": {"meleerumble/a.Bot_1.0.jar": subject}}, + "meleerumble/a.Bot_1.0.jar")) + + def testHARN001_UnitPositive_CauseRetestSelectsDiagnosedRegistrySubjectWithoutCheckpoint(self): + opts = SimpleNamespace( + force=False, retry_unresolved=False, confirm_score=False, + retest_cause="lifecycle", retry_failed=False) + subject = { + "status": "DISCREPANCY (errors)", + "diagnosis_events": [{"id": "diagnosis-1", "cause": "lifecycle"}], + } + + self.assertTrue(harness.should_run( + None, opts, {"subjects": {"meleerumble/a.Bot_1.0.jar": subject}}, + "meleerumble/a.Bot_1.0.jar")) + def testHARN007_UnitPositive_FixedMeleeSelectionExcludesSubject(self): pool = [{"jar": f"robot-{index}.jar", "sha256": "hash"} for index in range(12)] diff --git a/conformance-test/build.gradle.kts b/conformance-test/build.gradle.kts index b7103fc..2d85709 100644 --- a/conformance-test/build.gradle.kts +++ b/conformance-test/build.gradle.kts @@ -36,6 +36,17 @@ tasks { test { // The harness consumes these files directly rather than resolving them as Gradle dependencies. dependsOn(":robocode-api:jar", ":robots-wrapper:fatJar") + val bridgeApiJar = project(":robocode-api").tasks.named("jar") + .flatMap { it.archiveFile } + val wrapperJar = project(":robots-wrapper").tasks.named("fatJar") + .flatMap { it.archiveFile } + systemProperty("conformance.bridgeApiJar", bridgeApiJar.get().asFile.absolutePath) + systemProperty("conformance.wrapperJar", wrapperJar.get().asFile.absolutePath) + + // The harness also consumes engine jars and paths supplied outside Gradle's input model. + // Always execute so an updated local engine or environment-selected artifact is not hidden + // behind a stale UP-TO-DATE result. + outputs.upToDateWhen { false } useJUnitPlatform() testLogging { diff --git a/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/ConformanceHarness.java b/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/ConformanceHarness.java index a774323..71b69df 100644 --- a/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/ConformanceHarness.java +++ b/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/ConformanceHarness.java @@ -123,6 +123,7 @@ BattleOutcome runTeam(Engine engine, String teamClass, Path source) { "--engine", engine.harnessName(), "--rounds", String.valueOf(rounds), "--robocode-home", robocodeHome.toString())); + addBridgeArtifacts(command); try { Process process = startHarness(command); @@ -166,6 +167,7 @@ private BattleOutcome run(Engine engine, String robotClass, Path source, String "--engine", engine.harnessName(), "--rounds", String.valueOf(rounds), "--robocode-home", robocodeHome.toString())); + addBridgeArtifacts(command); if (source != null) { command.add("--conformance-source"); command.add(source.toString()); @@ -292,6 +294,18 @@ private static String trim(String text) { return collapsed.length() > 600 ? collapsed.substring(collapsed.length() - 600) : collapsed; } + private static void addBridgeArtifacts(List command) { + addArgumentIfSet(command, "--bridge-api-jar", System.getProperty("conformance.bridgeApiJar")); + addArgumentIfSet(command, "--wrapper-jar", System.getProperty("conformance.wrapperJar")); + } + + private static void addArgumentIfSet(List command, String option, String value) { + if (value != null && !value.isBlank()) { + command.add(option); + command.add(value); + } + } + private static Path existingDirectory(String path) { if (path == null || path.isBlank()) { return null; diff --git a/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/FileQuotaConformanceTest.java b/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/FileQuotaConformanceTest.java index b9fdf0a..3a41841 100644 --- a/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/FileQuotaConformanceTest.java +++ b/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/FileQuotaConformanceTest.java @@ -17,6 +17,9 @@ class FileQuotaConformanceTest extends ConformanceTestBase { private static final String ROBOT = "conformance.probes.FileQuotaProbe"; private static final Path SOURCE = ConformanceHarness.repoRoot().resolve(Path.of( "compat-test", "conformance-robots", "conformance", "probes", "FileQuotaProbe.java")); + private static final String OVERWRITE_ROBOT = "conformance.probes.FileQuotaOverwriteProbe"; + private static final Path OVERWRITE_SOURCE = ConformanceHarness.repoRoot().resolve(Path.of( + "compat-test", "conformance-robots", "conformance", "probes", "FileQuotaOverwriteProbe.java")); @Test @DisplayName("FIO-003: a write past the quota is refused with classic's own message") @@ -43,4 +46,20 @@ void testFIO003_IntegrationNegative_TheRefusedChunkDoesNotAlsoReportSuccess() { () -> "the third, quota-exceeding chunk reported as written on " + engine + " (" + outcome.summary() + ")")); } + + @Test + @DisplayName("FIO-003 positive: replacing an existing data file reuses its quota") + void testFIO003_IntegrationPositive_ReplacedBytesDoNotAccumulateQuota() { + assertOnBothEngines(OVERWRITE_ROBOT, OVERWRITE_SOURCE, (outcome, engine) -> { + assertTrue(outcome.anyConsoleContains("OverwriteSucceeded:0"), + () -> "the first data-file write did not succeed on " + engine + + " (" + outcome.summary() + ")"); + assertTrue(outcome.anyConsoleContains("OverwriteSucceeded:1"), + () -> "replacing the data file charged its old size again on " + engine + + " (" + outcome.summary() + ")"); + assertFalse(outcome.anyConsoleContains("OverwriteFailed:"), + () -> "replacing the data file unexpectedly failed on " + engine + + " (" + outcome.summary() + ")"); + }); + } } diff --git a/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/InitialStatusConformanceTest.java b/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/InitialStatusConformanceTest.java new file mode 100644 index 0000000..e839a3a --- /dev/null +++ b/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/InitialStatusConformanceTest.java @@ -0,0 +1,65 @@ +package dev.robocode.tankroyale.bridge.conformance; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; + +/** Acceptance evidence for EVT-005 — the initial status callback precedes robot run(). */ +class InitialStatusConformanceTest extends ConformanceTestBase { + + private static final String ROBOT = "conformance.probes.InitialStatusProbe"; + private static final String ENEMY = "sample.Target"; + private static final Path SOURCE = ConformanceHarness.repoRoot().resolve(Path.of( + "compat-test", "conformance-robots", "conformance", "probes", "InitialStatusProbe.java")); + private static final Pattern BEFORE_RUN = Pattern.compile("InitialStatusBeforeRun:(\\d+)"); + private static final Pattern INITIAL_CLOCK = Pattern.compile("InitialStatusClock:(\\d+:\\d+:\\d+)"); + private static final Pattern PENDING_STATUS = Pattern.compile("PendingStatusAtRunStart:(\\d+)"); + private static final Pattern AFTER_EXECUTE = Pattern.compile("StatusAfterFirstExecute:(\\d+)"); + + @Test + @DisplayName("EVT-005: initial status runs before robot run and is not delivered twice") + void testEVT005_IntegrationPositive_InitialStatusPrecedesRun() { + assertOnBothEngines(ROBOT, SOURCE, ENEMY, (outcome, engine) -> { + List beforeRun = matches(outcome, BEFORE_RUN); + List initialClock = matches(outcome, INITIAL_CLOCK); + List pendingStatus = matches(outcome, PENDING_STATUS); + List afterExecute = matches(outcome, AFTER_EXECUTE); + + assertFalse(beforeRun.isEmpty(), + () -> "robot run marker missing on " + engine + " (" + outcome.summary() + ")"); + assertFalse(afterExecute.isEmpty(), + () -> "first execute marker missing on " + engine + " (" + outcome.summary() + ")"); + assertFalse(pendingStatus.isEmpty(), + () -> "run-start event-queue marker missing on " + engine + " (" + outcome.summary() + ")"); + assertFalse(initialClock.isEmpty(), + () -> "initial status clock marker missing on " + engine + " (" + outcome.summary() + ")"); + beforeRun.forEach(count -> assertEquals("1", count, + () -> "initial status was not delivered exactly once before run() on " + engine)); + pendingStatus.forEach(count -> assertEquals("0", count, + () -> "the consumed initial status remained pending at run() on " + engine)); + initialClock.forEach(clock -> assertEquals("0:0:0", clock, + () -> "initial status and peer clocks did not match Classic time zero on " + engine)); + afterExecute.forEach(count -> assertEquals("2", count, + () -> "the initial status was delivered again from its queued tick on " + engine)); + }); + } + + private static List matches(BattleOutcome outcome, Pattern pattern) { + List values = new ArrayList<>(); + for (String console : outcome.consoles()) { + Matcher matcher = pattern.matcher(console); + while (matcher.find()) { + values.add(matcher.group(1)); + } + } + return values; + } +} diff --git a/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/TeamSupportConformanceTest.java b/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/TeamSupportConformanceTest.java index dc04961..2bfb702 100644 --- a/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/TeamSupportConformanceTest.java +++ b/conformance-test/src/test/java/dev/robocode/tankroyale/bridge/conformance/TeamSupportConformanceTest.java @@ -49,6 +49,10 @@ void testTEAM002_IntegrationPositive_TeammateMessagesReachIntendedMembers() { outcome.countOf("Message:BROADCAST"), () -> "broadcast messages were not delivered to every teammate on " + engine + " (" + outcome.summary() + ")"); + assertEquals(TEAM_INSTANCES * rounds, + outcome.countOf("TeamRecipientBatch:BATCH:first,BATCH:second"), + () -> "serializable collection batches were not delivered in order on " + engine + + " (" + outcome.summary() + ")"); assertEquals(TEAM_INSTANCES * rounds, outcome.countOf("Message:DIRECT"), () -> "direct messages were not delivered to one teammate per team on " + engine + " (" + outcome.summary() + ")"); @@ -58,6 +62,44 @@ void testTEAM002_IntegrationPositive_TeammateMessagesReachIntendedMembers() { }); } + @Test + @DisplayName("TEAM-002: team APIs expose classic names on both engines") + void testTEAM002_IntegrationPositive_ExposesClassicNamesAndResolvesThem() { + assertOnBothEnginesTeam(TEAM, SOURCE, (outcome, engine) -> { + int rounds = configuredRounds(); + for (int occurrence = 1; occurrence <= TEAM_INSTANCES; occurrence++) { + String suffix = " (" + occurrence + ")"; + assertEquals(rounds, outcome.countOf( + "TeamLeaderName:conformance.teams.TeamLeader 1.0" + suffix), + () -> "the leader name did not match classic on " + engine + + " (" + outcome.summary() + ")"); + assertEquals(rounds, outcome.countOf( + "TeamRecipientName:conformance.teams.TeamRecipient 1.0" + suffix), + () -> "the recipient name did not match classic on " + engine + + " (" + outcome.summary() + ")"); + assertEquals(rounds, outcome.countOf( + "TeamDroidName:conformance.teams.TeamDroid 1.0" + suffix), + () -> "the droid name did not match classic on " + engine + + " (" + outcome.summary() + ")"); + assertEquals(rounds, outcome.countOf( + "TeamTeammateName:conformance.teams.TeamRecipient 1.0" + suffix), + () -> "the teammate list did not return classic names on " + engine + + " (" + outcome.summary() + ")"); + assertEquals(rounds, outcome.countOf( + "TeamTeammateName:conformance.teams.TeamDroid 1.0" + suffix), + () -> "the teammate list did not return classic names on " + engine + + " (" + outcome.summary() + ")"); + } + assertFalse(outcome.anyConsoleContains("TeamIsTeammateMismatch:"), + () -> "isTeammate rejected a name from getTeammates() on " + engine + + " (" + outcome.summary() + ")"); + assertEquals(TEAM_INSTANCES * 2 * (TEAM_MEMBERS - 1) * rounds, + outcome.countOf(" from conformance.teams.TeamLeader 1.0 ("), + () -> "message events did not expose classic sender names on " + engine + + " (" + outcome.summary() + ")"); + }); + } + @Test @DisplayName("TEAM-002 negative: a directed teammate message is not broadcast") void testTEAM002_IntegrationNegative_DirectedMessageIsNotBroadcast() { diff --git a/docs/analysis/AN-015-melee-registry-errors-are-opponent-contaminated.md b/docs/analysis/AN-015-melee-registry-errors-are-opponent-contaminated.md index db0e409..d1e0d74 100644 --- a/docs/analysis/AN-015-melee-registry-errors-are-opponent-contaminated.md +++ b/docs/analysis/AN-015-melee-registry-errors-are-opponent-contaminated.md @@ -3,12 +3,12 @@ id: AN-015 type: analysis status: active links: [P-001, CAP-005, CAP-007, PDR-003, IDR-007, C-007] -title: The first melee registry cases are contaminated by fixed-opponent failures +title: The melee registry contains opponent-contaminated failures provenance: inferred reversal-cost: low --- -# AN-015 — The first melee registry cases are contaminated by fixed-opponent failures +# AN-015 — The melee registry contains opponent-contaminated failures ## Risk investigated @@ -40,6 +40,62 @@ The current melee observations cannot be used as clean subject-level parity evid The registry should retain the observations and append a harness-owned cause for the opponent-contamination cluster. A later focused retest may use a repaired or explicitly revised opponent setup, and must link that repair or decision rather than silently replacing the original observations. The stream-limit mismatch and the non-serializable team-message mismatch remain separate bridge investigations under M-006. +## Follow-up evidence from the next official checkpoint + +The second official melee checkpoint completed on 2026-09-28 with 25 observations: 20 error discrepancies, 4 outcome discrepancies, and 1 pass. Classic again reported opponent-origin ArrayIndexOutOfBoundsException signatures from amk.ChumbaMini.saveData and amk.guns.Aristocles.prepare in 24 observations; both jars are in the pinned opponent pool. The 25 subjects were tagged with the existing melee-opponent-pool-contamination diagnosis. + +The stream-limit gap described above referred to the source snapshot examined on 2026-09-10. The bridge now enforces the five-open-stream limit in RobotData; the newer observations were produced with that implementation. The opponent-origin exceptions and the three measured-subject exceptions remain separate findings. + +Three outcome discrepancies carried Tank-Royale-only exceptions from measured-subject methods: cb.fire.Firestarter, cf.RiO.RiOxM_OP, and darkcanuck.B26354. Those remain separate cases for focused diagnosis. + +The fourth outcome discrepancy was com.syncleus.robocode.Dreadnaught. Its first Tank Royale run produced no result and recorded 8,139 seconds against the 600-second per-side timeout. Source review found that the fail-fast watcher ran synchronously inside the timeout loop and Windows taskkill had no timeout. Both paths are now bounded and covered by regression tests. The timeout did not reproduce: a same-setup official retest completed in 36.1 seconds and returned to the opponent-error discrepancy pattern. The original elapsed-time record remains in the append-only registry; that run did not capture which blocking step caused the overrun. + +## Focused retests after timeout supervision repair + +The repair-linked official Dreadnaught retest completed all 35 rounds in 60.6 seconds on Tank Royale, below the 600-second per-side timeout. Its observation (`e60cf1d52f296445`) remains `DISCREPANCY (errors)` because the fixed pool still produces the opponent-origin `SecurityException` and `ArrayIndexOutOfBoundsException`. The registry links this retest to cause `harness-timeout-overrun` and repair commit `4d0fa88`; the earlier 36.1-second observation is unchanged and remains unlinked. + +The three subject-only exceptions were retaken under the same official 35-round, 1000-by-1000, ten-participant setup and exact nine-opponent pool. Firestarter again threw a `NullPointerException` in its obfuscated `C.I.I` callback (`0b2c1f3d52ecd23f`); RiOx again threw `ArrayIndexOutOfBoundsException: Index 9 out of bounds for length 9` at `cf.OPs.RiOxM_OP.onScannedRobot` (`491778d42b27fa0a`); and B26354 again threw `NullPointerException` from `darkcanuck.m.a` (`b336f45184cf831d`). The classic runs contained the known opponent-pool errors, not these subject signatures. Tank Royale fail-fast stopped each run at the first subject-only exception, so these observations prove reproducibility rather than full-battle score parity. + +The RiOx bytecode shows a nine-entry enemy array sized from `getOthers()`. A trace-enabled diagnostic rerun captured the first Tank Royale failure at turn 239: before then, RiOx had scanned all nine opponent IDs (`1, 2, 3, 4, 6, 7, 8, 9, 10`). At turn 239 it received `RobotDeathEvent(victim=3)`, followed by `ScannedRobotEvent(target=3)` with `others=8`; the array exception followed that scan callback. The target ID and exposed name remained `3`, so the captured failure does not indicate a tenth distinct identity. It shows a scan for the just-declared-dead target after the death callback, which re-enters RiOx's new-target path after its death handler removed that record. This identifies the immediate trigger, but does not establish that the bridge violates classic behavior: classic and Tank Royale both prioritize robot-death events above scan events for events with the same time/turn, and the official classic run had no RiOx callback exception. A controlled comparison of this exact death/scan sequence is still needed before changing bridge behavior. The diagnostic build changed only a detached scratch worktree and is not a registry observation. No rumble jar was changed. + +The first focused Firestarter retake recorded uncertain process-tree cleanup after its fail-fast stop. A second retake reproduced the same bot exception with cleanup confirmed. The harness now records taskkill's timeout or error text when Windows cleanup cannot be confirmed, and its timeout supervision tests pass. + +## Fermat file-stream leak investigation + +Three focused official 35-round Roborumble replays of `roborumble/ak.Fermat_2.0.jar` produced both outcomes: the replay with round-end stream cleanup completed without stream errors (`a00859152f1287d2`), while two replays without cleanup hit the five-stream exception (`7b65988ff7e71a41`, 2 errors; `49b5fb75c478cf4b`, 7 errors). Classic completed without errors in each replay. These runs used the matched local Tank Royale 1.4.0 Bot API and runner. + +Trace output shows the active set growing from repeated opens of `Fermat.data/*.txt` files. Fermat's `DataWriter.run()` opens a stream, writes a copied statistics list, and closes the stream only on the successful path; its broad `catch (Exception)` prints only `Could not write Data` and does not close the current stream. The exact exception caught by that legacy worker is therefore unavailable. Its leaked streams remain registered until Fermat's later `writeOneOnOneData()` reaches the five-stream limit. + +The bridge closes still-registered output streams at the start of the next round, after Tank Royale's internal round-ended handler has stopped and joined the previous main bot thread. This contains streams abandoned by legacy helper threads so they cannot accumulate into a later round's quota, while avoiding a close race with the finishing robot callback. The five-stream limit remains enforced within each round. + +Three repair-linked 35-round official retests (`d5d2e35d49eabd9a`, `11ec421d416c630c`, and `ff31ace0ad193807`, all linked to repair `796a170`) completed with zero errors on both engines. A further retest after moving cleanup until the previous main bot thread has stopped (`dcb3bec37ae6637b`, repair `792ae19`) also completed all 35 rounds with zero errors on both engines and `PASS` at -11.4%. The earlier score-review deltas were -43.2%, -41.2%, and -32.6%; the updated retest is within the 25% review threshold. Skipped-turn telemetry was not captured. + +## Colossus2 scan-name identity + +The official Roborumble observation for `apc.Colossus2_0.12.jar` had 180 Tank Royale `ArrayIndexOutOfBoundsException`s from `onScannedRobot`, while classic reported none (`aafa949ac07b6f62`). Bytecode inspection shows the callback compares `ScannedRobotEvent.getName()` to its 20 saved names using reference equality (`if_acmpne`). It appends each name it does not recognize to a 20-slot array, so repeated scans must carry the same `String` object for the same target. + +Classic constructs scans with `RobotPeer.getNameForEvent(otherRobot)`, which returns the target's stable name held by `RobotStatics`. The bridge previously created `String.valueOf(scannedBotId)` for every event, producing a new object on each scan and causing Colossus2 to treat a known target as new. The mapper now resolves the classic name through Tank Royale's name map and interns the result; older Bot APIs without that map use an interned numeric fallback. Unit tests assert the mapped value and stable reference for both paths. + +The repair-linked official 35-round retest (`9c81fee190364e22`, repair `255fcb3`) completed with zero errors on both engines and `PASS` status. Classic scored 11,561 and Tank Royale 10,070, a -12.9% delta within the registry's 25% threshold. The observation contains no turn-by-turn skipped-turn data, so it does not establish whether either engine skipped turns. + +## Gir file-quota accounting + +The official Roborumble observation for `ag.Gir_0.99.jar` completed on classic with no errors, while Tank Royale recorded 18 errors (`e3c870e44a2cc066`). Its log shows failed writes at the 200,000-byte quota followed by truncated `*_move.fct` and `*_robotstats.stt` files; Gir then reports EOF while loading movement factors and throws `ArrayIndexOutOfBoundsException` in `ag.movement.Movement.readMoveFactors`. + +Classic's `ThreadManager.createRobotFileStream()` subtracts an existing file's length from quota usage before opening it for replacement (`append == false`), and checks the current quota before creating a new file. The bridge counted every write but never credited the old length of an overwritten file. Gir rewrites learned data files repeatedly, so its quota usage grew with historical bytes written instead of current file sizes. The bridge now performs classic's quota adjustment before opening the stream. + +The FIO-003 two-engine regression rewrites the same 100,000-byte file twice and passes on classic and Tank Royale using the matched local bridge and Tank Royale 1.4.0 Bot API/runner. The first repair-linked official retest (`d61ab1a5cabc06c8`, repair `3878254`) removed the quota errors but remained `DISCREPANCY (outcome)` with 12 Tank Royale errors. Its first error was `IOException: Stream Closed` while writing `1_gun.net`, followed by EOF reads and null-network errors. + +The second diagnosis, `round-end-stream-close-race`, identifies the remaining trigger. Tank Royale publishes the bridge's `RoundEnded` callback before its internal handler stops and joins the previous bot thread; the bridge closed open streams inside that earlier callback. Cleanup now runs on the next `RoundStarted`, after the previous main bot thread has stopped. The repair-linked official 35-round retest (`a6c8859641c3bbaf`, repair `792ae19`) completed with zero errors on both engines and `PASS` at +18.8%. Skipped-turn telemetry was not captured. + +## Initial status ordering found in the melee retests + +The 16 official melee retests linked to `robot-file-stream-limit` completed with the repaired stream lifecycle. Fourteen had zero Tank Royale errors. In 13 of those cases, classic logs show exceptions from `amk.ChumbaMini.saveData` and/or `amk.guns.Aristocles.prepare` in the pinned opponent pool. The remaining zero-Tank-error case measures `amk.ChumbaMini_0.2.jar` itself, so its `saveData` exception is subject-origin and must remain separate from opponent contamination. The two other subjects had Tank-Royale-only errors: MiniSurreptitious threw `NullPointerException` in `move()` while reading `status.location`, and Fermat threw `ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 50` in `ak.RobotBody.getDirection`. + +Classic's `BasicRobotProxy.initializeRound()` queues a start `StatusEvent`, and `HostingRobotProxy.run()` dispatches it before calling the robot's `run()`. The bridge waited for Tank Royale's first tick but then called the legacy `run()` before the queued tick reached `BotImpl.onTick()`. MiniSurreptitious initializes `status.location` only in `onStatus()`, so its first call to `move()` read null. The bridge now synthesizes the equivalent time-zero status from the first tick and dispatches it before `run()`, hides the consumed turn-one tick from `getAllEvents()`, and suppresses its later duplicate callback. The new two-engine `EVT-005` probe verifies one initial callback before `run()`, no pending initial status, matching time-zero clocks, and one subsequent status after the first `execute()`. + +Repair-linked official retests after `8e50c0b` completed all 35 rounds for MiniSurreptitious (`dc8e698cbe4541f8`) and Fermat (`dd82d6b34b151588`) with zero Tank Royale errors and score deltas of -2.1% and -1.6%. Both remain `DISCREPANCY (errors)` because the classic-side opponent errors remain in those runs; neither observation is a clean parity pass. Fermat's earlier method-level exception did not recur in two post-repair runs, but the precise code path that produced its negative index has not been isolated independently. The registry reports `skipped: null` for these runs, meaning turn-level skip telemetry was not captured and no zero-skip claim follows. + ## Rejected interpretations The analysis rejects treating every classic-only error in these melee runs as a defect in the measured subject, treating the pinned pool's prior roborumble `PASS` results as proof that its jars are clean in melee, and modifying the rumble jars to make the comparison complete. diff --git a/docs/architecture/ARCH-001-bridge-runtime-topology.md b/docs/architecture/ARCH-001-bridge-runtime-topology.md index 42ae990..ebd72ec 100644 --- a/docs/architecture/ARCH-001-bridge-runtime-topology.md +++ b/docs/architecture/ARCH-001-bridge-runtime-topology.md @@ -59,4 +59,4 @@ This is the joint most likely to break silently, because a mismatch produces idl The wrapper's generation step. Bot directories are generated ahead of time and then executed by a booter that knows nothing about Robocode, which is what allows unmodified robots to run under an engine that has never heard of them. Replacing generation with a runtime shim would remove a build step and give up that separation — every Tank Royale component downstream of the boot script would need to learn something about legacy robots. -Team support (`CAP-006`) is the first real test of this shape. A team jar is several robots plus a `.team` descriptor, so the wrapper's one-jar-to-one-bot-directory assumption had to give: it now also emits a team boot-entry directory alongside each member's, naming them for the Tank Royale booter's own team-grouping mechanism. +Team support (`CAP-006`) is the first real test of this shape. A team jar is several robots plus a `.team` descriptor, and classic archives can package those member robots in nested jars, so the wrapper's one-jar-to-one-bot-directory assumption had to give: it stages each nested member jar and emits a team boot-entry directory alongside each member's, naming them for the Tank Royale booter's own team-grouping mechanism. diff --git a/docs/capabilities/CAP-001-event-dispatch-parity/criteria.md b/docs/capabilities/CAP-001-event-dispatch-parity/criteria.md index 507c878..5f3d566 100644 --- a/docs/capabilities/CAP-001-event-dispatch-parity/criteria.md +++ b/docs/capabilities/CAP-001-event-dispatch-parity/criteria.md @@ -58,7 +58,7 @@ Feature: Event dispatch and timing parity Given a robot that records the turn number at each handler entry When the same battle runs on both engines Then each handler is entered at the same point in the turn on both engines - # Proven by TurnBoundaryConformanceTest with the bridge-owned TurnBoundaryProbe: each engine records matching event, status-snapshot, and peer turn clocks across multiple turns. The two tests once tagged EVT-005 proved round/battle completion instead and are now EVT-011; see G-002. Plan door: M-001. + # Proven by TurnBoundaryConformanceTest with the bridge-owned TurnBoundaryProbe across multiple turns, and InitialStatusConformanceTest with InitialStatusProbe for the initial time-zero status before run() and no duplicate from the queued first tick. The two tests once tagged EVT-005 proved round/battle completion instead and are now EVT-011; see G-002. Plan door: M-001. @EVT-006 Scenario: Custom events fire and can be removed diff --git a/docs/capabilities/CAP-006-team-robot-support/README.md b/docs/capabilities/CAP-006-team-robot-support/README.md index 5a4faab..e5c66ed 100644 --- a/docs/capabilities/CAP-006-team-robot-support/README.md +++ b/docs/capabilities/CAP-006-team-robot-support/README.md @@ -13,7 +13,7 @@ reversal-cost: high Robocode's team division runs teams rather than individual robots: a `.team` descriptor naming several robots that start together, message each other, and win or lose as a unit. Droids are part of the same feature — robots with no radar that depend entirely on teammates for targeting. -The wrapper produces a runnable Tank Royale bot directory per team member and a team boot entry the Tank Royale booter reads to group them, and `BotPeer` gives a droid team member the `Bot` subclass Tank Royale's droid detection actually keys on. The compatibility harness now stages the grouped entry on both engines, and the team division is no longer recorded as skipped. +The wrapper produces a runnable Tank Royale bot directory per team member and a team boot entry the Tank Royale booter reads to group them, and `BotPeer` gives a droid team member the `Bot` subclass Tank Royale's droid detection actually keys on. Generated bot metadata carries each member's full class name, which Tank Royale uses with its battle-wide name map to restore classic team identities. The compatibility harness stages the grouped entry on both engines, and the team division is no longer recorded as skipped. ## Why it exists as its own capability @@ -23,7 +23,7 @@ That makes it lower-risk than the score gaps and higher-effort than any of them, ## What it covers -The wrapper producing runnable Tank Royale bot directories from a team jar, grouped team staging on both engines, teammate messaging and directed-recipient isolation, and droid semantics — a robot that receives no scan events of its own and acts on what its teammates tell it. The bridge keeps Tank Royale's numeric sender and teammate-id representation because the protocol exposes no classic robot-name mapping; `ADR-002` records that boundary. +The wrapper producing runnable Tank Royale bot directories from a team jar, grouped team staging on both engines, teammate messaging and directed-recipient isolation, classic name identity through the frozen team API, and droid semantics — a robot that receives no scan events of its own and acts on what its teammates tell it. `ADR-002` keeps Tank Royale's native team model underneath and uses its authoritative name map for the classic API. ## What it does not cover @@ -37,4 +37,4 @@ The interesting question was where a team becomes several Tank Royale bots. `AN- ## Status -`draft`. `CH-011` adds team-aware staging and purpose-written two-engine evidence. `TEAM-001` and `TEAM-003` are active with passing integration evidence; `TEAM-002` remains `@draft` because the bridge can prove message delivery and directed-recipient isolation, but not literal classic sender names across the two engines under the protocol boundary recorded in `ADR-002`. `M-005` is complete; the full team collection remains available for the later `M-006` sweep. +`draft`. `CH-011` adds team-aware staging and purpose-written two-engine evidence. `TEAM-001`, `TEAM-002`, and `TEAM-003` have passing integration evidence, including name-map conformance with the matched local Tank Royale 1.4.0 Bot API and runner. The bridge's default dependency is still Bot API 1.2.0, which retains the numeric-ID fallback; make the capability active when the supported default pair includes the name map. `M-005` is complete; the full team collection remains available for the later `M-006` sweep. diff --git a/docs/capabilities/CAP-006-team-robot-support/criteria.md b/docs/capabilities/CAP-006-team-robot-support/criteria.md index e15ef9c..e2388ff 100644 --- a/docs/capabilities/CAP-006-team-robot-support/criteria.md +++ b/docs/capabilities/CAP-006-team-robot-support/criteria.md @@ -11,7 +11,7 @@ reversal-cost: high # CAP-006 — acceptance criteria -`TEAM-001` and `TEAM-003` are active against `M-005` with integration evidence. `TEAM-002` remains `@draft`: the focused evidence proves delivery and directed-recipient isolation, but the two engines expose different sender identities and the protocol provides no classic name mapping (`ADR-002`). +`TEAM-001`, `TEAM-002`, and `TEAM-003` are active against `M-005` with two-engine integration evidence. Name-map conformance uses the matched local Tank Royale 1.4.0 Bot API and runner. ```gherkin Feature: Team robot support @@ -27,17 +27,18 @@ Feature: Team robot support # TeamSupportConformanceTest.testTEAM001_IntegrationNegative_TeamEntryDoesNotCollapseMembers. # Plan door: M-005. - @TEAM-002 @draft + @TEAM-002 Scenario: A message sent to teammates arrives as classic delivers it Test-type: Integration - Given a team whose members exchange messages + Given a team whose members exchange messages by classic name When the same battle runs on classic Robocode and on Tank Royale through the bridge Then each member reports receiving the same messages from the same senders And a message addressed to one teammate does not reach the others - # Evidence: TeamSupportConformanceTest.testTEAM002_IntegrationPositive_TeammateMessagesReachIntendedMembers and - # TeamSupportConformanceTest.testTEAM002_IntegrationNegative_DirectedMessageIsNotBroadcast prove delivery, - # sender presence, and recipient isolation. Literal same-name sender parity remains unproven because the - # Tank Royale protocol exposes numeric ids; see ADR-002. Plan door: M-005. + And getName(), getTeammates(), isTeammate(), and MessageEvent.getSender() expose classic names + # Evidence: TeamSupportConformanceTest.testTEAM002_IntegrationPositive_TeammateMessagesReachIntendedMembers, + # testTEAM002_IntegrationPositive_ExposesClassicNamesAndResolvesThem, and + # testTEAM002_IntegrationNegative_DirectedMessageIsNotBroadcast prove delivery, full names including + # duplicate suffixes, name resolution, sender identity, and recipient isolation. Plan door: M-005. @TEAM-003 Scenario: A droid relies on its teammates rather than on its own radar diff --git a/docs/capabilities/CAP-006-team-robot-support/design.md b/docs/capabilities/CAP-006-team-robot-support/design.md index 849e3c4..245262d 100644 --- a/docs/capabilities/CAP-006-team-robot-support/design.md +++ b/docs/capabilities/CAP-006-team-robot-support/design.md @@ -9,11 +9,11 @@ provenance: verified # CAP-006 — design -`status: active`: the mapping decision is implemented and the team division now runs through both engines. `TEAM-002` remains draft because literal classic sender-name parity is not observable through the Tank Royale protocol; the delivery and recipient-isolation behavior is still exercised by the focused probe. +Team behavior runs through both engines, including classic-name parity when paired with the Tank Royale Bot API and runner that carry the name map. `TEAM-002` is active with two-engine evidence; the overall capability remains draft until the supported default Bot API version includes the map. ## What exists -`robots-wrapper`'s `Main.java` reads a jar's `.team` descriptor (`team.members=`, comma-separated, duplicates allowed) alongside its `.properties` entries, and emits a team boot-entry directory whose `.json` carries `teamMembers`, naming each member's independent bot directory once per occurrence — the shape the Tank Royale booter's own `BootEntry`/`BotBooter` reads to group processes into a team and assign them `TEAM_ID`/`TEAM_NAME`/`TEAM_VERSION` at launch. Repeated occurrences are copied under unique generated names so the booter never starts two processes against one script or log file. `BotPeer.createBotImpl` constructs a `Bot` subclass that also implements Tank Royale's `Droid` marker when the wrapped robot implements `robocode.Droid`, since Tank Royale's own droid detection (`WebSocketHandler`) keys on that marker rather than any bot-info field. +`robots-wrapper`'s `Main.java` reads a jar's `.team` descriptor (`team.members=`, comma-separated, duplicates allowed) alongside its `.properties` entries. When a classic team archive stores member robots in nested jars, the wrapper stages each member jar beside the generated bot directories before resolving its properties. It emits a team boot-entry directory whose `.json` carries `teamMembers`, naming each member's independent bot directory once per occurrence — the shape the Tank Royale booter's own `BootEntry`/`BotBooter` reads to group processes into a team and assign them `TEAM_ID`/`TEAM_NAME`/`TEAM_VERSION` at launch. Repeated occurrences are copied under unique generated names so the booter never starts two processes against one script or log file. `BotPeer.createBotImpl` constructs a `Bot` subclass that also implements Tank Royale's `Droid` marker when the wrapped robot implements `robocode.Droid`, since Tank Royale's own droid detection (`WebSocketHandler`) keys on that marker rather than any bot-info field. `compat-test` marks `teamrumble` as a grouped division. Classic receives the selected team jar through its normal repository expansion. Tank Royale receives one generated team entry per team instance; the harness duplicates each member directory under an independent name, rewrites the copied entry's `teamMembers`, patches every member boot script, and raises the runner's participant ceiling to the expanded member count. Log collection expands the team entry back to its member directories so errors and console evidence remain attributable to individual processes. @@ -23,13 +23,13 @@ provenance: verified A Robocode team is several robots that start together, address each other by name, and are scored as a unit. `AN-013` checked how closely Tank Royale's own team concept corresponds: membership, droid semantics (`+20` energy, no scanner — identical wording to classic's own `Droid.java`), messaging, and team-level scoring are all server-owned in both engines, the same shape at every point checked. `ADR-002` records the resulting choice: map onto Tank Royale's native team model (one Tank Royale bot process per member, grouped by the booter) rather than reconstructing team semantics above individual bots. -One difference survives the mapping and does not need reconstruction to handle: classic addresses teammates by name, Tank Royale by a per-battle numeric bot id, and no channel in the wire protocol ever reveals a real classic name to running robot code (confirmed while investigating `CH-010`'s `TEAM-002` groundwork — even a scanned bot's own event carries no name field). This bridge already reports every scanned robot's name as its stringified Tank Royale id everywhere else, so team messaging keeps that same numeric-id addressing (`ROUTE-009`) rather than inventing a team-specific exception the protocol cannot support. +Classic team methods address robots by name, while Tank Royale routes by numeric bot IDs. `ADR-002` requires the bridge to restore full classic names, optional versions, and duplicate-instance suffixes without replacing Tank Royale's native team grouping. The wrapper supplies the member class name in `teamMemberName`; Tank Royale's server supplies the battle-wide mapping through the Bot API, including the duplicate suffix. The bridge uses it for its own name, teammate names, name-based checks and directed sends, and message-event senders. ## What is already known to be in the way Droids are the sharpest fidelity requirement here. A droid has no radar and receives no scan events, and getting that wrong makes the robot *better*: it gains information it should not have, wins more, and produces a battle in which nothing looks wrong. `TEAM-003` checks the negative scan case and the positive teammate-information case on both engines. -Classic name-based teammate addressing remains the known fidelity boundary. The bridge follows `ADR-002` and passes Tank Royale's numeric teammate ids through the frozen string-based methods; a future protocol-supported name mapping would need a separate change and evidence decision. +The bridge discovers the newer `getBotName(int)` API reflectively so it remains source-compatible with the older default dependency. When that method is absent, the bridge retains its numeric-ID fallback. Full name parity therefore requires a Bot API and runner built from the Tank Royale change that adds the authoritative map; `TEAM-002` was verified against that matched local 1.4.0 pair. ## Evidence plan diff --git a/docs/capabilities/CAP-007-compatibility-harness/design.md b/docs/capabilities/CAP-007-compatibility-harness/design.md index 45f0601..55322a4 100644 --- a/docs/capabilities/CAP-007-compatibility-harness/design.md +++ b/docs/capabilities/CAP-007-compatibility-harness/design.md @@ -30,7 +30,7 @@ Compare: scores as the sum of all staged participants' totals, errors as normali ## Durable parity registry -`compat-test/parity-registry.json` is append-only per subject. An observation carries the official setup, source jar digest, selected classic identity, team classification, both engine outcomes, normalized errors, and the bridge, Tank Royale, Bot API, wrapper, and runner fingerprints that produced it. `parity-registry.md` is generated from that JSON and is the review table for every subject. +`compat-test/parity-registry.json` is append-only per subject. An observation carries the official setup, source jar digest, selected classic identity, team classification, both engine outcomes, normalized errors, and the classic Robocode version plus bridge, Tank Royale, Bot API, wrapper, and runner fingerprints that produced it. The harness refuses to create LiteRumble evidence when the classic version is unknown or outside LiteRumble's allowed client list. `parity-registry.md` is generated from that JSON and is the review table for every subject. The harness imports an interrupted checkpoint with `--sync-registry`, runs new first-pass work in bounded `--limit` batches, and selects retests with `--retry-unresolved` or `--retest-cause`. Matched subjects stay recorded and are not selected after an unrelated repair. diff --git a/docs/capabilities/README.md b/docs/capabilities/README.md index 6a54e35..5c850fe 100644 --- a/docs/capabilities/README.md +++ b/docs/capabilities/README.md @@ -16,7 +16,7 @@ A whole capability whose extracted criteria are not ready may stay `status: draf - [CAP-003 — Robocode API surface fidelity](CAP-003-robocode-api-surface-fidelity/README.md) · `active` — The adapter's value conversions are correct; the only capability with machine evidence. - [CAP-004 — Robot file I/O sandboxing](CAP-004-robot-file-io-sandboxing/README.md) · `active` — Robot writes reached through `getDataFile`/`getDataDirectory` are confined to the robot's data directory, as classic confines them; the raw-`java.io` case remains agent-held (`IDR-007`). - [CAP-005 — Score parity across the rumble collections](CAP-005-score-parity/README.md) · `draft` — The end-to-end claim, and the only thing that exercises the parts of the surface nobody modelled. -- [CAP-006 — Team robot support](CAP-006-team-robot-support/README.md) · `draft` — Grouped team staging, teammate messaging, and droid behavior; literal sender-name parity remains draft. +- [CAP-006 — Team robot support](CAP-006-team-robot-support/README.md) · `draft` — Grouped team staging and messaging pass with the name-map API; the default Bot API version still uses numeric-ID fallback. - [CAP-007 — The compatibility harness](CAP-007-compatibility-harness/README.md) · `draft` — The instrument itself, which has been wrong in ways mistaken for the bridge being wrong. - [CAP-008-call-routing-fidelity/](CAP-008-call-routing-fidelity/README.md) diff --git a/docs/decisions/ADR-002-map-teams-onto-tank-royales-native-team-model.md b/docs/decisions/ADR-002-map-teams-onto-tank-royales-native-team-model.md index b3b360b..62a2480 100644 --- a/docs/decisions/ADR-002-map-teams-onto-tank-royales-native-team-model.md +++ b/docs/decisions/ADR-002-map-teams-onto-tank-royales-native-team-model.md @@ -1,37 +1,33 @@ --- id: ADR-002 type: decision -status: inferred +status: verified author: agent -accepted-by: [] +accepted-by: [Flemming N. Larsen] links: [CAP-006, ARCH-001, AN-013] -title: Map team robots onto Tank Royale's native team model rather than reconstructing team semantics +title: Preserve Tank Royale team grouping and expose classic team names --- -# ADR-002 — Map team robots onto Tank Royale's native team model rather than reconstructing team semantics +# ADR-002 — Preserve Tank Royale team grouping and expose classic team names ## Decision -The bridge maps a classic team onto Tank Royale's own team concept: each team member becomes its own Tank Royale bot process, grouped by the Tank Royale booter's own team mechanism (a `teamMembers` field on a boot entry, resolved to sibling directories and assigned a shared team id at launch), and membership, droid gating (no scanner, +20 energy), team messaging, and team-level scoring are all left to the server. The bridge does not reimplement any of that. +The bridge continues to map classic teams onto Tank Royale's native team model: one bot process per member, grouped by the booter, with membership, droid behavior, messaging transport, and team scoring owned by the server. -Team messaging keeps Tank Royale's own numeric bot-id addressing rather than translating it to classic's name-based addressing: no channel in the Bot API's wire protocol ever reveals a real classic name to running robot code (not even a scanned bot's own event), and this bridge already reports every scanned robot's name as its stringified Tank Royale id everywhere else, so team messaging is consistent with that rather than a special-cased exception. +The frozen `robocode.*` team API exposes classic names, not Tank Royale numeric IDs. `getName()`, `getTeammates()`, `isTeammate()`, `sendMessage()`, and `MessageEvent.getSender()` therefore use the classic full robot name, optional version, and the classic ` (n)` suffix when names repeat in the battle. Numeric IDs remain internal transport identifiers. ## Context -`CAP-006`'s design was deliberately left thin on this point: whether Tank Royale's team model corresponds closely enough to classic's to translate onto directly, or whether the bridge needed a second implementation of team semantics above individual bots, had not been checked. +`AN-013` checked whether Tank Royale's team model corresponds closely enough to classic's to translate onto directly, or whether the bridge needed a second implementation of team semantics above individual bots. Tank Royale's Bot API carries the same shape at every point classic does: per-bot team id and name sent at handshake, server-mediated team membership and messaging, a `Droid` marker with the identical "+20 energy, no scanner" contract classic's own `Droid.java` states, and server-side results that already distinguish team-level from bot-level scoring (`ResultsForObserver.isTeam`). -`AN-013` checked it. Tank Royale's Bot API carries the same shape at every point classic does: per-bot team id and name sent at handshake, server-mediated `getTeammateIds`/`isTeammate`/`broadcastTeamMessage`/`sendTeamMessage`, a `Droid` marker with the identical "+20 energy, no scanner" contract classic's own `Droid.java` states, and server-side results that already distinguish team-level from bot-level scoring (`ResultsForObserver.isTeam`). +Flemming N. Larsen explicitly chose classic-name restoration on 2026-09-27 while resolving CH-017 OQ-008-1. Merged [Tank Royale PR 277](https://github.com/robocode-dev/tank-royale/pull/277) adds the full team-member name to bot metadata and sends each bot its own name and teammate names at game start. The server assigns duplicate suffixes across the battle, so the bridge can use authoritative names instead of deriving suffixes from a team-local view. ## Why this way -This is the same reasoning `IDR-001` already applied to event dispatch: when the engine already owns a piece of game semantics, the bridge translates rather than reimplements, because a second implementation is more code and depends on the two engines' models agreeing forever, not just now. `AN-013` found no gap between the two models large enough to justify paying that cost here. - -Numeric-id team addressing is not a gap left unclosed by choice; it is the only option the wire protocol supports. Classic's name-based addressing works because the battle holds a static, name-keyed registry of every robot before round one. Tank Royale gives a connected bot no equivalent — not `getTeammateIds()` (ids only), not `ScannedBotEvent` (no name field at all) — so a droid, which by definition never scans, has no way to learn a teammate's classic name from the protocol at all. Building a name-to-id table would only work for the subset of teammates a bot has scanned or already heard from, which is a narrower and more surprising contract than simply keeping the numeric-id addressing this bridge already uses for every other identity surface. +The bridge should translate the server-owned team model rather than create a parallel implementation. Name restoration changes only the frozen API's identity view; it does not replace server-owned membership or message routing. ## Consequences -`robots-wrapper` gained a second production path: a team jar's `.team` descriptor drives production of one bot directory per member plus a team boot-entry directory naming them, rather than one bot directory per jar. `ARCH-001` already named this as the thing that had to give; this decision fixes how. - -A real, ported team robot that hardcodes a teammate's classic name in `sendMessage("sample.MyFirstDroid", ...)` will not resolve that name under the bridge — it receives numeric ids from `getTeammates()` instead, and must address by those. This is a known, named fidelity gap rather than a silent one, carried by `TEAM-002`'s evidence rather than worked around here. +`robots-wrapper` gained a second production path: a team jar's `.team` descriptor drives production of one bot directory per member plus a team boot-entry directory naming them, rather than one bot directory per jar. Each generated bot metadata file also carries the full Java class name as `teamMemberName`, which lets the Tank Royale server build the classic identity map. -If a future Tank Royale release adds a way to learn another bot's declared name (not just its id), that is new evidence against the addressing half of this decision — it gets its own analysis and, if it changes this decision, a revision to this record. +The bridge maps Tank Royale IDs to those authoritative names for `getName()`, `getTeammates()`, `isTeammate()`, directed `sendMessage()`, and `MessageEvent.getSender()`. The name-map API is optional at runtime so the bridge can still compile and run with earlier Bot API versions; those versions retain the prior numeric-ID fallback. The full-name behavior is verified with the matched local Tank Royale 1.4.0 Bot API and runner, including battle-wide duplicate suffixes and directed-recipient isolation (`TEAM-002`). diff --git a/docs/decisions/README.md b/docs/decisions/README.md index 05b0c81..ace3b81 100644 --- a/docs/decisions/README.md +++ b/docs/decisions/README.md @@ -31,8 +31,8 @@ A decision that changes a methodology contract inventories every live carrier th - [IDR-005 — EVT-001's priority-order claim is retired; the filter boundary is measured directly](IDR-005-evt-001-scoped-to-classic-filter-behavior.md) · `inferred` — `EVT-001` retires and `EVT-015` measures the observable filter behavior. - [IDR-006 — Report legacy handler exceptions at the bridge callback boundary](IDR-006-report-legacy-handler-exceptions-at-the-bridge-boundary.md) · `inferred` — `BotPeer` invokes every legacy robot event callback inside a bridge-owned boundary. - [IDR-007 — FIO-004 stays @draft; classic's own evidence for it depends on a SecurityManager this bridge cannot have](IDR-007-fio-004-stays-draft-no-securitymanager.md) · `inferred` — `CH-009` closes `FIO-001`, `FIO-002`, and `FIO-003` but leaves `FIO-004` `@draft`. -- [ADR-002 — Map team robots onto Tank Royale's native team model rather than reconstructing team semantics](ADR-002-map-teams-onto-tank-royales-native-team-model.md) · `inferred` — The bridge maps a classic team onto Tank Royale's own team concept: each team member becomes its own Tank Royale bot process, grouped by the Tank Royale booter's own team mechanism (a `teamMembers`… +- [ADR-002 — Preserve Tank Royale team grouping and expose classic team names](ADR-002-map-teams-onto-tank-royales-native-team-model.md) · `verified` — Keep server-owned team semantics while exposing classic name identity through the frozen team API. - [IDR-008 — Preserve arbitrary classic Serializable team messages through a bridge envelope](IDR-008-preserve-serializable-team-messages.md) · `inferred` — Non-primitive legacy team messages use a bridge-owned Java-serialization envelope because Tank Royale's JSON serializer cannot reflect into every classic message type. - [PDR-003 — Treat every rumble subject as a versioned parity case against classic Robocode](PDR-003-versioned-parity-registry.md) · `inferred` — The compatibility harness keeps an append-only, tracked parity registry for every robot jar and team. -- [PDR-004 — Measure melee subjects against a pinned fixed opponent pool](PDR-004-fixed-melee-opponent-pool.md) · `inferred` — Official melee evidence uses a tracked twelve-jar pool and nine selected opponents per subject. +- [PDR-004 — Measure melee subjects against a pinned fixed opponent pool](PDR-004-fixed-melee-opponent-pool.md) · `verified` — Official melee evidence uses a tracked twelve-jar pool and nine selected opponents per subject. diff --git a/docs/plans/P-001-bridge-parity-campaign.md b/docs/plans/P-001-bridge-parity-campaign.md index 333139d..2c9024f 100644 --- a/docs/plans/P-001-bridge-parity-campaign.md +++ b/docs/plans/P-001-bridge-parity-campaign.md @@ -69,7 +69,7 @@ They are bookkeeping rather than a second plan. A door closes when its criterion | M-127 | `SCORE-005` | `SCORE-005` is active, with evidence attributable to it. Work lands under M-003. | todo | | M-128 | `SCORE-006` | `SCORE-006` is active, with evidence attributable to it. Work lands under M-006. | todo | | M-129 | `TEAM-001` | `TEAM-001` is active, with evidence attributable to it. Work lands under M-005. | done | -| M-130 | `TEAM-002` | `TEAM-002` is active, with evidence attributable to it. Work lands under M-005. | todo | +| M-130 | `TEAM-002` | `TEAM-002` is active, with evidence attributable to it. Work lands under M-005. | done | | M-131 | `TEAM-003` | `TEAM-003` is active, with evidence attributable to it. Work lands under M-005. | done | | M-132 | `HARN-001` | `HARN-001` is active, with evidence attributable to it. Work lands under M-001. | todo | | M-133 | `HARN-002` | `HARN-002` is active, with evidence attributable to it. Work lands under M-001. | todo | @@ -90,7 +90,7 @@ They are bookkeeping rather than a second plan. A door closes when its criterion `M-004` follows because it is a known, located, unambiguous defect — the bridge does not sandbox robot file I/O at all — rather than an unexplained divergence. It is deferred behind the score gaps only because a robot writing outside its data directory produces loud errors that are already visible, while a robot turning at the wrong rate does not. It closed on the `getDataFile`/`getDataDirectory` redirection and quota rules (`FIO-001`–`FIO-003`); `FIO-004`'s broader raw-`java.io` confinement turned out to depend on a JVM `SecurityManager` classic has and this bridge cannot reproduce, so `M-122` dropped as a closeable door and `FIO-004` stays `@draft` (`IDR-007`). -`M-005` is last of the implementation milestones because it is the only one that is greenfield rather than a repair, and because the team division is the smallest. Its mapping decision is resolved (`AN-013`, `ADR-002`), the wrapper/peer groundwork landed in `CH-010`, and `CH-011` closes the exit criterion by running grouped team entries through both engines. `TEAM-002` remains an evidence door for the protocol's unresolved classic-name versus Tank-Royale-id identity difference; that does not reopen the milestone's narrower runnable-team criterion. +`M-005` is last of the implementation milestones because it is the only one that is greenfield rather than a repair, and because the team division is the smallest. Its mapping decision is resolved (`AN-013`, `ADR-002`), the wrapper/peer groundwork landed in `CH-010`, and `CH-011` closes the runnable-team criterion by running grouped team entries through both engines. `CH-017` closes the remaining `TEAM-002` identity door with the authoritative Tank Royale name map and two-engine evidence; `M-006` remains open for the full parity campaign. `M-006` closes the campaign by keeping a versioned parity case for every collection subject and resolving the cases that differ. It is deliberately not first: sweeping at official parameters before the foundation exists would produce another set of numbers nobody can act on. diff --git a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/AllEventsMapper.java b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/AllEventsMapper.java index 36bd1c4..f8aee90 100644 --- a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/AllEventsMapper.java +++ b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/AllEventsMapper.java @@ -48,7 +48,7 @@ public static List map(List botEvents, IBot bot, RobotStatus ro } else if (botEvent instanceof BotDeathEvent) { event = RobotDeathEventMapper.map((BotDeathEvent) botEvent); } else if (botEvent instanceof TeamMessageEvent) { - event = MessageEventMapper.map((TeamMessageEvent)botEvent); + event = MessageEventMapper.map((TeamMessageEvent)botEvent, bot); } if (event != null) { events.add(event); diff --git a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/BotPeer.java b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/BotPeer.java index 93abf3f..093933e 100644 --- a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/BotPeer.java +++ b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/BotPeer.java @@ -47,6 +47,8 @@ public final class BotPeer implements ITeamRobotPeer, IJuniorRobotPeer { private final Map conditions = new ConcurrentHashMap<>(); private final AtomicReference currentRobotStatus = new AtomicReference<>(); + private volatile boolean initialStatusDispatched; + private volatile boolean initialStatusCallbackActive; private boolean stopThread; private volatile int suppressScansThroughTurn = -1; private boolean hitWallHandlerActive; @@ -132,13 +134,20 @@ private void setupEventPriorities() { @Override public String getName() { log("getName()"); + try { + var name = TankRoyaleBotNameResolver.getName(bot, bot.getMyId()); + if (name != null) return name; + } catch (BotException ignored) { + // Before game setup the Bot API may not yet know this bot's id; classic's local + // robot name is still available and is the correct fallback at that point. + } return RobotName.getName(); } @Override public long getTime() { log("getTime()"); - return bot.getTurnNumber(); + return initialStatusCallbackActive ? 0 : bot.getTurnNumber(); } @Override @@ -273,15 +282,13 @@ public void execute() { bot.go(); } - private void dispatchStatusEvent(BotEvent botEvent) { + private void dispatchStatusEvent(TickEvent tickEvent) { log("-> onStatus"); // Save robot status snapshot for event handlers needing robot status RobotStatus robotStatus = IBotToRobotStatusMapper.map(bot); currentRobotStatus.set(robotStatus); - TickEvent tickEvent = (TickEvent) botEvent; - // Update fired bullets firedBullets.forEach(bulletPeer -> { Optional bulletStateOpt = tickEvent.getBulletStates().stream().filter( @@ -291,9 +298,38 @@ private void dispatchStatusEvent(BotEvent botEvent) { bulletPeer.setPosition(bulletState.getX(), bulletState.getY())); }); - // Fire event + // Classic has already delivered the start status before run(). Tank Royale retains the + // corresponding first TickEvent until execute(), so consume its duplicate callback here. + if (initialStatusDispatched && tickEvent.getTurnNumber() == 1) { + return; + } + + dispatchStatusCallback(robotStatus, false); + } + + private void dispatchInitialStatusEvent() { + if (initialStatusDispatched || bot.getTurnNumber() != 1) { + return; + } + + // The first Tank Royale tick supplies the complete state needed for Classic's start + // StatusEvent. Deliver it before the robot's run() and mark it consumed before invoking + // user code, which may inspect the pending event list or block on execute(). + initialStatusDispatched = true; + RobotStatus robotStatus = IBotToRobotStatusMapper.map(bot, 0); + currentRobotStatus.set(robotStatus); + dispatchStatusCallback(robotStatus, true); + } + + private void dispatchStatusCallback(RobotStatus robotStatus, boolean initial) { var robocodeEvent = StatusEventMapper.map(robotStatus); - dispatchRobotCallback(() -> basicEvents.onStatus(robocodeEvent)); + boolean previousInitialStatusCallback = initialStatusCallbackActive; + initialStatusCallbackActive = initial; + try { + dispatchRobotCallback(() -> basicEvents.onStatus(robocodeEvent)); + } finally { + initialStatusCallbackActive = previousInitialStatusCallback; + } } private void dispatchScannedRobotEvent(BotEvent botEvent) { @@ -491,7 +527,7 @@ private void dispatchMessageEvent(BotEvent botEvent) { if (!(robot instanceof ITeamEvents)) { return; } - var robocodeEvent = MessageEventMapper.map((TeamMessageEvent) botEvent); + var robocodeEvent = MessageEventMapper.map((TeamMessageEvent) botEvent, bot); dispatchRobotCallback(() -> ((ITeamEvents) robot).onMessageReceived(robocodeEvent)); } @@ -815,7 +851,15 @@ public void clearAllEvents() { @Override public List getAllEvents() { log("getAllEvents()"); - return AllEventsMapper.map(bot.getEvents(), bot, currentRobotStatus.get()); + var botEvents = bot.getEvents(); + if (initialStatusDispatched) { + // The start status is already delivered before run(), so it is no longer pending to + // the legacy robot even though Tank Royale keeps its first TickEvent queued. + botEvents = botEvents.stream() + .filter(event -> !(event instanceof TickEvent && event.getTurnNumber() == 1)) + .collect(Collectors.toList()); + } + return AllEventsMapper.map(botEvents, bot, currentRobotStatus.get()); } @Override @@ -938,18 +982,17 @@ public void turnAndMove(double distance, double radians) { public String[] getTeammates() { log("getTeammates()"); var teammates = bot.getTeammateIds(); - return (teammates != null) ? teammates.stream().map(String::valueOf).toArray(String[]::new) : null; + return (teammates != null) + ? teammates.stream().map(id -> TankRoyaleBotNameResolver.getNameOrId(bot, id)).toArray(String[]::new) + : null; } @Override public boolean isTeammate(String name) { log("isTeammate()"); - try { - var id = Integer.parseInt(name); - return bot.isTeammate(id); - } catch (NumberFormatException e) { - return false; - } + var id = parseBotId(name); + if (id == null) id = findTeammateId(name); + return id != null && bot.isTeammate(id); } @Override @@ -961,12 +1004,31 @@ public void broadcastMessage(Serializable message) throws IOException { @Override public void sendMessage(String name, Serializable message) throws IOException { log("sendMessage()"); - try { - var id = Integer.parseInt(name); - bot.sendTeamMessage(id, BridgeTeamMessage.forTransport(message)); - } catch (NumberFormatException ignore) { + var id = parseBotId(name); + if (id == null) id = findTeammateId(name); + if (id == null) { throw new BotException("sendMessage: Cannot find receiver of team message: " + name); } + bot.sendTeamMessage(id, BridgeTeamMessage.forTransport(message)); + } + + private Integer findTeammateId(String name) { + if (name == null) return null; + var teammateIds = bot.getTeammateIds(); + if (teammateIds == null) return null; + return teammateIds.stream() + .filter(id -> name.equals(TankRoyaleBotNameResolver.getNameOrId(bot, id))) + .findFirst() + .orElse(null); + } + + private static Integer parseBotId(String name) { + if (name == null) return null; + try { + return Integer.valueOf(name); + } catch (NumberFormatException ignored) { + return null; + } } @Override @@ -1062,6 +1124,7 @@ public void run() { // Called by the Bot API on a new thread at the start of eac stopThread = false; prepareRobotForRound(); + dispatchInitialStatusEvent(); Runnable runnable = robot.getRobotRunnable(); if (runnable != null) { @@ -1208,6 +1271,11 @@ false, map(gameEndedEvent.getResults(), String.valueOf(getMyId()))) @Override public void onRoundStarted(RoundStartedEvent roundStartedEvent) { // no event handler for `round started` in orig. Robocode + // Tank Royale publishes RoundEnded to bot handlers before its internal handler has + // stopped and joined the previous bot thread. Close any abandoned streams here, + // after that stop has completed and before the next round's bot thread starts. + RobotData.closeOpenStreams(); + initialStatusDispatched = false; suppressScansThroughTurn = -1; firedBullets.clear(); } diff --git a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/IBotToRobotStatusMapper.java b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/IBotToRobotStatusMapper.java index 4c51ed0..86381f7 100644 --- a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/IBotToRobotStatusMapper.java +++ b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/IBotToRobotStatusMapper.java @@ -9,6 +9,10 @@ final class IBotToRobotStatusMapper { public static robocode.RobotStatus map(IBot bot) { + return map(bot, bot.getTurnNumber()); + } + + public static robocode.RobotStatus map(IBot bot, long time) { return new RobotStatus( bot.getEnergy(), bot.getX(), @@ -37,7 +41,7 @@ public static robocode.RobotStatus map(IBot bot) { 0, // numSentries, not supported bot.getRoundNumber() - 1, bot.getNumberOfRounds(), - bot.getTurnNumber() + time ); } -} \ No newline at end of file +} diff --git a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/MessageEventMapper.java b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/MessageEventMapper.java index dbe63fc..76e3d95 100644 --- a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/MessageEventMapper.java +++ b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/MessageEventMapper.java @@ -1,6 +1,7 @@ package dev.robocode.tankroyale.bridge; import dev.robocode.tankroyale.botapi.BotException; +import dev.robocode.tankroyale.botapi.IBot; import dev.robocode.tankroyale.botapi.events.TeamMessageEvent; import robocode.MessageEvent; @@ -8,8 +9,8 @@ final class MessageEventMapper { - public static MessageEvent map(TeamMessageEvent teamMessageEvent) { - var sender = String.valueOf(teamMessageEvent.getSenderId()); + public static MessageEvent map(TeamMessageEvent teamMessageEvent, IBot bot) { + var sender = TankRoyaleBotNameResolver.getNameOrId(bot, teamMessageEvent.getSenderId()); var message = teamMessageEvent.getMessage(); if (message instanceof BridgeTeamMessage) { diff --git a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/RobotData.java b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/RobotData.java index e1875c6..4779563 100644 --- a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/RobotData.java +++ b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/RobotData.java @@ -8,6 +8,13 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.security.AccessControlException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.IdentityHashMap; +import java.util.List; +import java.util.Set; + +import robocode.RobocodeFileOutputStream; /** * Resolves every path a robot names against its data directory, the way classic Robocode's @@ -22,7 +29,8 @@ public final class RobotData { private static final Path dataDirPath; private static long quotaUsed; private static boolean quotaMessagePrinted; - private static int openStreams; + private static final Set openStreams = + Collections.newSetFromMap(new IdentityHashMap<>()); static { dataDirPath = Paths.get("").resolve(RobotName.getName() + ".data"); @@ -32,7 +40,6 @@ public final class RobotData { throw new BotException("Could not create data directory: " + dataDirPath); } quotaUsed = 0; - openStreams = 0; File[] existingFiles = dataDirPath.toFile().listFiles(); if (existingFiles != null) { for (File file : existingFiles) { @@ -82,6 +89,27 @@ public static synchronized long getQuotaUsed() { return quotaUsed; } + /** + * Prepares a stream open using the quota rules in classic's + * {@code ThreadManager.createRobotFileStream}: check the quota before creating a new file, + * and release the old file length before replacing an existing data file. + */ + public static synchronized void prepareFileForWrite(String fileName, boolean append) throws IOException { + File file = new File(fileName); + if (file.exists()) { + if (!append && isDataDirectoryFile(file)) { + quotaUsed -= file.length(); + } + } else { + checkQuota(0); + } + } + + private static boolean isDataDirectoryFile(File file) throws IOException { + File canonicalParent = file.getCanonicalFile().getParentFile(); + return canonicalParent != null && canonicalParent.equals(dataDirPath.toFile().getCanonicalFile()); + } + /** * Charges {@code numBytes} against the data directory's quota, matching classic's * {@code RobotFileSystemManager.checkQuota}: a write that would exceed {@link #MAX_QUOTA} is @@ -104,19 +132,32 @@ public static synchronized void checkQuota(long numBytes) throws IOException { } /** Reserves one of classic's five simultaneously open robot file streams. */ - public static synchronized void registerStream() { - if (openStreams >= MAX_OPEN_STREAMS) { + public static synchronized void registerStream(RobocodeFileOutputStream stream) { + if (openStreams.size() >= MAX_OPEN_STREAMS) { throw new SecurityException( "You may only have 5 streams open at a time.\n" + " Make sure you call close() on your streams when you are finished with them."); } - openStreams++; + openStreams.add(stream); } /** Releases a stream reservation, including when a robot closes a stream more than once. */ - public static synchronized void unregisterStream() { - if (openStreams > 0) { - openStreams--; + public static synchronized void unregisterStream(RobocodeFileOutputStream stream) { + openStreams.remove(stream); + } + + /** Closes file streams left behind by legacy worker threads before the next round starts. */ + static void closeOpenStreams() { + List streams; + synchronized (RobotData.class) { + streams = new ArrayList<>(openStreams); + } + for (RobocodeFileOutputStream stream : streams) { + try { + stream.close(); + } catch (IOException ignored) { + // Round-end cleanup has no robot callback through which to report a close failure. + } } } } diff --git a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/ScannedRobotEventMapper.java b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/ScannedRobotEventMapper.java index c64591b..01a8e5a 100644 --- a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/ScannedRobotEventMapper.java +++ b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/ScannedRobotEventMapper.java @@ -12,7 +12,7 @@ final class ScannedRobotEventMapper { public static ScannedRobotEvent map(ScannedBotEvent scannedBotEvent, IBot bot) { if (scannedBotEvent == null) return null; - var name = String.valueOf(scannedBotEvent.getScannedBotId()); + var name = TankRoyaleBotNameResolver.getNameOrId(bot, scannedBotEvent.getScannedBotId()); var energy = scannedBotEvent.getEnergy(); var x = scannedBotEvent.getX(); var y = scannedBotEvent.getY(); @@ -27,4 +27,4 @@ public static ScannedRobotEvent map(ScannedBotEvent scannedBotEvent, IBot bot) { return event; } -} \ No newline at end of file +} diff --git a/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/TankRoyaleBotNameResolver.java b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/TankRoyaleBotNameResolver.java new file mode 100644 index 0000000..ddb5049 --- /dev/null +++ b/robocode-api/src/main/java/dev/robocode/tankroyale/bridge/TankRoyaleBotNameResolver.java @@ -0,0 +1,39 @@ +package dev.robocode.tankroyale.bridge; + +import dev.robocode.tankroyale.botapi.BotException; + +import java.lang.reflect.InvocationTargetException; + +/** Reads the optional name map added to newer Tank Royale Bot APIs without breaking older ones. */ +final class TankRoyaleBotNameResolver { + + private TankRoyaleBotNameResolver() { } + + static String getName(Object bot, int botId) { + final var method = getMethod(bot); + if (method == null) return null; + try { + return (String) method.invoke(bot, botId); + } catch (IllegalAccessException e) { + throw new BotException("Could not read the Tank Royale bot-name map"); + } catch (InvocationTargetException e) { + var cause = e.getCause(); + if (cause instanceof BotException) return null; + if (cause instanceof RuntimeException) throw (RuntimeException) cause; + throw new BotException("Could not read the Tank Royale bot-name map"); + } + } + + static String getNameOrId(Object bot, int botId) { + var name = getName(bot, botId); + return (name != null ? name : String.valueOf(botId)).intern(); + } + + private static java.lang.reflect.Method getMethod(Object bot) { + try { + return bot.getClass().getMethod("getBotName", int.class); + } catch (NoSuchMethodException e) { + return null; + } + } +} diff --git a/robocode-api/src/main/java/robocode/RobocodeFileOutputStream.java b/robocode-api/src/main/java/robocode/RobocodeFileOutputStream.java index 5e9a772..c6f7ec4 100644 --- a/robocode-api/src/main/java/robocode/RobocodeFileOutputStream.java +++ b/robocode-api/src/main/java/robocode/RobocodeFileOutputStream.java @@ -79,9 +79,10 @@ public RobocodeFileOutputStream(String fileName, boolean append) throws IOExcept // redirecting resolution happens once, in AdvancedRobot#getDataFile, and a File obtained from // there must not be resolved a second time here or an absolute, already-resolved path would be // re-rooted under itself. + RobotData.prepareFileForWrite(fileName, append); FileOutputStream opened = new FileOutputStream(fileName, append); try { - RobotData.registerStream(); + RobotData.registerStream(this); out = opened; streamRegistered.set(true); } catch (RuntimeException | Error exception) { @@ -106,7 +107,7 @@ public final void close() throws IOException { out.close(); } finally { if (streamRegistered.compareAndSet(true, false)) { - RobotData.unregisterStream(); + RobotData.unregisterStream(this); } } } diff --git a/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/RecordingBot.java b/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/RecordingBot.java index 0f3c407..3bc71fa 100644 --- a/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/RecordingBot.java +++ b/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/RecordingBot.java @@ -50,20 +50,30 @@ public String toString() { private final List calls = new ArrayList<>(); private final Map canned = new HashMap<>(); + private final Map botNames = new HashMap<>(); private final IBot proxy; - private RecordingBot() { + private RecordingBot(boolean withNameMap) { proxy = (IBot) Proxy.newProxyInstance( IBot.class.getClassLoader(), - new Class[] { IBot.class }, + withNameMap + ? new Class[] { IBot.class, BotNameProvider.class } + : new Class[] { IBot.class }, (p, method, args) -> { calls.add(new Call(method.getName(), args)); + if (method.getName().equals("getBotName")) { + return botNames.get((Integer) args[0]); + } return answer(method); }); } static RecordingBot create() { - return new RecordingBot(); + return new RecordingBot(true); + } + + static RecordingBot createWithoutNameMap() { + return new RecordingBot(false); } /** Sets the value a named getter returns, e.g. {@code returning("getEnergy", 42.0)}. */ @@ -78,6 +88,11 @@ RecordingBot returningNull(String method) { return this; } + RecordingBot named(int botId, String name) { + botNames.put(botId, name); + return this; + } + IBot asBot() { return proxy; } @@ -145,3 +160,7 @@ private Object answer(Method method) { return null; } } + +interface BotNameProvider { + String getBotName(int botId); +} diff --git a/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/RobotDataStreamLifecycleTest.java b/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/RobotDataStreamLifecycleTest.java new file mode 100644 index 0000000..a554092 --- /dev/null +++ b/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/RobotDataStreamLifecycleTest.java @@ -0,0 +1,59 @@ +package dev.robocode.tankroyale.bridge; + +import org.junit.jupiter.api.AfterEach; +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.io.TempDir; +import robocode.RobocodeFileOutputStream; + +import java.io.IOException; +import java.nio.file.Path; +import java.util.ArrayList; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertThrows; + +class RobotDataStreamLifecycleTest { + + @TempDir + Path tempDir; + + @BeforeAll + static void ensureRobotNameIsSet() { + RobotName.setName("RobotDataStreamLifecycleTest"); + } + + @AfterEach + void closeOpenedStreams() { + RobotData.closeOpenStreams(); + } + + @Test + @DisplayName("FIO-005 unit: between-round cleanup releases abandoned stream slots") + void testFIO005_UnitPositive_BetweenRoundCleanupClosesAbandonedStreams() throws IOException { + List firstRound = openStreams("first-round"); + assertThrows(SecurityException.class, () -> open("first-round-overflow")); + + RobotData.closeOpenStreams(); + + for (RobocodeFileOutputStream stream : firstRound) { + assertThrows(IOException.class, () -> stream.write(1)); + } + assertDoesNotThrow(() -> openStreams("second-round")); + assertThrows(SecurityException.class, () -> open("second-round-overflow")); + } + + private List openStreams(String prefix) throws IOException { + List streams = new ArrayList<>(); + for (int i = 0; i < 5; i++) { + streams.add(open(prefix + "-" + i)); + } + return streams; + } + + private RobocodeFileOutputStream open(String name) throws IOException { + return new RobocodeFileOutputStream(tempDir.resolve(name + ".dat").toFile()); + } +} diff --git a/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/ScannedRobotEventMapperTest.java b/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/ScannedRobotEventMapperTest.java new file mode 100644 index 0000000..10cc879 --- /dev/null +++ b/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/ScannedRobotEventMapperTest.java @@ -0,0 +1,44 @@ +package dev.robocode.tankroyale.bridge; + +import dev.robocode.tankroyale.botapi.events.ScannedBotEvent; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import robocode.ScannedRobotEvent; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertSame; + +/** Acceptance evidence for API-006 — scan events retain classic target names across callbacks. */ +class ScannedRobotEventMapperTest { + + @Test + @DisplayName("API-006 positive: repeated scans reuse the classic name-map string") + void testAPI006_UnitPositive_PreservesStableClassicTargetNameIdentity() { + String classicName = new String("apc.Colossus2 0.12 (2)"); + RecordingBot bot = RecordingBot.create().named(27, classicName); + + ScannedRobotEvent first = map(bot, 27); + ScannedRobotEvent second = map(bot, 27); + + assertEquals(classicName, first.getName()); + assertSame(first.getName(), second.getName(), + "legacy robots can identify a repeatedly scanned target by the same String reference"); + } + + @Test + @DisplayName("API-006 positive: the numeric fallback is also stable when the name map is absent") + void testAPI006_UnitPositive_PreservesFallbackTargetNameIdentity() { + RecordingBot bot = RecordingBot.createWithoutNameMap(); + + ScannedRobotEvent first = map(bot, 27); + ScannedRobotEvent second = map(bot, 27); + + assertEquals("27", first.getName()); + assertSame(first.getName(), second.getName()); + } + + private static ScannedRobotEvent map(RecordingBot bot, int botId) { + var event = new ScannedBotEvent(12, 0, botId, 50, 100, 200, 1, 3); + return ScannedRobotEventMapper.map(event, bot.asBot()); + } +} diff --git a/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/TeamAndJuniorPeerRoutingTest.java b/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/TeamAndJuniorPeerRoutingTest.java index 9f6c8ee..cf4b64e 100644 --- a/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/TeamAndJuniorPeerRoutingTest.java +++ b/robocode-api/src/test/java/dev/robocode/tankroyale/bridge/TeamAndJuniorPeerRoutingTest.java @@ -4,6 +4,7 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import dev.robocode.tankroyale.botapi.BotException; +import dev.robocode.tankroyale.botapi.events.TeamMessageEvent; import java.io.IOException; import java.io.NotSerializableException; @@ -28,9 +29,9 @@ * support does land, these calls are what it will run on, and a routing fault discovered * then would look like a fault in the new work. * - * The identity translation is the interesting part. Robocode addresses teammates by name and - * Tank Royale by numeric id, so the peer parses one into the other — and what it does with a - * name that is not a number differs between the two calls. + * Robocode addresses teammates by name while Tank Royale routes by numeric id. The bridge uses + * Tank Royale's name map to preserve classic names and translates names back to ids for directed + * messages and teammate checks. */ class TeamAndJuniorPeerRoutingTest { @@ -53,6 +54,24 @@ void testROUTE009_UnitPositive_RoutesBroadcastWithTheMessageIntact() throws IOEx "the message must arrive as sent, not serialized or wrapped on the way"); } + @Test + @DisplayName("ROUTE-009 positive: getName returns the classic name from Tank Royale") + void testROUTE009_UnitPositive_ReportsClassicBotName() { + bot.named(0, "legacy.TeamRobot 1.2 (1)"); + + assertEquals("legacy.TeamRobot 1.2 (1)", peer.getName()); + } + + @Test + @DisplayName("ROUTE-009 positive: older Bot APIs fall back to the local robot name") + void testROUTE009_UnitPositive_FallsBackWhenNameMapApiIsUnavailable() { + bot = RecordingBot.createWithoutNameMap(); + peer = new BotPeer(new StubRobot(), bot.asBot()); + bot.clear(); + + assertEquals("StubRobot", peer.getName()); + } + @Test @DisplayName("ROUTE-009 positive: a message to one teammate is addressed by its numeric id") void testROUTE009_UnitPositive_AddressesASingleTeammateByNumericId() throws IOException { @@ -63,6 +82,19 @@ void testROUTE009_UnitPositive_AddressesASingleTeammateByNumericId() throws IOEx assertEquals("regroup", call.args[1]); } + @Test + @DisplayName("ROUTE-009 positive: a directed message by classic name reaches that teammate") + void testROUTE009_UnitPositive_AddressesTeammateByClassicName() throws IOException { + String teammateName = "legacy.TeamRobot 1.2 (1)"; + bot.named(7, teammateName).returning("getTeammateIds", Set.of(7)); + + peer.sendMessage(teammateName, "regroup"); + + RecordingBot.Call call = bot.onlyCall("sendTeamMessage"); + assertEquals(7, call.args[0]); + assertEquals("regroup", call.args[1]); + } + @Test @DisplayName("ROUTE-009 negative: a directed message does not become a broadcast") void testROUTE009_UnitNegative_ADirectedMessageIsNotBroadcast() throws IOException { @@ -76,8 +108,8 @@ void testROUTE009_UnitNegative_ADirectedMessageIsNotBroadcast() throws IOExcepti @Test @DisplayName("ROUTE-009 negative: an unaddressable teammate name is refused, not silently dropped") void testROUTE009_UnitNegative_RefusesAnUnaddressableTeammateName() { - // A name that is not a number has no Tank Royale id. Failing loudly is right: a - // silently dropped message leaves the sender believing its team was told. + // A name outside this team's name map has no Tank Royale id. Failing loudly is right: + // a silently dropped message leaves the sender believing its team was told. assertThrows(BotException.class, () -> peer.sendMessage("Leader", "regroup")); assertFalse(bot.called("sendTeamMessage"), bot.names()); } @@ -91,8 +123,17 @@ void testROUTE009_UnitNegative_PreservesLegacySerializationFailure() { } @Test - @DisplayName("ROUTE-009 positive: teammates are reported as names built from their ids") + @DisplayName("ROUTE-009 positive: teammates are reported with their classic names") void testROUTE009_UnitPositive_ReportsTeammatesAsNames() { + bot.named(4, "legacy.TeamRobot 1.2 (1)") + .returning("getTeammateIds", Set.of(4)); + + assertArrayEquals(new String[] { "legacy.TeamRobot 1.2 (1)" }, peer.getTeammates()); + } + + @Test + @DisplayName("ROUTE-009 positive: teammate ids remain a fallback when the name map is unavailable") + void testROUTE009_UnitPositive_FallsBackToNumericTeammateIds() { bot.returning("getTeammateIds", Set.of(4)); assertArrayEquals(new String[] { "4" }, peer.getTeammates()); @@ -117,6 +158,18 @@ void testROUTE009_UnitPositive_ChecksTeammateByNumericId() { assertEquals(9, bot.onlyCall("isTeammate").args[0]); } + @Test + @DisplayName("ROUTE-009 positive: a teammate check accepts the classic name") + void testROUTE009_UnitPositive_ChecksTeammateByClassicName() { + String teammateName = "legacy.TeamRobot 1.2 (1)"; + bot.named(9, teammateName) + .returning("getTeammateIds", Set.of(9)) + .returning("isTeammate", true); + + assertTrue(peer.isTeammate(teammateName)); + assertEquals(9, bot.onlyCall("isTeammate").args[0]); + } + @Test @DisplayName("ROUTE-009 negative: an unparseable name is not a teammate and asks nothing") void testROUTE009_UnitNegative_TreatsAnUnparseableNameAsNotATeammate() { @@ -133,6 +186,20 @@ void testROUTE009_UnitPositive_ReadsMessageEventsFromTheBotApi() { assertEquals(List.of(), events, "no events yet, but the call must not fail"); } + @Test + @DisplayName("ROUTE-009 positive: a message event exposes its sender's classic name") + void testROUTE009_UnitPositive_MapsMessageSenderToClassicName() { + String senderName = "legacy.TeamRobot 1.2 (1)"; + bot.named(12, senderName) + .returning("getEvents", List.of(new TeamMessageEvent(3, "attack", 12))); + + List events = peer.getMessageEvents(); + + assertEquals(1, events.size()); + assertEquals(senderName, events.get(0).getSender()); + assertEquals("attack", events.get(0).getMessage()); + } + @Test @DisplayName("ROUTE-010 positive: the junior turn-and-move reaches the Bot API") void testROUTE010_UnitPositive_RoutesTheJuniorTurnAndMove() { diff --git a/robots-wrapper/src/main/java/Main.java b/robots-wrapper/src/main/java/Main.java index 4cc7e27..067ea9f 100644 --- a/robots-wrapper/src/main/java/Main.java +++ b/robots-wrapper/src/main/java/Main.java @@ -1,4 +1,5 @@ import java.io.*; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.ArrayList; @@ -12,8 +13,6 @@ import java.util.zip.ZipFile; import java.util.zip.ZipInputStream; -// TODO: Handle robot.properties field `includeData` (boolean) - import org.apache.bcel.classfile.ClassParser; public class Main { @@ -39,19 +38,22 @@ public static void main(String[] args) throws IOException { } } - static void processJar(Path jarPath) { + static Map processJar(Path jarPath) { + Map classToBotDir = new HashMap<>(); try { var jarFile = jarPath.toFile(); // classname -> its bot directory, so a .team entry (processed after every .properties // entry) can name each member's already-created directory. - Map classToBotDir = new HashMap<>(); try (var zipFile = new ZipFile(jarFile)) { var entries = zipFile.entries(); while (entries.hasMoreElements()) { var zipEntry = entries.nextElement(); var filename = zipEntry.getName(); - if (filename.toLowerCase().endsWith(".properties")) { + if (filename.toLowerCase().endsWith(".jar")) { + Path nestedJar = stageNestedJar(jarPath, zipFile, zipEntry); + classToBotDir.putAll(processJar(nestedJar)); + } else if (filename.toLowerCase().endsWith(".properties")) { var inputStream = zipFile.getInputStream(zipEntry); var robotProps = processProperties(inputStream); if (robotProps != null) { @@ -59,6 +61,7 @@ static void processJar(Path jarPath) { classToBotDir.put(robotProps.classname, botDir); Files.copy(zipFile.getInputStream(zipEntry), botDir.resolve(robotProps.classname + ".properties")); + copyDataFiles(zipFile, robotProps, botDir); } } } @@ -75,6 +78,17 @@ static void processJar(Path jarPath) { } catch (Exception ex) { System.err.println("IO exception occurred when processing " + jarPath + ": " + ex.getMessage()); } + return classToBotDir; + } + + /** Stages a robot jar embedded in a classic team archive beside its generated bot directories. */ + static Path stageNestedJar(Path parentJar, ZipFile zipFile, ZipEntry zipEntry) throws IOException { + Path nestedJar = Files.createTempFile(parentJar.getParent(), + parentJar.getFileName().toString() + "-nested-", ".jar"); + try (InputStream inputStream = zipFile.getInputStream(zipEntry)) { + Files.copy(inputStream, nestedJar, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } + return nestedJar; } /** @@ -199,7 +213,7 @@ static void createTeamJsonFile(Path teamDir, String teamBaseName, String teamNam membersJson.append('"').append(escape(memberDirNames.get(i))).append('"'); } - try (var writer = new FileWriter(file)) { + try (var writer = Files.newBufferedWriter(file.toPath(), StandardCharsets.UTF_8)) { writer.write("{\n" + " \"name\": \"" + escape(replaceIfBlank(teamName, teamBaseName)) + "\",\n" + " \"version\": \"" + escape(replaceIfBlank(teamVersion, "[n/a]")) + "\",\n" + @@ -254,7 +268,6 @@ static RobotProperties processProperties(InputStream is) throws IOException { String includeDataStr = props.getProperty("robot.include.data"); if (includeDataStr != null) { robotProps.includeData = Boolean.parseBoolean(includeDataStr); - System.err.println("Include data is not supported yet: " + robotProps.name()); } return robotProps; @@ -285,6 +298,47 @@ static Path createBotDir(Path botDirPath, String filename, RobotProperties robot return botDir; } + /** Copies the robot's packaged data resources into the runtime data directory. */ + static void copyDataFiles(ZipFile zipFile, RobotProperties robotProps, Path botDir) throws IOException { + String resourcePrefix = robotProps.classname.replace('.', '/') + ".data/"; + Path dataDir = botDir.resolve(robotProps.name() + ".data").normalize(); + int copied = 0; + + var entries = zipFile.entries(); + while (entries.hasMoreElements()) { + var entry = entries.nextElement(); + String entryName = entry.getName().replace('\\', '/'); + if (!entryName.startsWith(resourcePrefix)) { + continue; + } + + String relativeName = entryName.substring(resourcePrefix.length()); + if (relativeName.isEmpty()) { + continue; + } + Path target = dataDir.resolve(relativeName).normalize(); + if (!target.startsWith(dataDir)) { + throw new IOException("robot data entry escapes its data directory: " + entry.getName()); + } + if (entry.isDirectory()) { + Files.createDirectories(target); + continue; + } + + if (target.getParent() != null) { + Files.createDirectories(target.getParent()); + } + try (InputStream inputStream = zipFile.getInputStream(entry)) { + Files.copy(inputStream, target, java.nio.file.StandardCopyOption.REPLACE_EXISTING); + } + copied++; + } + + if (copied > 0) { + System.out.println(" copied " + copied + " packaged data file(s)"); + } + } + static void createJsonFile(Path botDir, RobotProperties robotProps) throws IOException { File file = createOrOverwriteFile(botDir, botDir.getFileName() + ".json"); @@ -293,15 +347,16 @@ static void createJsonFile(Path botDir, RobotProperties robotProps) throws IOExc author = robotProps.classname.substring(0, robotProps.classname.indexOf('.')); } - try (var writer = new FileWriter(file)) { + try (var writer = Files.newBufferedWriter(file.toPath(), StandardCharsets.UTF_8)) { writer.write("{\n" + - " \"name\": \"" + robotProps.name() + "\",\n" + + " \"name\": \"" + escape(robotProps.name()) + "\",\n" + " \"version\": \"" + escape(replaceIfBlank(robotProps.version, "[n/a]")) + "\",\n" + " \"authors\": [\"" + escape(replaceIfBlank(author, "[n/a]")) + "\"],\n" + " \"description\": \"" + escape(replaceIfBlank(robotProps.description, "")) + "\",\n" + " \"homepage\": \"" + escape(replaceIfBlank(robotProps.webpage, "")) + "\",\n" + " \"platform\": \"JVM\",\n" + - " \"language\": \"Java\"\n" + + " \"language\": \"Java\",\n" + + " \"teamMemberName\": \"" + escape(robotProps.classname) + "\"\n" + "}\n" ); } @@ -404,14 +459,41 @@ static String replaceIfBlank(String str, String replacement) { } static String escape(String str) { - return str - .replace("\\", "\\\\") - .replace("\"", "\\\"") - .replace("\n", "\\n") - .replace("\r", "\\r") - .replace("\t", "\\t") - .replace("\f", "\\f") - .replace("\b", "\\b"); + var escaped = new StringBuilder(); + for (int i = 0; i < str.length(); i++) { + char character = str.charAt(i); + switch (character) { + case '\\': + escaped.append("\\\\"); + break; + case '"': + escaped.append("\\\""); + break; + case '\n': + escaped.append("\\n"); + break; + case '\r': + escaped.append("\\r"); + break; + case '\t': + escaped.append("\\t"); + break; + case '\f': + escaped.append("\\f"); + break; + case '\b': + escaped.append("\\b"); + break; + default: + if (character < 0x20 || character > 0x7e) { + escaped.append(String.format("\\u%04x", (int) character)); + } else { + escaped.append(character); + } + break; + } + } + return escaped.toString(); } static String toBaseFilename(Path filePath) {