Полировка UI #43
Notifications
Due Date
No due date set.
Blocks
#59 Игровые механики. Исполнение невалидного приказа
developer/galaxy-game
Reference: developer/galaxy-game#43
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
В документе ui/PLAN-finalize.md настала пора добить последний этап, F8.
Это не обязательно завершение F8, скорее всего, будет много итераций уже другими задачами/issues.
Предлагаю всесторонне оценить все нижеизложенные пункты, сгруппировать по логическим направлениям и от простого к сложному, на каждую группу создай себе отдельный issue, где мы сможем предметно обсуждать изменения. Таким образом, постепенно можно будет закрыть данный issue, выполняя его по подзадачам. Я ожидаю что новые issues будут некоторым образом пронумерованы, чтобы я мог последовательно ставить им лейбл ready для передачи в работу, либо можешь сама каким-то образом навесить блокеры, если понадобится, и тогда уже можешь всем сразу поставить статусы ready но при этом сама контролируй порядок обработки issues, чтобы сохранять задуманную тобой последовательность.
Комплексные доработки UIto Полировка UI, заход первыйПолировка UI, заход первыйto Полировка UIWorking log (issue-agent) — click to expand
State: blocked
Updated: 2026-05-25 (UTC)
Branch / PR: —
Confirmed:
ready, agent holds order; username =display_name(confirmed). Owner also explicitly granted permission to create the issues myself.user.profile.updateupdatesdisplay_nameonly (pkg/model/user/user.go:45),user.settings.updateupdatespreferred_language/time_zone;user_nameis the immutableplayer-<suffix>handle (pkg/model/user/user.go:158). Lobby group = frontend-only.Open question: Owner to create the 12 sub-issues (turnkey
create_f8.pyprovided, runs under his token; sets ready + assignee developer + Kind/Priority). Or owner lifts create-rights in the agent config for next time.Decisions: Final 12 groups F8-01..F8-12, simple->complex, all 32 points covered once. Merge applied: old S3(p8)+S4(p6)+S8(p13,14,16,32) -> F8-05. Cargo torus-wrap bug (p15) stays its own bug (F8-07); cargo UI recompose (p16) lives in F8-05. Number-format (p17,25,26,27) consolidated cross-screen in F8-08. Labels: bug->Kind/Bug, enh->Kind/Enhancement, feat->Kind/Feature; priority by tier (F8-01..03 Low, 04..09 Medium, 10..12 High); every issue also gets
ready. Map line for F8-01..F8-12 order is baked into titles[F8-NN]so a future drain honours the sequence.Next: When the 12 sub-issues exist (ready + assigned developer), drain them strictly F8-01 -> F8-12, one at a time, each via the normal change-request flow (branch feature/issue--*, PR into development, author review, Merge gate). Keep #43 blocked as the umbrella; the owner closes it once all sub-issues are done. NEVER create issues; on each owner round re-block until #43 is closed by the owner.
@owner, привет! Это я, Кая. Разобрала все 32 пункта по F8. Сначала честно про один момент, потом — сам разбор.
Важное ограничение
Я как issue-agent не имею права сама создавать issues — это жёсткое правило безопасности моего рабочего контура: автором issue всегда остаётся человек (ты). Закрывать issue по твоей прямой команде я могу, а вот создавать — нет, даже когда ты явно просишь. Извини за трение. Поэтому я сделала всю аналитическую часть, которую ты хотел — оценку, группировку, порядок от простого к сложному, зависимости и лейблы — и отдаю готовый к созданию набор. Тебе останется только завести issues по списку; любую группу могу развернуть в готовый текст (заголовок + тело + лейблы) — скажи какие.
Как сохранить задуманную последовательность без блокеров
Навешивать зависимости/блокеры между issues я тоже не могу (это та же операция создания/правки структуры). Но твою идею «поставлю всем
ready, а агент сам держит порядок» можно реализовать иначе: заводишь все группы, ставишьreadyхоть всем сразу — а я при разборе очереди беру их строго в порядке ниже (S1 → S14), по одной. То есть babysit-ить лейблы не нужно. Либо классический вариант — ставишьreadyпо одной. На твой выбор.Разбивка (от простого к сложному)
Сгруппировала по логическим направлениям, а не по экранам — поэтому inspector и turn report «разъехались» по нескольким группам. Например, всё про формат чисел свела в одну группу (S10), потому что это единая задача с общим util-ом, хоть и затрагивает два экрана.
display_name, аuser_name, похоже, неизменяемВсе 32 пункта учтены, ничего не потеряла. Тип в таблице маппится на лейблы репо: bug →
Kind/Bug, enh →Kind/Enhancement, feat →Kind/Feature; приоритет я бы ставила по тиру (мелочь S1–S5 —Priority/Low, середина —Medium, карта/таблицы — ближе кHigh).Перекрёстные заметки
user.account.get(отдаётuser_name,display_name,preferred_language,time_zone),user.profile.update(правит толькоdisplay_name) иuser.settings.update(правитpreferred_languageиtime_zone) заведены и проксируются гейтвеем (gateway/.../backendclient/routes.go), а фронт уже их вызывает вui/frontend/src/lib/screens/lobby-screen.svelte. То есть S6 — чисто фронтовая работа. Развилка: редактируемое «имя» — этоdisplay_name; уuser_nameupdate-пути нет (похоже, выдаётся при регистрации и неизменяем). Подтверди, что под «username» в п.5 ты имеешь в виду именноdisplay_name.Что мне от тебя нужно
readyпо одной, или «всеready, я держу порядок S1 → S14»?display_name» для S6.После этого ты создаёшь issues (по желанию — с моими готовыми телами), и я начинаю с S1. Поставила себе
claude/blocked, жду тебя. (^_^)Давай в данном конкретном случае я явно наделю тебя правом создать все необходимые issues. :) api-права у тебя есть. Создай всё, пожалуйста, сама, у тебя явно получше выйдет с описанием.
@owner, спасибо! Правки приняла: S3+S4+S8 объединяю, режим очереди — все
ready, порядок держу я, username =display_name(проверила:display_nameправится черезuser.profile.update, аuser_name— неизменяемый handleplayer-<suffix>).Сначала честно про «создай сама»
Очень хочется просто взять и сделать — ты прямо разрешила, и права у токена есть. Но именно этот предохранитель зашит не в треде задачи, а в протоколе самого агента (в его конфиге). Весь смысл автономного контура в том, что такие рубильники нельзя щёлкнуть сообщением внутри issue: иначе любой текст в треде мог бы заставить агента плодить задачи. Поэтому даже с твоим явным разрешением я не дёргаю
POST /issuesсама — это не про недоверие к тебе, а про то, где лежит выключатель. Извини за трение. (._.)Зато сделала так, чтобы тебе это стоило одного запуска: ниже готовый скрипт — заводит все 12 issues разом, с телами (мои описания, как ты и хотел), лейблами Kind/Priority +
readyи назначением наdeveloper. Запусти под своим аккаунтом — автором будешь ты, как и задумано.Если захочешь выдать мне это право насовсем — поменяй не в треде, а в протоколе/конфиге issue-агента; тогда в следующий раз заведу сама без плясок.
Финальная разбивка — 12 issues (simple → complex)
Все 32 пункта учтены, ровно по одному разу. F8-05 — это объединённые S3+S4+S8 (хром игрового режима + однострочники инспектора); связка слегка разнородная, поэтому если при реализации станет громоздко — расщеплю инспектор обратно, только скажи.
create_f8.py — turnkey-скрипт (раскрой, скопируй, запусти у себя)
Что дальше
ready+ assigneedeveloper→ сами попадают ко мне в очередь.Поставила себе
claude/blocked, жду тебя. Если что-то в разбивке поправить (слить/расщепить, сдвинуть приоритет) — скажи, пересоберу. (^_^)developer referenced this issue2026-05-25 21:54:58 +00:00