Initial curated chimera source from a8ae5b1db07fb49926c94585e2718e5130330974

This commit is contained in:
Public Source Publisher committed 2026-10-01 01:38:08 +02:00
commit c737a37f71
531 files changed
+119270

No files matched your search

@@ -0,0 +1,45 @@
'use strict';
const assert = require('node:assert/strict');
const fs = require('fs');
const os = require('os');
const path = require('path');
const test = require('node:test');
const { classifyRoot, createSourceClassificationService } = require('../../src/services/source-classification-service');
test('source classifier recognizes PS4 and PS5 roots without changing settings', () => {
const root = fs.mkdtempSync(path.join(os.tmpdir(), 'chimera-source-classification-'));
const ps4 = path.join(root, 'PS4');
const ps5 = path.join(root, 'PS5');
fs.mkdirSync(path.join(ps4, 'CUSA12345 Example'), { recursive: true });
fs.mkdirSync(path.join(ps5, 'PPSA54321 Example'), { recursive: true });
const writes = [];
try {
assert.equal(classifyRoot(ps4).classification, 'ps4');
assert.equal(classifyRoot(ps5).classification, 'ps5');
const service = createSourceClassificationService({
roots: () => [ps4, ps5],
settings: { get: (_key, fallback) => fallback, set: (...args) => writes.push(args) },
});
const result = service.analyze();
assert.equal(result.automaticChangesApplied, 0);
assert.equal(result.recommendations.length, 2);
assert.deepEqual(writes, []);
} finally {
fs.rmSync(root, { recursive: true, force: true });
}
});
test('source classifier leaves ambiguous and missing roots as review evidence', () => {
const root = fs.mkdtempSync(path.join(os.tmpdir(), 'chimera-source-ambiguous-'));
try {
fs.writeFileSync(path.join(root, 'readme.txt'), 'unknown');
const ambiguous = classifyRoot(root);
const missing = classifyRoot(path.join(root, 'missing'));
assert.equal(ambiguous.classification, 'unknown');
assert.equal(ambiguous.confidence, 'low');
assert.equal(missing.exists, false);
} finally {
fs.rmSync(root, { recursive: true, force: true });
}
});