[object Object]

← back to Model Arena

Stabilize: MAXP 4→2 — 4 starved the vision judge (0 post-shell crowns) + rate-limited gpt (too many concurrent requests)

7647202398944af71ba9583ee560dbc3afdc2ebc · 2026-07-25 02:44:48 -0700 · Steve Abrams

Files touched

Diff

commit 7647202398944af71ba9583ee560dbc3afdc2ebc
Author: Steve Abrams <steve@designerwallcoverings.com>
Date:   Sat Jul 25 02:44:48 2026 -0700

    Stabilize: MAXP 4→2 — 4 starved the vision judge (0 post-shell crowns) + rate-limited gpt (too many concurrent requests)
---
 data/artifacts/145b5d1ed01f/qwen25-7b.html  | 125 ++++++++++++++++++++
 data/artifacts/145b5d1ed01f/qwen25-7b.png   | Bin 0 -> 10946 bytes
 data/artifacts/34debb53dbc7/qwen25-7b.html  |  79 +++++++++++++
 data/artifacts/34debb53dbc7/qwen25-7b.png   | Bin 0 -> 27866 bytes
 data/artifacts/b325446e067a/hermes3-8b.html | 175 ++++++++++++++++++++++++++++
 data/artifacts/b325446e067a/hermes3-8b.png  | Bin 0 -> 25990 bytes
 data/challenges.json                        |  56 +++++----
 idea-run/night-cycle.sh                     |   4 +-
 8 files changed, 413 insertions(+), 26 deletions(-)

