docs(skill): экономия контекста оркестратора по ретро прогона 2026-07-10
- Зачем:
- ретро трёх циклов конвейера показало: находки ревью проходили через
контекст оркестратора до шести раз, review-промпт дублировался, ~7
пустых ходов на idle-пингах teammate-ревьюера.
- Что:
- SKILL.md: механика «индекс у оркестратора, нагрузка файлами» — вердикты
в файлы обменного temp-каталога, fix-промпт конкатенацией, один
канонический review-промпт на обоих ревьюеров, idle-пинги как шум;
- новый references/prompt-templates.md — скелеты четырёх промптов;
- codex-exec.md: сборка промптов cat'ом, боевая модель gpt-5.5 явно
(фронтир из конфига не наследовать);
- codex-sandbox-fix-handover: рабочий AppArmor-фикс (ловушка memfd,
профиль на бинарь codex), проверен на обоих режимах;
- lessons.md: датированные записи ретро, казуса Sol и memfd.
- Проверка:
- чтение SKILL.md и references/, следующий прогон конвейера.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
4d074adda6
commit
15d5515925
5 files changed
+258
-22
No files matched your search
@@ -193,3 +193,41 @@ Codex (8 находок) поймал уровень требований: па
|
||||
|
||||
**Наблюдение пользователя (в память проекта тоже записано):** Codex хорошо
|
||||
ревьюит планы/постановки, не только код — при явной рамке уровня.
|
||||
|
||||
## Прогон 2026-07-10 (позже): AppArmor-фикс — ловушка memfd
|
||||
|
||||
Рецепт «профиль на путь vendored bwrap» из handover-файла оказался
|
||||
недостаточным: Codex ≥0.144 исполняет встроенный bwrap **из memfd**
|
||||
(`bundled_bwrap.rs`, `memfd_create` в бинаре) — путевой attachment не
|
||||
цепляется никогда. Коварство: прямой запуск vendored bwrap с диска под
|
||||
профилем проходит (BWRAP_OK) — ложное подтверждение фикса; истина — в audit:
|
||||
`profile="unconfined" comm="bwrap"` → transition. Рабочий фикс — профиль на
|
||||
**сам бинарь codex**: метка наследуется через memfd-exec, `userns,`
|
||||
срабатывает у ребёнка (стандартный приём Ubuntu для браузеров). Применён и
|
||||
проверен: оба режима работают, изоляция цела. Обновлённый рецепт — в
|
||||
handover-файле.
|
||||
|
||||
## Ретро 2026-07-10: расход контекста оркестратора за 3 цикла (тикеты 01–03)
|
||||
|
||||
Конвейер отработал (3 цикла: реализация → двойное слепое ревью → триаж →
|
||||
узкие перепроверки → коммит; пересечение находок ревьюеров — ноль во всех
|
||||
трёх, подтверждая ценность двух родословных). Главные пожиратели контекста
|
||||
оркестратора, по убыванию:
|
||||
|
||||
1. **Находки ревью проходили через оркестратора до шести раз**: вердикт →
|
||||
Write fix-промпта с находками «дословно» → пересказ резолюций в двух
|
||||
recheck-промптах → SendMessage-эхо (tool result возвращает весь текст
|
||||
сообщения). Лечение — «индекс у оркестратора, нагрузка файлами»:
|
||||
вердикты в файлы, fix-промпт cat'ом, recheck ссылкой на файл отчёта.
|
||||
Внесено в SKILL.md (роль оркестратора, этапы 4–5) и codex-exec.md.
|
||||
2. **Review-промпт уходил полным текстом дважды** (файл для Codex +
|
||||
параметр prompt Клод-субагента, ~80 строк × 2 × 3 тикета). Лечение —
|
||||
один канонический файл, оба читают сами; скелеты — prompt-templates.md.
|
||||
3. **Idle-пинги teammate-ревьюера**: ~7 пустых ходов; вердикт не приходит
|
||||
сам — нужен запрос. Лечение — мандат «финальный акт — SendMessage с
|
||||
коротким вердиктом», idle-пинги игнорировать.
|
||||
4. Сага починки санбокса — разовая, задокументирована отдельно.
|
||||
|
||||
Обменный каталог прогона — временный, с полуслучайным префиксом (скретчпад
|
||||
сессии или mktemp -d): не мусорит в репо и не переживает ребут (решение
|
||||
пользователя).
|
||||
Reference in new issue
Block a user