ignatius commited on
Commit
402d5e1
·
1 Parent(s): 79253be

Queue: catalogue scores only for released interviews

Browse files

A submission under review has no catalogue record in real use, so its card
and the queue average no longer show one, even when an evaluation run scored
it. The brief's catalogue tab still shows any back-test it carries.

Claude-Session: https://claude.ai/code/session_01AteuhwysR4rHp4fqUteLAE

Files changed (1) hide show
  1. app/static/app.js +3 -2
app/static/app.js CHANGED
@@ -99,7 +99,8 @@ function statusChip(s){ const [cls, label] = STATUS[s] || STATUS.under_review; r
99
  const pct = x => x == null ? "–" : `${Math.round(x * 100)}%`;
100
  function renderQueue(){
101
  const groups = [["under_review","New submissions under review"],["released","Released interviews, scored against the catalogue"],["synthetic","Synthetic demonstration"]];
102
- const rel = LIST.filter(r => r.backtest && r.backtest.recall_head != null);
 
103
  const mean = rel.length ? rel.reduce((a,r) => a + r.backtest.recall_head, 0) / rel.length : null;
104
  $("#qstats").innerHTML = [`<span class="chip">${LIST.length} interview${LIST.length===1?"":"s"}</span>`,
105
  `<span class="chip flag">${LIST.filter(r=>r.status==="under_review").length} under review</span>`,
@@ -113,7 +114,7 @@ function renderQueue(){
113
  ${r.claims?`<span class="chip ${r.discrepancies?"bad":"good"}">${r.discrepancies} donor discrepanc${r.discrepancies===1?"y":"ies"}</span>`:""}
114
  ${r.flags?`<span class="chip flag">${r.flags} listening flag${r.flags===1?"":"s"}</span>`:""}
115
  <span class="chip">${r.headings} headings</span><span class="chip">${r.places} place mentions</span>
116
- ${r.backtest?`<span class="chip good">${pct(r.backtest.recall_head)} of ${r.backtest.catalogued} catalogue headings found</span>`:""}</div>
117
  ${r.summary?`<p class="qsum">${esc(r.summary)}${r.summary.length>=280?"…":""}</p>`:""}</div>
118
  <div class="btns"><button class="btn primary" data-open="${esc(r.id)}">Open brief</button></div></div>`).join("")}</div>`; }).join("")
119
  || '<div class="panel"><p class="muted">No interviews prepared yet.</p></div>';
 
99
  const pct = x => x == null ? "–" : `${Math.round(x * 100)}%`;
100
  function renderQueue(){
101
  const groups = [["under_review","New submissions under review"],["released","Released interviews, scored against the catalogue"],["synthetic","Synthetic demonstration"]];
102
+ // Catalogue scores only for released interviews: a new submission has no catalogue record yet.
103
+ const rel = LIST.filter(r => r.status === "released" && r.backtest && r.backtest.recall_head != null);
104
  const mean = rel.length ? rel.reduce((a,r) => a + r.backtest.recall_head, 0) / rel.length : null;
105
  $("#qstats").innerHTML = [`<span class="chip">${LIST.length} interview${LIST.length===1?"":"s"}</span>`,
106
  `<span class="chip flag">${LIST.filter(r=>r.status==="under_review").length} under review</span>`,
 
114
  ${r.claims?`<span class="chip ${r.discrepancies?"bad":"good"}">${r.discrepancies} donor discrepanc${r.discrepancies===1?"y":"ies"}</span>`:""}
115
  ${r.flags?`<span class="chip flag">${r.flags} listening flag${r.flags===1?"":"s"}</span>`:""}
116
  <span class="chip">${r.headings} headings</span><span class="chip">${r.places} place mentions</span>
117
+ ${r.backtest && r.status === "released"?`<span class="chip good">${pct(r.backtest.recall_head)} of ${r.backtest.catalogued} catalogue headings found</span>`:""}</div>
118
  ${r.summary?`<p class="qsum">${esc(r.summary)}${r.summary.length>=280?"…":""}</p>`:""}</div>
119
  <div class="btns"><button class="btn primary" data-open="${esc(r.id)}">Open brief</button></div></div>`).join("")}</div>`; }).join("")
120
  || '<div class="panel"><p class="muted">No interviews prepared yet.</p></div>';