diff --git a/data/artifacts/145b5d1ed01f/qwen25-7b.html b/data/artifacts/145b5d1ed01f/qwen25-7b.html
new file mode 100644
index 0000000..3afe2fb
--- /dev/null
+++ b/data/artifacts/145b5d1ed01f/qwen25-7b.html
@@ -0,0 +1,125 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Grandmillennial Lookbook</title>
+    <style>
+        body {
+            margin: 0;
+            font-family: 'Didot', Georgia, serif;
+            color: #f5f2ea;
+            background-color: #0d0d0f;
+            padding-top: 64px;
+            height: 100vh;
+        }
+        .top-bar {
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+            padding-left: 32px;
+            padding-right: 32px;
+            background-color: #17171c;
+            position: fixed;
+            top: 0;
+            left: 0;
+            right: 0;
+            z-index: 1000;
+        }
+        .top-bar h1 {
+            margin: 0;
+            font-size: 24px;
+            letter-spacing: 0.18em;
+            text-transform: uppercase;
+        }
+        .carousel {
+            display: grid;
+            grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
+            gap: 24px;
+            padding-top: 96px;
+        }
+        .slide {
+            background-color: #17171c;
+            border-radius: 14px;
+            overflow: hidden;
+            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
+        }
+        .slide-cover {
+            height: 360px;
+            background-size: cover;
+            background-position: center;
+        }
+        .slide-content {
+            padding: 24px;
+            color: #f5f2ea;
+            text-align: center;
+            line-height: 1.5;
+        }
+        .swatch {
+            width: 300px;
+            height: 100px;
+            margin-bottom: 16px;
+            background-color: #c9a961;
+            border-radius: 8px;
+            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
+        }
+        .vignette {
+            width: 300px;
+            height: 300px;
+            background-image: url('https://via.placeholder.com/300x300');
+            background-size: cover;
+            border-radius: 8px;
+            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
+        }
+        .cta {
+            text-align: center;
+            padding-top: 96px;
+            color: #f5f2ea;
+            font-size: 38px;
+            letter-spacing: 0.15em;
+            line-height: 1.2;
+        }
+        @keyframes fadeUp {
+            from { opacity: 0; transform: translateY(28px); }
+            to { opacity: 1; transform: none; }
+        }
+        .slide, .cta {
+            animation: fadeUp 0.7s cubic-bezier(.22,1,.36,1) both;
+        }
+    </style>
+</head>
+<body>
+    <div class="top-bar">
+        <h1>DESIGNER WALLCOVERINGS</h1>
+    </div>
+    <div class="carousel">
+        <div class="slide">
+            <div class="slide-cover" style="background-image: url('https://via.placeholder.com/360x360?text=Swatch+1');"></div>
+            <div class="slide-content">
+                <div class="swatch" style="background-color: #c9a961;"></div>
+                <div class="vignette" style="background-image: url('https://via.placeholder.com/300x300?text=Vignette+1');"></div>
+                <p>Warm and inviting.</p>
+            </div>
+        </div>
+        <div class="slide">
+            <div class="slide-cover" style="background-image: url('https://via.placeholder.com/360x360?text=Swatch+2');"></div>
+            <div class="slide-content">
+                <div class="swatch" style="background-color: #c9a961;"></div>
+                <div class="vignette" style="background-image: url('https://via.placeholder.com/300x300?text=Vignette+2');"></div>
+                <p>Subtle and sophisticated.</p>
+            </div>
+        </div>
+        <div class="slide">
+            <div class="slide-cover" style="background-image: url('https://via.placeholder.com/360x360?text=Swatch+3');"></div>
+            <div class="slide-content">
+                <div class="swatch" style="background-color: #c9a961;"></div>
+                <div class="vignette" style="background-image: url('https://via.placeholder.com/300x300?text=Vignette+3');"></div>
+                <p>Elegant and refined.</p>
+            </div>
+        </div>
+        <div class="cta">
+            Shop Now
+        </div>
+    </div>
+</body>
+</html>
\ No newline at end of file
diff --git a/data/artifacts/145b5d1ed01f/qwen25-7b.png b/data/artifacts/145b5d1ed01f/qwen25-7b.png
new file mode 100644
index 0000000..f9e06a3
Binary files /dev/null and b/data/artifacts/145b5d1ed01f/qwen25-7b.png differ
diff --git a/data/artifacts/34debb53dbc7/qwen25-7b.html b/data/artifacts/34debb53dbc7/qwen25-7b.html
new file mode 100644
index 0000000..e0f2e96
--- /dev/null
+++ b/data/artifacts/34debb53dbc7/qwen25-7b.html
@@ -0,0 +1,79 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Designer Wallcoverings</title>
+    <style>
+        * { margin: 0; padding: 0; box-sizing: border-box; }
+        body { background: #f7efe6; color: #3a2c22; font-family: 'Didot', serif; overflow-x: hidden; }
+        header { position: fixed; top: 0; left: 0; width: 100%; height: 50px; background: #17171c; display: flex; align-items: center; justify-content: space-between; padding-left: 32px; }
+        .wordmark { font-size: 24px; letter-spacing: 0.18em; color: #f5f2ea; text-transform: uppercase; }
+        canvas { position: absolute; top: 50px; width: 100%; height: calc(100vh - 50px); background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhT+AABH+8Qe/6AIAAAASUVORK5CYII='), #17171c; }
+        footer { position: fixed; bottom: 0; left: 0; width: 100%; height: 50px; background: #17171c; display: flex; align-items: center; justify-content: space-between; padding-left: 32px; }
+        .score { font-size: 24px; color: #f5f2ea; }
+    </style>
+</head>
+<body>
+<header>
+    <span class="wordmark">DESIGNER WALLCOVERINGS</span>
+</header>
+<canvas id="gameCanvas"></canvas>
+<footer>
+    <div class="score">Score: 0 | Best: 0</div>
+</footer>
+
+<script>
+    const canvas = document.getElementById('gameCanvas');
+    const ctx = canvas.getContext('2d');
+
+    canvas.width = window.innerWidth;
+    canvas.height = window.innerHeight - 50;
+
+    let score = localStorage.getItem('score') || 0;
+    let bestScore = localStorage.getItem('bestScore') || 0;
+
+    function setup() {
+        ctx.fillStyle = '#17171c';
+        ctx.fillRect(0, 0, canvas.width, canvas.height);
+        drawWordmark();
+        initGame();
+    }
+
+    function drawWordmark() {
+        ctx.font = '38px Didot';
+        ctx.textAlign = 'left';
+        ctx.fillStyle = '#f5f2ea';
+        ctx.fillText('DESIGNER WALLCOVERINGS', 40, 40);
+    }
+
+    function initGame() {
+        // Game initialization code goes here
+    }
+
+    function gameLoop() {
+        requestAnimationFrame(gameLoop);
+        update();
+        render();
+    }
+
+    function update() {
+        // Update game state
+    }
+
+    function render() {
+        ctx.clearRect(0, 50, canvas.width, canvas.height);
+        // Render game objects
+    }
+
+    setup();
+    gameLoop();
+
+    document.addEventListener('keydown', (event) => {
+        if (event.code === 'Space' || event.key === 'Enter') {
+            update();
+        }
+    });
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/data/artifacts/34debb53dbc7/qwen25-7b.png b/data/artifacts/34debb53dbc7/qwen25-7b.png
new file mode 100644
index 0000000..5306df3
Binary files /dev/null and b/data/artifacts/34debb53dbc7/qwen25-7b.png differ
diff --git a/data/artifacts/b325446e067a/hermes3-8b.html b/data/artifacts/b325446e067a/hermes3-8b.html
new file mode 100644
index 0000000..2b21e6f
--- /dev/null
+++ b/data/artifacts/b325446e067a/hermes3-8b.html
@@ -0,0 +1,175 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Color Matching Mini-Game</title>
+    <style>
+        * {
+            margin: 0;
+            padding: 0;
+            box-sizing: border-box;
+        }
+
+        body {
+            font-family: 'EB Garamond', serif;
+            font-size: 16px;
+            line-height: 1.5;
+            background-color: #faf8f4;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            height: 100vh;
+            margin: 0 auto;
+        }
+
+        .container {
+            text-align: center;
+            max-width: 960px;
+            width: 100%;
+        }
+
+        h1 {
+            font-family: 'Cormorant Garamond', serif;
+            font-size: 50px;
+            letter-spacing: 0.18em;
+            margin-bottom: 48px;
+        }
+
+        .game-container {
+            background-color: #fff9f1;
+            padding: 96px;
+            border-radius: 14px;
+            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
+            max-width: 960px;
+            width: 100%;
+        }
+
+        .target {
+            display: flex;
+            justify-content: center;
+            margin-bottom: 32px;
+        }
+
+        .swatch-container {
+            display: flex;
+            gap: 24px;
+        }
+
+        .swatch {
+            background-color: #f5f2ea;
+            border-radius: 14px;
+            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
+            display: flex;
+            justify-content: center;
+            align-items: center;
+            width: 56px;
+            height: 56px;
+        }
+
+        .swatch::before,
+        .swatch::after {
+            content: '';
+            display: block;
+            border-radius: 50%;
+            background-color: #c65f38;
+        }
+
+        .swatch::before {
+            width: 32px;
+            height: 32px;
+        }
+
+        .swatch::after {
+            width: 40px;
+            height: 40px;
+        }
+
+        button {
+            font-family: 'Cormorant Garamond', serif;
+            font-size: 24px;
+            letter-spacing: 0.18em;
+            cursor: pointer;
+            border-radius: 14px;
+            background-color: #c65f38;
+            color: #faf8f4;
+            box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
+            border: none;
+            outline: none;
+            width: 56px;
+            height: 56px;
+            display: flex;
+            justify-content: center;
+            align-items: center;
+        }
+
+        .result {
+            font-family: 'Cormorant Garamond', serif;
+            font-size: 24px;
+            letter-spacing: 0.18em;
+            margin-top: 32px;
+        }
+    </style>
+</head>
+<body>
+    <div class="container">
+        <h1>DESIGNER WALLCOVERINGS</h1>
+        <div class="game-container">
+            <div class="target">
+                <div class="swatch-container">
+                    <div class="swatch" onclick="spinSwatch(this)"></div>
+                    <div class="swatch" onclick="spinSwatch(this)"></div>
+                    <div class="swatch" onclick="spinSwatch(this)"></div>
+                </div>
+            </div>
+            <button onclick="checkMatch()">STOP</button>
+            <div class="result"></div>
+        </div>
+    </div>
+
+    <script>
+        const swatches = document.querySelectorAll('.swatch');
+        let round = 0;
+        let score = 0;
+
+        function spinSwatch(swatch) {
+            const randomColor = getRandomColor();
+            swatch.style.backgroundColor = randomColor;
+        }
+
+        function checkMatch() {
+            if (++round > 5) {
+                localStorage.setItem('highScore', score);
+                alert(`Game Over! Your final score is ${score}.`);
+                return;
+            }
+
+            let matchCount = 0;
+
+            for (let i = 0; i < swatches.length; i++) {
+                const color = getComputedStyle(swatches[i]).backgroundColor;
+                if (color === 'rgb(255, 245, 234)') {
+                    matchCount++;
+                }
+            }
+
+            score += matchCount * (matchCount + 1);
+
+            document.querySelector('.result').textContent = `Round ${round}: Score: ${score}`;
+        }
+
+        function getRandomColor() {
+            const letters = 'BCDFGHJKLMNPQRSTX';
+            let color = '#';
+            for (let i = 0; i < 6; i++) {
+                color += `${letters[Math.floor(Math.random() * 14)]}`;
+            }
+            return color;
+        }
+
+        if (!localStorage.getItem('highScore')) {
+            localStorage.setItem('highScore', 0);
+        }
+    </script>
+</body>
+</html>
\ No newline at end of file
diff --git a/data/artifacts/b325446e067a/hermes3-8b.png b/data/artifacts/b325446e067a/hermes3-8b.png
new file mode 100644
index 0000000..dc9fa62
Binary files /dev/null and b/data/artifacts/b325446e067a/hermes3-8b.png differ
diff --git a/data/challenges.json b/data/challenges.json
index acabd9b..e0a5c52 100644
--- a/data/challenges.json
+++ b/data/challenges.json
@@ -18121,13 +18121,15 @@
       },
       {
         "model": "hermes3-8b",
-        "status": "running",
+        "status": "done",
         "error": null,
-        "seconds": null,
-        "cost": null,
+        "seconds": 17,
+        "cost": 0,
         "started_at": "2026-07-25T09:43:18.038Z",
-        "finished_at": null,
-        "queued_at": "2026-07-25T09:31:21.599Z"
+        "finished_at": "2026-07-25T09:43:35.429Z",
+        "queued_at": "2026-07-25T09:31:21.599Z",
+        "bytes": 4727,
+        "thumb": true
       },
       {
         "model": "qwen25-7b",
@@ -18143,11 +18145,11 @@
       },
       {
         "model": "hf-qwen-coder-32b",
-        "status": "queued",
+        "status": "running",
         "error": null,
         "seconds": null,
         "cost": null,
-        "started_at": null,
+        "started_at": "2026-07-25T09:43:35.439Z",
         "finished_at": null,
         "queued_at": "2026-07-25T09:31:21.605Z"
       },
@@ -18182,13 +18184,13 @@
       },
       {
         "model": "gpt",
-        "status": "error",
-        "error": "openai error: \"Too many concurrent requests\"",
+        "status": "queued",
+        "error": null,
         "seconds": 2,
         "cost": null,
-        "started_at": "2026-07-25T09:31:21.637Z",
-        "finished_at": "2026-07-25T09:31:23.421Z",
-        "queued_at": "2026-07-25T09:31:21.615Z"
+        "started_at": null,
+        "finished_at": null,
+        "queued_at": "2026-07-25T09:43:48.849Z"
       },
       {
         "model": "grok",
@@ -18250,13 +18252,15 @@
       },
       {
         "model": "qwen25-7b",
-        "status": "running",
+        "status": "done",
         "error": null,
-        "seconds": null,
-        "cost": null,
+        "seconds": 32,
+        "cost": 0,
         "started_at": "2026-07-25T09:43:26.166Z",
-        "finished_at": null,
-        "queued_at": "2026-07-25T09:43:26.144Z"
+        "finished_at": "2026-07-25T09:43:58.661Z",
+        "queued_at": "2026-07-25T09:43:26.144Z",
+        "bytes": 4245,
+        "thumb": true
       },
       {
         "model": "hf-qwen-coder-32b",
@@ -18351,13 +18355,15 @@
       },
       {
         "model": "qwen25-7b",
-        "status": "queued",
+        "status": "done",
         "error": null,
-        "seconds": null,
-        "cost": null,
-        "started_at": null,
-        "finished_at": null,
-        "queued_at": "2026-07-25T09:43:26.231Z"
+        "seconds": 22,
+        "cost": 0,
+        "started_at": "2026-07-25T09:43:58.672Z",
+        "finished_at": "2026-07-25T09:44:20.328Z",
+        "queued_at": "2026-07-25T09:43:26.231Z",
+        "bytes": 2588,
+        "thumb": true
       },
       {
         "model": "hf-qwen-coder-32b",
@@ -18452,11 +18458,11 @@
       },
       {
         "model": "qwen25-7b",
-        "status": "queued",
+        "status": "running",
         "error": null,
         "seconds": null,
         "cost": null,
-        "started_at": null,
+        "started_at": "2026-07-25T09:44:20.339Z",
         "finished_at": null,
         "queued_at": "2026-07-25T09:43:26.318Z"
       },
diff --git a/idea-run/night-cycle.sh b/idea-run/night-cycle.sh
index a9257ca..ab25619 100755
--- a/idea-run/night-cycle.sh
+++ b/idea-run/night-cycle.sh
@@ -65,7 +65,9 @@ fi
 # PARALLEL: keep up to MAXP battles in flight. Paid models (kimi/gpt/grok) + claude-code
 # run concurrently across battles; locals drain serially per Ollama host. Fire enough
 # to refill to MAXP so the pipeline stays saturated.
-MAXP=${MAXP:-4}   # 4 keeps aggregate local-drain (~13min) > wake interval (10min) → pipeline never hits 0
+MAXP=${MAXP:-2}   # 2 (was 4): 4 saturated the Ollama host so the vision JUDGE starved (0 crowns)
+                  # + fired too many concurrent gpt calls (OpenAI 'too many concurrent requests').
+                  # 2 lets judging + crowning keep up and stays under the paid rate limit.
 FIRED="(backlog $ACTIVE/$MAXP — full)"
 if [ "${ACTIVE:-0}" -lt "$MAXP" ]; then
   NEED=$(( MAXP - ACTIVE )); LINES=""

← 77022d9 night-loop: cycle 02:43 — judged=e23b2dee4b1a · fired 3 →; F  ·  back to Model Arena  ·  night-loop: cycle 02:57 — judged=34debb53dbc7 · fired 1 →; F d476a1b →