feat: add Zenith strategy and move latency tracing
Build and Push Docker Container / build-and-push (push) Successful in 2m18s

- Register Zenith 1.1 with balanced duel verdicts and forced-outcome overrides.
- Prioritize permanent-trail space in Constrictor and health-aware hazard routes.
- Deduct executor queue delays and return fallback directions on move timeouts.
- Correlate response headers, replay timings, and sampled structured trace logs.
- Move shared metrics publication off the response path without losing local counts.
- Allow configurable tournament opponents and add a psql helper recipe.
- Preserve empty latency values through compact replay encoding and migration.
- Update Arena game links and use default assets for missing customizations.
- Cover strategy, HTTP lifecycle, tracing, replay codecs, and dashboard behavior.
- Validate with 260 passing Python tests, 4 skips, and 2 passing JavaScript tests.
This commit is contained in:
2026-11-05 01:11:31 +01:00
parent 39a7a53873
commit a2414f0b3d
26 changed files with 758 additions and 45 deletions
+2 -2
View File
@@ -89,8 +89,8 @@ class SnakeUtils {
}
static buildCustomizationIconUrl(kind, value) {
const raw = String(value || "").trim().toLowerCase();
if (!raw) return null;
// Battlesnake treats an omitted/empty customization as the default asset.
const raw = String(value || "").trim().toLowerCase() || "default";
if (!/^[a-z0-9-]+$/.test(raw)) return null;
return `/dashboard/customizations/${kind}/${raw}.svg`;
}