feat: maximize sorter demo realism and add safe agent MVP

Wire live classifyItem into continuous playback, add jam/E-stop cases,
presenter controls (seek/speed/hotkeys), quality modes, demo scripts,
audit docs, and a verify-only autonomous agent CLI with hard safety limits.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Даня Архипов
2026-07-15 16:53:35 +00:00
parent e89c728dd2
commit 985f7c327d
40 changed files with 3358 additions and 453 deletions

29
src/data/resolveItem.ts Normal file
View File

@@ -0,0 +1,29 @@
/**
* Resolve playlist / scenario item ids, including low-confidence variants (SKU-*-LC).
*/
import type { Item } from '../domain/types';
import { getItem, ITEMS } from './items';
/** Strip -LC suffix and apply low confidence when present. */
export function resolveItem(itemId: string): Item {
if (itemId.endsWith('-LC')) {
const baseId = itemId.slice(0, -3);
const base = getItem(baseId);
return {
...base,
id: itemId,
confidence: Math.min(base.confidence, 0.58),
};
}
return getItem(itemId);
}
export function findItemOrFallback(itemId: string): Item {
try {
return resolveItem(itemId);
} catch {
const stripped = itemId.replace(/-LC$/, '');
return ITEMS.find((i) => i.id === stripped) ?? ITEMS[0];
}
}