Update SKILL.md files to clarify usage of phase and bug handling skills. Added details about agent waves in phase-work, phase-review, and side-work descriptions, emphasizing the shared merge lock and the distinction between different task types. Improved guidance on handling ongoing phases and the importance of not interfering with others' work.
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
# Зависания и грязный main
|
||||
|
||||
То, на чём оркестрация этой сессии ломалась. Не чинить «на всякий случай» —
|
||||
только когда симптом совпал.
|
||||
|
||||
## Транскрипт
|
||||
|
||||
Живой агент, а в jsonl только стартовый user-промпт и «читаю скилл» /
|
||||
`GetMcpTools` — он не работает. После `interrupt` снова одна строка —
|
||||
повторный завис.
|
||||
|
||||
Не поллить транскрипты без повода: completion, «завис», «продолжай», тишина
|
||||
заметно дольше обычной фазы.
|
||||
|
||||
## MCP
|
||||
|
||||
`GetMcpTools` на `cursor-app-control` и ожидание echovault держали агента
|
||||
полчаса. В промпте: **не звать cursor-app-control**; memory — один раз или
|
||||
без неё.
|
||||
|
||||
## Interrupt
|
||||
|
||||
Короткий промпт: не начинай с нуля, брось MCP, вот ветка и worktree, вот
|
||||
незакоммиченное, которое нельзя выкинуть. Длинный повтор всего скилла снова
|
||||
вешает.
|
||||
|
||||
Два зависания подряд — старый уступает («git не трогай»), новый — продолжение
|
||||
того же 🔄: та же `phase/<N>-*` и тот же worktree, статус не сбрасывать.
|
||||
Это не новый захват ⬜ и не второй автор. Пинает координатор, не отдельный агент.
|
||||
|
||||
## Worktree
|
||||
|
||||
Путь **вне** репозитория. `node_modules` копировать из основного дерева или
|
||||
`npm ci`; копия worktree внутрь себя забивает диск. `git worktree remove
|
||||
--force` после merge; каталог с битым `node_modules` может остаться — prune.
|
||||
|
||||
Первая сборка в worktree длинная — это не завис.
|
||||
|
||||
## Грязный main и чужая ветка
|
||||
|
||||
`merge/lock` общий: фаза, баг, ревью, side. Чужой — ждать, не снимать.
|
||||
|
||||
phase-work не сливает, если `status --porcelain` непустой. Портреты, SwarmUI,
|
||||
чужой WIP на карточке блокировали 32/36/35/38/41.
|
||||
|
||||
Основное дерево должно уже стоять на `main`. Если пользователь на `bug/…` —
|
||||
не `checkout main`: снимешь ему IDE. Merge-агент стоп, слот ждёт.
|
||||
|
||||
Пользователь сказал «сливай» — stash `-u` своим сообщением, merge, pop
|
||||
только его. Pop с конфликтом: stash живёт, дерево не калечить.
|
||||
|
||||
Не stash’ать файлы, которые пишет сосед в **основном** дереве (он обязан
|
||||
быть в worktree; если нет — merge-агент стоп и отчёт «main занят»).
|
||||
|
||||
## DLL и тесты хоста
|
||||
|
||||
MSB3021/3027: процесс пользователя держит `HSchool.Server`. Не убивать.
|
||||
В отчёте: AppHost на main не пересобрался. Весь `dotnet test` solution
|
||||
из-за этого не гонять — и так не надо: только проект из Testing policy.
|
||||
|
||||
После фазы сессии хостовые тесты логинятся в `ResetAsync`. Два игрока — две
|
||||
куки, не общий jar. `OpenSchool` / часы от гостя не доходят — сокет-тесты
|
||||
открывают школу **владельцем**.
|
||||
|
||||
## Клиент
|
||||
|
||||
`npm test` на Windows иногда падает в параллели — `--maxWorkers=1`.
|
||||
`vitest` зелёный при мёртвом `tsc`: лови `npm run build` (дубликат ключа,
|
||||
неиспользуемый import).
|
||||
|
||||
## Pause / last wave
|
||||
|
||||
Пауза: WIP-коммит на ветке фазы, worktree оставить, main не трогать.
|
||||
Продолжение: `resume` с хешем WIP, не `git branch` заново.
|
||||
|
||||
«Остановись» / «закончи с этими»: текущие доводят merge, координатор **не**
|
||||
открывает следующую ⬜ по completion.
|
||||
Reference in New Issue
Block a user