← back to Ventura Corridor
feat(coverage): rejected-ideas drawer below the idea-loop feed
7d1fe85411c675f7258eda697dca988ee9a6dc64 · 2026-05-08 00:22:21 -0700 · SteveStudio2
Collapsible <details> below accepted-ideas grid. Shows recently rejected
debate-panel ideas (red score, type pill, title + body). Editorial
sanity-check: are we missing good ideas?
Routes:
GET /api/ideas/rejects {count, rows[]} from rejects.jsonl, newest
first, top 20. 60s cache.
UI:
/coverage.html idea-section collapsible "show recently rejected ideas"
drawer; styled red-toned to differentiate
from accepted gold.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Files touched
M public/coverage.htmlM src/server/index.ts
Diff
commit 7d1fe85411c675f7258eda697dca988ee9a6dc64
Author: SteveStudio2 <stevestudio2@SteveStacStudio.lan>
Date: Fri May 8 00:22:21 2026 -0700
feat(coverage): rejected-ideas drawer below the idea-loop feed
Collapsible <details> below accepted-ideas grid. Shows recently rejected
debate-panel ideas (red score, type pill, title + body). Editorial
sanity-check: are we missing good ideas?
Routes:
GET /api/ideas/rejects {count, rows[]} from rejects.jsonl, newest
first, top 20. 60s cache.
UI:
/coverage.html idea-section collapsible "show recently rejected ideas"
drawer; styled red-toned to differentiate
from accepted gold.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
---
public/coverage.html | 4 ++++
src/server/index.ts | 24 ++++++++++++++++++++++++
2 files changed, 28 insertions(+)
diff --git a/public/coverage.html b/public/coverage.html
index 89c9f9f..0cfdaf8 100644
--- a/public/coverage.html
+++ b/public/coverage.html
@@ -89,6 +89,10 @@ main{padding:32px;max-width:1200px;margin:0 auto}
<p style="font-family:'Cormorant Garamond',serif;font-style:italic;font-size:13px;color:var(--ink-mute);margin:0 0 14px">Surviving ideas from the autonomous idea-loop debate panel (qwen3 + gemma3 + deepseek-r1). Full viewer at <a href="http://127.0.0.1:9920/" target="_blank" rel="noopener" style="color:var(--metal)">:9920</a>.</p>
<div id="idea-stats" style="font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--ink-mute);margin-bottom:14px;text-transform:uppercase"></div>
<div id="idea-feed"></div>
+ <details style="margin-top:18px;padding-top:14px;border-top:1px dotted var(--rule)">
+ <summary style="cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.18em;color:var(--ink-mute);text-transform:uppercase">show recently rejected ideas (panel said no)</summary>
+ <div id="idea-rejects" style="margin-top:10px"></div>
+ </details>
</div>
<div class="bar-section">
diff --git a/src/server/index.ts b/src/server/index.ts
index 2f64a2f..90e6684 100644
--- a/src/server/index.ts
+++ b/src/server/index.ts
@@ -5213,6 +5213,30 @@ app.get('/api/fleet', async (_req, res) => {
res.json({ macs: [mac1, mac2], ts: Date.now() });
});
+// Recent REJECTS — what did the debate panel kill, with the verdict reasons.
+// Useful editorial signal when accept rate is low: "are we missing good ideas
+// because they were prematurely rejected?"
+app.get('/api/ideas/rejects', async (_req, res) => {
+ try {
+ const fs = await import('node:fs/promises');
+ const path = await import('node:path');
+ const home = process.env.HOME || '/Users/stevestudio2';
+ const p = path.join(home, '.claude', 'skills', 'idea-loop', 'data', 'rejects.jsonl');
+ let raw = '';
+ try { raw = await fs.readFile(p, 'utf8'); }
+ catch { return res.json({ count: 0, rows: [] }); }
+ const ideas = raw.split(/\r?\n/).filter(Boolean).map((line) => {
+ try { return JSON.parse(line); } catch { return null; }
+ }).filter(Boolean);
+ // Newest first (jsonl is append-only so reverse works)
+ ideas.reverse();
+ res.set('Cache-Control', 'public, max-age=60');
+ res.json({ count: ideas.length, rows: ideas.slice(0, 20) });
+ } catch (e: any) {
+ res.status(500).json({ error: e.message });
+ }
+});
+
app.get('/api/ideas/recent', async (_req, res) => {
try {
const fs = await import('node:fs/promises');
← 4a0ab3d feat(fleet): Mac1+Mac2 dashboard bridge on corridor homepage
·
back to Ventura Corridor
·
fix: 3 bugs caught by codex-2way audit at tick 73 1229e88 →