Skip to content

R0: восстановить доверие к master перед дальнейшей миграцией геометрии #60

Description

@lemone112

Цель

Сделать master доказуемо воспроизводимым и запретить дальнейший промоушен геометрии, пока полный набор видящих гейтов не подтверждает каждый generated-вариант.

Это управляющий issue первой волны. Долгосрочные планы остаются в Issues; каноническая документация описывает только действующий контракт.

Инварианты R0

  • один package manager и один lockfile;
  • одна verify-цепь: локально и в CI выполняется тот же pnpm verify;
  • ни один известный дефект topology/adjacency/clearance/ink-weight не остаётся generated;
  • preview всегда показывает неизменяемый baseline, текущий генерат, метрики и причину отклонения >3%;
  • релизная документация, package.json и workflow не противоречат друг другу;
  • устанавливаемый артефакт проверяется как внешний потребитель;
  • развитие анимационного API не определяет структуру статики до стабилизации part.id и Glyph IR v2.

Порядок работ

R0.1 Репозиторная воспроизводимость

  • удалить package-lock.json, оставить pnpm-lock.yaml;
  • закрепить packageManager и Node 20;
  • свести CI к вызову pnpm verify, сохранив отдельные bite-tests;
  • добавить проверку чистого pnpm pack и установки tarball в fixture;
  • добавить гейт, запрещающий второй lockfile и дрейф CI/verify.

R0.2 Демоут-аудит

R0.3 Quality Observatory

  • один JSON-report как SSOT результатов;
  • одна HTML-preview, являющаяся чистым представлением JSON-report;
  • baseline с commit/blob provenance, без чтения «руки» из уже перезаписанного рабочего дерева;
  • original / generated / overlay / difference;
  • Δ ink, topology, boundary-distance, weight, clearance, keylines;
  • raster audit 16/20/24/32/48;
  • красная маркировка parked/demoted и обязательная причина >3%.

R0.4 Контракт поставки и LabUI

  • выбрать и зафиксировать основной поддерживаемый канал установки;
  • проверить фактическое содержимое опубликованного артефакта;
  • убрать противоречия README, release workflow и LabUI docs;
  • добавить внешний ESM/CJS/types/tree-shake smoke-test;
  • подготовить отдельный LabUI PR по снятию стаба после зелёного package contract.

R0.5 Очистка очереди

Definition of Done

clean checkout
→ corepack enable
→ pnpm install --frozen-lockfile
→ pnpm verify
→ pnpm pack
→ install tarball in isolated fixture
→ ESM import + CJS subpath + types + tree-shaking PASS

Дополнительно: полный promoted-корпус не имеет известных HARD-дефектов, а preview и machine report воспроизводятся детерминированно.

Связанные задачи

#40 #41 #42 #43 #44 #45 #46 #47

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions