From 3c946d768932798b27fe3111633ef10db6a6de51 Mon Sep 17 00:00:00 2001 From: Saty <5752427+SatyPardus@users.noreply.github.com> Date: Mon, 19 Oct 2026 00:17:23 +0200 Subject: [PATCH] Regression check: exact to match_unresolved is not a regression Same bytes; whether a referenced label resolves depends on which other units the check compiled. The same Scripts.cpp functions refused batches of several contributors. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01RNwtXPYqFu3oKaaXwYwNWW --- src/server/verify.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/server/verify.js b/src/server/verify.js index 38fd366..ac3ea8e 100644 --- a/src/server/verify.js +++ b/src/server/verify.js @@ -246,7 +246,10 @@ export class Verifier { for (const row of this.store.all(`SELECT * FROM func_status WHERE status IN ('exact', 'match_unresolved') OR confirmed = 1`)) { if (!compiledFiles.has(row.file)) continue; const now_ = results.get(row.symbol_id); - if (!now_ || RANK[now_.status] < RANK[row.status]) out.push({ id: row.symbol_id, file: row.file, was: row.status, now: now_?.status ?? 'removed' }); + // Exact and match_unresolved are the same bytes: whether a referenced label resolves depends + // on which other units this check compiled, not on the change. + const rank = (s) => (s === STATUS.UNRESOLVED ? RANK[STATUS.EXACT] : RANK[s]); + if (!now_ || rank(now_.status) < rank(row.status)) out.push({ id: row.symbol_id, file: row.file, was: row.status, now: now_?.status ?? 'removed' }); // A peer-confirmed function whose compiled code changes was not seen by its reviewers. else if (row.confirmed && now_.status === STATUS.MISMATCH && Math.abs(now_.score - row.score) > 1e-4) { out.push({ id: row.symbol_id, file: row.file, was: 'peer-confirmed', now: `changed (score ${(row.score * 100).toFixed(1)}% -> ${(now_.score * 100).toFixed(1)}%)` });