feat: clue safety-net engine (essential-gap + solvability)

This commit is contained in:
2026-07-20 16:44:44 +01:00
parent bc8e23c5f6
commit f89a218eae
2 changed files with 51 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
export function analyzeClues(clues = [], revealed = []) {
const seen = new Set(revealed);
const essential = clues.filter((c) => c.essential);
const missingEssential = essential.filter((c) => !seen.has(c.id));
return {
total: clues.length,
revealedCount: clues.filter((c) => seen.has(c.id)).length,
essentialTotal: essential.length,
essentialRevealed: essential.length - missingEssential.length,
missingEssential,
solvable: missingEssential.length === 0,
};
}