Session final: bakeoff fix, branding fonts, 3-GPU parallel self-play

Current running state:
- Prod: mortdecai-v4 on RTX 4000, single-call, error correction, fall protection
- Dev: Gemini 3.1 Flash Lite (preview) + 5 bots generating training data
- Bake-off: v4 running on steel141 (3090 Ti)
- Self-play: ready for overnight — 3 GPUs parallel (3090 Ti + 2080 Ti + RTX 4000)

Changes:
- Bakeoff parser: strips think blocks, handles dict/list types
- Branding fonts: Rajdhani-Bold (official), Exo2, Orbitron, Oxanium, SpaceGrotesk
- Gemini 3.1 pricing added to cost tracker

Active data collection:
- Gemini 3.1 Flash Lite bots on dev ($20 budget, ~$4/hr with 5 bots)
- Self-play overnight: 3 tiers × 3 GPUs = ~9x throughput
- Training audit logging on all servers

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-20 00:56:45 -04:00
parent 3580d350b4
commit 027b835286
6 changed files with 18 additions and 4 deletions
+18 -4
View File
@@ -64,10 +64,24 @@ def ollama_chat(model: str, messages: list, ollama_url: str,
def parse_response(content: str) -> dict:
"""Parse LLM JSON response."""
"""Parse LLM JSON response, stripping think blocks."""
# Strip think blocks
content = re.sub(r'<think>[\s\S]*?</think>\s*', '', content).strip()
try:
return json.loads(content)
parsed = json.loads(content)
# Ensure commands is a list of strings
cmds = parsed.get("commands", [])
if isinstance(cmds, list):
parsed["commands"] = [c for c in cmds if isinstance(c, str)]
return parsed
except json.JSONDecodeError:
# Try to extract JSON from markdown wrapper
match = re.search(r'\{[\s\S]*\}', content)
if match:
try:
return json.loads(match.group())
except json.JSONDecodeError:
pass
cmds = re.findall(r'"(/?\w[^"]*)"', content)
return {"commands": cmds, "message": "", "reasoning": "parse_fallback"}
@@ -239,8 +253,8 @@ def run_bakeoff(models: list, ollama_url: str, no_think: bool = False):
if not scores["cmd_match"]:
expected_cmds = ex["output"].get("commands", [])
print(f" Expected: {expected_cmds[:2]}")
print(f" Got: {actual_cmds[:2]}")
print(f" Expected: {expected_cmds[:2] if isinstance(expected_cmds, list) else expected_cmds}")
print(f" Got: {actual_cmds[:2] if isinstance(actual_cmds, list) else actual_cmds}")
results.append({
"id": eid,