chore: preserve pre-cleanup product baseline

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Даня Архипов
2026-08-01 17:48:00 +00:00
parent c0dedfcdfb
commit 4413f01ce4
67 changed files with 151152 additions and 1960 deletions

View File

@@ -43,7 +43,7 @@ export const DEMO_STEPS: DemoStep[] = [
scenarioId: 'round_object',
preferredAction: 'step',
focusArea: 'scene',
explanation: 'Roundness >= 0.7 after valid dimensions sends the item to D for repack/shape issue handling.',
explanation: 'Roundness K > 0.8 after valid dimensions sends the item to D for repack/shape issue handling.',
whatToWatch: 'Roundness FAIL for B, category D and the upper route/pusher D command.',
juryValue: 'Shows how the circle-section rule becomes a physical route.',
relatedCriteria: ['classification-rules', 'geometry-variety', 'physical-routing'],

View File

@@ -84,8 +84,8 @@ export const ITEMS: Item[] = [
},
{
id: 'SKU-010',
name: 'Boundary box 450x320x320',
dimensionsMm: { width: 450, depth: 320, height: 320 },
name: 'Near-max box 449x319x319',
dimensionsMm: { width: 449, depth: 319, height: 319 },
roundness: 0.2,
confidence: 0.9,
shape: 'boundary box',

View File

@@ -0,0 +1,70 @@
/**
* Compact tracked production-status summary for the Documentation page.
* Sources: Gate 2C / 2D confirmed decisions. Unverified values are NOT stated as facts.
* Does not import ignored tools/author-exact-v4/out/ at runtime.
*/
export const PRODUCTION_STATUS = {
acquisitionPackStatus: 'DATA_ACQUISITION_PACK_READY',
electricalGateStatus: 'BLOCKED_BY_MISSING_PRODUCTION_INPUTS',
productionDesignReady: false,
motorSelected: false,
encoderSelected: false,
diverterApproved: false,
cadReady: false,
gate3Started: false,
} as const;
/** Confirmed layout facts only (drawing / shared provenance). */
export const CONFIRMED_LAYOUT = {
workspaceMm: { length: 10000, width: 6000 },
conveyorWidthMm: 500,
conveyorHeightMm: 700,
pointACenterlineFromWorkspaceBottomMm: 3000,
authorDiverter: 'ABSENT' as const,
link027029Role: 'STOP_GATE' as const,
} as const;
export const CONFIRMED_COMPONENT_POLICY = {
mg996r: 'PROTOTYPE_ONLY' as const,
vl53l0x: 'NOT_PRODUCTION_OR_SAFETY' as const,
productionMotor: 'NOT_DEFINED' as const,
productionGearbox: 'NOT_DEFINED' as const,
productionDriver: 'NOT_DEFINED' as const,
productionEncoder: 'NOT_SELECTED' as const,
} as const;
export const ROLLER_DIAMETER_CONFLICT = {
authorCadIdlerMm: 50,
runtimeIdlerMm: 80,
runtimeDriveMm: 120,
status: 'CONFLICTING' as const,
} as const;
export const CURRENT_BLOCKERS = [
'Отсутствуют производственные параметры двигателя',
'Энкодер не выбран',
'Конфликт диаметров роликов (CAD idler 50 / runtime idler 80 / runtime drive 120)',
'ROOT_BIND не подтверждён',
'Не зафиксирована геометрия junction',
'Отсутствуют товарные нагрузки (масса, COM, трение)',
'Не завершена силовая архитектура',
'Не завершена safety-архитектура',
'Производственный diverter ещё не спроектирован',
] as const;
export const GATE_STATUS_BOARD = [
{ gate: '0 BASELINE', status: 'PASS' },
{ gate: '1 AUTHOR STRUCTURE', status: 'PASS' },
{ gate: '2 KINEMATICS', status: 'BLOCKED' },
{ gate: '2A source discovery', status: 'NO_AUTHOR_DIVERTER_SOURCE' },
{ gate: '2B engineering spec', status: 'ARCHITECTURE_RESELECTION_REQUIRED' },
{ gate: '2C production electrical', status: 'BLOCKED_BY_MISSING_PRODUCTION_INPUTS' },
{ gate: '2D data acquisition pack', status: 'DATA_ACQUISITION_PACK_READY' },
{ gate: '3 AUTHOR_EXACT / production CAD', status: 'NOT_STARTED' },
] as const;
export const DATA_ACQUISITION_SEQUENCE = ['MEASURE', 'VERIFY', 'FREEZE', 'DESIGN'] as const;
export const OWNER_INPUT_FORM_NOTE =
'Главный документ входных данных владельца: OWNER_PRODUCTION_INPUT_FORM.md (пакет Gate 2D, вне публичного runtime).';

View File

@@ -23,7 +23,7 @@ export const SCENARIOS: Scenario[] = [
{
id: 'round_object',
name: 'Round object',
description: 'Габариты проходят, но roundness >= 0.7, маршрут в D.',
description: 'Габариты проходят, но roundness K > 0.8, маршрут в D.',
goal: 'Показать проверку круглого сечения после габаритов.',
expectedCategorySummary: 'D for every item',
demonstrates: 'Rule-based shape issue routing без реального ML на MVP-этапе.',
@@ -43,8 +43,8 @@ export const SCENARIOS: Scenario[] = [
name: 'Boundary dimensions',
description: 'Товары около min/max границ показывают устойчивость правил.',
goal: 'Проверить строгие границы min/max.',
expectedCategorySummary: 'Boundary box -> B, Pen -> C',
demonstrates: '450 x 320 x 320 проходит, width 9 мм не проходит min width.',
expectedCategorySummary: 'Near-max 449×319×319 -> B, Pen -> C',
demonstrates: 'Строгие границы: 449×319×319 проходит, 450×320×320 и width 9 мм — нет.',
items: ['SKU-010', 'SKU-009', 'SKU-002'].map(getItem),
},
{