Files
wiki/memory/2026-06-03.md
2026-06-03 11:00:01 +03:00

3.9 KiB
Raw Blame History


Plane per-agent authorship — ЗАВЕРШЕНО И ПОДТВЕРЖДЕНО (03.06)

PR #9 e9fd3052 ЗАМЕРЖЕН + прод пересобран

  • Код: config.py (7 bot-полей), plane_sync.py (PLANE_BOT_TOKENS, STAGE_AUTHORS, _headers_for(author) fallback, add_comment(author=) POST под токеном бота), точки вызова прокидывают author. GET/PATCH под общим токеном (не тронуты). 166 passed (158+8), 9 baseline.
  • ⚠️ Config-патч ОБЯЗАТЕЛЕН: образ уже содержит ORCH_PLANE_BOT_* env → без полей в config pydantic падает extra_forbidden. Прод поднялся → патч сработал.

🔑 ГЛАВНЫЙ УРОК: 403 → project_members

  • Боты были в workspace_members, но комментить можно только project_members. POST коммента давал 403 Forbidden (аутентификация ок, прав нет).
  • Фикс: добавила 7 ботов в project_members проекта 7a79f0a9-... (role 15, member). Бэкап plane-projmembers-backup-*.
  • ⚠️ NOT NULL member_id — без него INSERT падал (транзакция откатывалась молча). Правильный INSERT: id, role, member_id, project_id, workspace_id, view_props/default_props/preferences='{}', sort_order=65535, is_active, created_at, updated_at.

БОЕВАЯ ПРОВЕРКА ПРОЙДЕНА (proof из БД)

  • Каждый из 7 ботов запостил коммент на живую ET-009 (64e98247-...) → HTTP 201.
  • issue_comments JOIN users ON actor_id показал авторов: 🧠 Analyst / 🏗️ Architect / 💻 Developer / 🔍 Reviewer / 🧪 Tester / 🚀 Deployer / 🌊 Стрим — НЕ mva154.
  • Тестовые комменты убраны (soft-delete deleted_at, UPDATE 7 → 0 живых).

⚠️ ГРАБЛЯ shell/psql (потеряла время — на будущее)

  • heredoc через ssh '...' с вложенными кавычками/скобками в python/SQL — постоянно ломается (глотает вывод, ( unexpected, кавычки съедаются).
  • psql -v var=... без кавычек = идентификатор (column "font" does not exist).
  • scp в контейнере НЕТ.
  • РАБОЧИЙ способ передать скрипт на сервер: write локально → base64 -w0echo '<b64>' | base64 -d > /tmp/x на сервере → docker cppsql -f. Надёжно, без экранирования.

Plane identity — справочник

  • БД Plane: контейнер plane-app-plane-db-1, user plane, пароль = docker exec plane-app-api-1 printenv POSTGRES_PASSWORD.
  • Workspace ag_proj = 903e12e8-65c9-40a0-a7f6-0186f8af42d4. Главный проект enduro = 7a79f0a9-5278-49cd-9007-9a338f238f9c.
  • 7 ботов: email <role>@orch.local, is_bot=t, в workspace_members(role 15) И project_members(role 15). Токены 60-симв в .env ORCH_PLANE_BOT_<ROLE>.
  • Автор коммента = issue_comments.actor_id = владелец токена. Роли: ANALYST/ARCHITECT/DEVELOPER/REVIEWER/TESTER/DEPLOYER/STREAM.
  • ⚠️ При создании НОВЫХ проектов в Plane — ботов надо добавлять в project_members нового проекта, иначе 403. (Кандидат на автоматизацию: при ORCH-6 resolve проекта — авто-добавление ботов.)

ИТОГ дня 03.06

Закрыто: ORCH-1..7, L1L2L3, M-6, Plane per-agent authorship (Вариант A, боты). Всё в проде, проверено вживую. Открыто (НЕ срочно): авто-добавление ботов в project_members при новом проекте.