Squash Odysseus development history

This commit is contained in:
pewdiepie-archdaemon
2026-09-11 06:04:19 +00:00
parent e5c99a5eee
commit 6ee6502010
2050 changed files with 538359 additions and 57745 deletions
+24
View File
@@ -0,0 +1,24 @@
import { test } from 'node:test';
import assert from 'node:assert/strict';
import { skillsSummaryMetrics, filterSkillsByQuickFilter, skillNeedsReview } from '../static/js/skillsMetrics.js';
test('approval uses the configured threshold for every item, not array index', () => {
const rows = ['one', 'two', 'three'].map(name => ({ name, status: 'published', audit_verdict: 'pass', confidence: 0.9, baseline_verdict: 'same' }));
assert.equal(skillsSummaryMetrics(rows, 0.85).approved, 3);
assert.equal(skillsSummaryMetrics(rows, 0.85).review, 0);
assert.equal(filterSkillsByQuickFilter(rows, 'approved', 0.95).length, 0);
assert.equal(filterSkillsByQuickFilter(rows, 'draft', 0.95).length, 3);
});
test('review badges agree with approval and keep unaudited skills queued', () => {
assert.equal(skillNeedsReview({ status: 'draft' }), false);
assert.equal(skillNeedsReview({ status: 'draft', audit_verdict: 'pass', confidence: 0.95 }), true);
assert.equal(skillNeedsReview({ status: 'published', audit_verdict: 'pass', confidence: 0.95, necessity: { necessary: false } }), true);
assert.equal(skillNeedsReview({ status: 'published', source: 'builtin' }), false);
});
test('built-ins and drafts have distinct filters and archived skills remain recoverable', () => {
const rows = [{ name: 'shipped', source: 'builtin', status: 'published' }, { name: 'bad', status: 'binned' }];
assert.deepEqual(filterSkillsByQuickFilter(rows, 'builtin').map(s => s.name), ['shipped']);
assert.deepEqual(filterSkillsByQuickFilter(rows, 'draft').map(s => s.name), ['bad']);
});