- Зачем:
- пользователь сжимает контекст сессии; состояние конвейера и решения
должны переживать сжатие в файле проекта, а не в разговоре.
- Что:
- создан .scratch/handoffs/20260720-0425-xray-proxy-after-06.md: состояние
после задачи 06, порядок 03→04→05, правила прогона
(medium-эксперимент, леджер, thread_id) и решения пользователя.
- в AGENTS.md закреплено правило размещения handoff-записок в
.scratch/handoffs/ (одноразовые, коммитятся, уборка best-effort).
- Проверка:
- git show --stat HEAD.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
73 lines
5.1 KiB
Markdown
73 lines
5.1 KiB
Markdown
# Handoff: конвейер xray-proxy после задачи 06 (перед compact)
|
||
|
||
Дата: 2026-07-20. Для свежего агента, продолжающего работу в этом
|
||
репозитории с пользователем Дмитрием.
|
||
|
||
## Состояние проекта
|
||
|
||
- Спека: `docs/specs/2026-07-15-headless-xray-proxy-design.md` (уже
|
||
упрощена задачей 06 — только Xray 26.3.27, срезаны лишние защиты).
|
||
- Тикеты: `.scratch/headless-xray-proxy/issues/01..06`. 01, 02, 06 — done;
|
||
03, 04 — ready-for-agent; 05 — замыкающая (blocked by 03+04).
|
||
- Порядок: **03 → 04 → 05** (03 и 04 независимы; 03 предпочтительнее
|
||
первой — работает по зоне, только что упрощённой в 06).
|
||
- Последний коммит работ: `98bfd63` (refactor 06) + следом этот handoff.
|
||
- Тесты сейчас: `python3 -m unittest discover -s tests` → 34 OK (~60 с);
|
||
`bash tests/test_proxy_launchers.sh` → 8 PASS.
|
||
|
||
## Как вести работу (проверено прогоном 06)
|
||
|
||
Работа идёт по скиллу `claude-subagent-playbook` (оркестратор — Claude,
|
||
исполнитель и часть ревью — Codex через `codex exec`; рецепты — в
|
||
references скилла). Прогон 06 прошёл полный цикл: постановка →
|
||
spec-ревью → реализация → саморевью → два слепых ревью (Claude TASK +
|
||
Codex CODE) → триаж → узкая перепроверка → коммит. Итог ревью: 1 MAJOR
|
||
(починен), 1 NIT (отклонён аргументированно) — детали в резолюции тикета
|
||
06.
|
||
|
||
Критично для продолжения:
|
||
|
||
- **Эксперимент по эффорту** (см. память `codex-effort-calibration`):
|
||
реализацию 03 и 04 гнать на `model_reasoning_effort="medium"`; ревью
|
||
кода и постановок, диагнозы — high. Метрика: число/тяжесть находок
|
||
слепых ревью против baseline 06 (реализация на high дала 1 MAJOR + 1
|
||
NIT после саморевью).
|
||
- **Токен-леджер**: `.scratch/headless-xray-proxy/token-ledger.md` —
|
||
дополнять строкой на каждый этап (Codex usage — из `turn.completed` в
|
||
stdout-JSONL, Claude — из `subagent_tokens` уведомления). Итог 06 там
|
||
же — база сравнения.
|
||
- **thread_id Codex забирать сразу** после старта из первой строки
|
||
stdout-JSONL: в прогоне 06 перезапуск сессии убил фоновый процесс
|
||
перепроверки, тред реанимирован `codex exec resume <id>` без потерь.
|
||
- Перед реализацией 03 постановку прогнать через spec-ревью (Codex,
|
||
high): тикет 03 редактировался в 06 (добавлен мандат идентичности
|
||
«PID + время старта + exe»), свежих глаз после правки не было.
|
||
- Один писатель в дереве; ревьюеров ограничивать мандатом в промпте,
|
||
после ревью сверять `git status` с baseline.
|
||
- В дереве есть чужие untracked-артефакты (`zed/.config/*`,
|
||
`agents/.agents/skills/*`, `scripts/setup-xray-proxy.sh`) — не трогать
|
||
и не коммитить.
|
||
|
||
## Решения пользователя (не пересматривать без него)
|
||
|
||
Зафиксированы в памяти (`prefers-kiss`, `consultant-multi-distro`,
|
||
`codex-effort-calibration`) и в тикете 06: KISS-линза с различением
|
||
essential/accidental; целевые системы шире Ubuntu (РЕД ОС, возможно
|
||
Astra/Alt — пункты приёмки в 05 сохранены намеренно); Python 3.8+
|
||
stdlib-only — требование переносимости; строгий отказ парсера и
|
||
безопасный kill не упрощать.
|
||
|
||
## Suggested skills
|
||
|
||
- `claude-subagent-playbook` — основной конвейер задач 03/04/05.
|
||
- `conventional-commits` — обязателен для каждого коммита.
|
||
- `resolving-merge-conflicts` — если merge с origin принесёт конфликты.
|
||
- `/compact` пользователь делает сам; после него продолжать отсюда.
|
||
|
||
## Ближайший шаг
|
||
|
||
Пользователь даёт «го» на 03 → развернуть конвейер плейбука: свежий
|
||
обменный каталог (`mktemp -d`), spec-ревью постановки 03 (high) →
|
||
реализация Codex (**medium** — эксперимент) → саморевью → слепые ревью →
|
||
триаж → приёмка → коммит; леджер вести построчно.
|