docs(xray-proxy): добавлен handoff конвейера перед compact контекста
- Зачем:
- пользователь сжимает контекст сессии; состояние конвейера и решения
должны переживать сжатие в файле проекта, а не в разговоре.
- Что:
- создан .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>
This commit is contained in:
1 parent
98bfd6338a
commit
e048d79d46
2 files changed
+76
No files matched your search
@@ -0,0 +1,72 @@
|
|||||||
|
# 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** — эксперимент) → саморевью → слепые ревью →
|
||||||
|
триаж → приёмка → коммит; леджер вести построчно.
|
||||||
@@ -80,3 +80,7 @@ This repository contains personal dotfiles and configurations for a highly produ
|
|||||||
### Domain docs
|
### Domain docs
|
||||||
|
|
||||||
Используется схема single-context: корневой `CONTEXT.md` и общие ADR в `docs/adr/`. См. `docs/agents/domain.md`.
|
Используется схема single-context: корневой `CONTEXT.md` и общие ADR в `docs/adr/`. См. `docs/agents/domain.md`.
|
||||||
|
|
||||||
|
### Handoffs
|
||||||
|
|
||||||
|
Записки для продолжения работы в новой сессии — `.scratch/handoffs/YYYYMMDD-HHMM-<slug>.md` (одноразовые, коммитятся, уборка best-effort; скилл `/handoff` пишет сюда).
|
||||||
Reference in new issue
Block a user