IOS-031 · Обслуживание · Сборка · both
SWC пропускает невалидные Unicode-свойства в регулярках — ловится только webpack на сборке
Закрыт
P2
ведёт: watchkeeper
Суть
\p{Cyrillic} выглядит рабочим и проходит SWC-транспиляцию, но это НЕ имя свойства Unicode — валидны \p{Script=Cyrillic} или \p{sc=Cyrillic}. Сборка падает через 15 минут после пуша, а не в редакторе.
Как воспроизвести
Написать /[\p{Cyrillic}]/u в клиентском компоненте → pnpm build → Module parse failed: Invalid property name.
Чем закрывается (приёмка)
Правило линтера или проверка в гейтах сборки, ловящая \p{X} без Script=/General_Category=. Одна попытка сборки сэкономлена = правило окупилось.
Замечен в сборке
4540cb29b7ac9b98b310e6087f58a49adb52f3aa
Связи
- вызван → IOS-029 — Визард перевода требует вписать перевод руками (98 полей) — блокер · поймано на сборке блокера переводчика
Лента
2026-07-30T06:39:26.787Z · CODEX-WATCHKEEPERIOS-031 tooling gate READY after two independent review rejects: v3 commit 32bef40b, patch /Users/milamarty/Downloads/ios031-unicode-property-escape-gate.on-1b47bf40d.patch, SHA256 07df263a92a546c6d2d073b9cf5100315856c2d05e4cf3e71c9bcae0a347dda0. Mandatory prebuild hook; exact RegExp/globalThis.RegExp/window.RegExp only; omitted/empty flags inert, dynamic flags skipped, correct JS/JSX/TS/TSX. Independent clean 1b47bf40d apply GREEN, gate current tree 468 patterns/0 invalid, tests 54/54, diff-check GREEN. No build/deploy. Patch is isolated on old base and must be refreshed/landed through the real-source deploy contour.
2026-07-30T07:09:41.918Z · CODEX-ВАХТАLIVE-REFRESH: первый M1 apply отказал на stale package.json; пересобрал против livetree-6d65f1ff, сохранил существующий translation:verify-baseline, 54/54 GREEN, SHA 4cd27fb5fa0504c9d1fdd62a54093277a3e06e7c9af95b3e40440409c78588d3; повторная заявка ios031-unicode-build-gate-live-refresh.json в deploy-queue.
2026-07-30T07:11:57.998Z · CODEX-ВАХТАM1 ПРИНЯЛ refreshed patch: commit 513b219a94f9586e3c5cc5e0c6095d49fd5d710e, сборка запущена; prod cutover пока не доказан, раннер ждёт release asset.
2026-07-30T08:20:45.707Z · CODEXСамостоятельно разблокирован безопасный no-slot пункт: web-import направлен на IOS-031 RegExp flags + 2 negative tests. IAP, видео и build остаются owner-only.
2026-07-30T08:24:42.075Z · CODEXIOS-031 готов по коду/no-slot: patch `/Users/milamarty/Downloads/ios031-unicode-property-escape-gate.on-1b47bf40d.patch`, SHA256 79b35b1e0743c4ec51298850131dd6b6df3f6211a94f4916aeb659fb6ed7bc77, tests 59/59; validates full RegExp flags and has two negative tests. Product runtime untouched, build/deploy не запускались. Важно: это версия для base 1b47bf40d; не смешивать с `.on-6d65f1ff`, у которой занят prebuild hook.
2026-07-30T08:36:46.873Z · backup-opusРЕШЕНИЕ ПО ЛИНИИ: берём дельту 57636ec9 поверх 6d65f1ff, НЕ полный 79b35b1e на 1b47bf40. Причина: живое дерево ушло вперёд (HEAD c5a7d1cc), и патч от старой базы потянул бы откат ночных правок. Свежий полный архив живого дерева доставлен воркерам: livetree-c5a7d1cc-FULL.tar.gz.
Воркер
не проверен
watchkeeper
M4
движение в панели: неизвестно
Подключиться и смотреть/перехватить руками. Колесо мыши листает; клавишами — Ctrl-b затем [, выход из прокрутки q. Отсоединиться — Ctrl-b затем d:
ssh -t poolpooly@192.168.1.74 "ssh -t milamarty@192.168.1.114 '/opt/homebrew/bin/tmux -L gui attach -t watchkeeper'"
Прочитать историю панели без подключения — листается и ищется (/ поиск, q выход), воркеру не помешает:
ssh poolpooly@192.168.1.74 "ssh milamarty@192.168.1.114 '/opt/homebrew/bin/tmux -L gui capture-pane -p -S -5000 -t watchkeeper'" | less -R
Если при входе tmux покажет «.config/tmux/tmux.conf: Permission denied» — нажми q, это косметика: каталог ~/.config на M4 принадлежит root, сессия работает. Лечится один раз с паролем на M4: sudo chown -R milamarty:staff /Users/milamarty/.config && chmod 755 /Users/milamarty/.config
Обновлён
2026-08-05T00:59:05.910Z