Files
dotfiles/.scratch/handoffs/20260720-0835-xray-proxy-after-03.md
T
ddadmin 90cc8456cd docs(xray-proxy): обновлён handoff конвейера после задачи 03
- Зачем:
  - прежняя записка описывала состояние до задачи 03 и не содержала
    решения пользователя по эксперименту с эффортом для задачи 04.
- Что:
  - создан handoff after-03: статус тикетов, решение «04 на medium»,
    уроки resume-синтаксиса codex exec и потери usage при убитом ходе.
  - прежний handoff after-06 удалён как одноразовый по правилам AGENTS.md.
- Проверка:
  - git show --stat HEAD.
2026-07-20 08:35:47 -04:00

81 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Handoff: конвейер xray-proxy после задачи 03
Дата: 2026-07-20. Для свежего агента, продолжающего работу в этом
репозитории с пользователем Дмитрием. Заменяет handoff «after-06».
## Состояние проекта
- Спека: `docs/specs/2026-07-15-headless-xray-proxy-design.md` (обновлена
задачей 03: модель идентичности процессов, lifetime-flock, три исхода
проверки state).
- Тикеты: `.scratch/headless-xray-proxy/issues/01..06`. 01, 02, 03, 06 —
done; 04 — ready-for-agent (следующая); 05 — замыкающая (blocked by
03+04, включает ручную приёмку пользователем на целевых системах).
- Последний коммит работ: `5ace0cf` (feat 03, +890/−100).
- Тесты сейчас: `python3 -m unittest discover -s tests` → **49 OK** (~60 с);
`bash tests/test_proxy_launchers.sh` → **8 PASS**.
- Резолюции конвейера по 03 — в шапке тикета 03; расход токенов по этапам —
`.scratch/headless-xray-proxy/token-ledger.md`.
## Решение пользователя по эксперименту (2026-07-20)
Реализацию 04 гнать на `model_reasoning_effort="medium"` — добираем
статистику эксперимента (память `codex-effort-calibration`). Контекст
решения: 03 на medium дала 4 MAJOR от слепого CODE-ревью против 1 MAJOR у
06 на high (все — гонки конкурентности/восстановления; конвейер выловил и
починил, обе перепроверки FIXES_CONFIRMED). Оговорка: 03 богаче на гонки,
чем 06, чистым A/B не считать. Ревью постановок и кода, диагнозы — high.
## Как вести работу (проверено прогонами 06 и 03)
Скилл `claude-subagent-playbook`: постановка → spec-ревью (Codex, high;
для 03 это дало NEEDS_REWORK с 7 MAJOR и спасло реализацию — не
пропускать) → реализация Codex (medium) → саморевью (resume, medium) →
два слепых ревью (Claude TASK-субагент + Codex CODE свежий тред, high) →
триаж тредом исполнителя (resume, medium) → узкие перепроверки теми же
ревьюерами → приёмка оркестратором (обе сьюты локально) → коммит по
`conventional-commits`.
Критично:
- **thread_id Codex забирать сразу** из первой строки stdout-JSONL.
Рестарты сессии дважды убивали фоновые процессы/сторожа; тред
реанимируется `codex exec resume <id>` без потерь.
- **Синтаксис resume отличается**: `codex exec resume <id>` принимает
ТОЛЬКО `-c`-оверрайды (`-c 'sandbox_mode="workspace-write"'`,
`-c 'model="gpt-5.6-sol"'`, `-c 'model_reasoning_effort="…"'`), флаги
`-s`/`-m`/`-o` дают exit 2. Отчёты просить писать в файл через промпт.
- **Usage при убитом ходе теряется** (нет `turn.completed`); цифры
resume-хода покрывают тред по масштабу — фиксировать с оговоркой.
- Токен-леджер дополнять строкой на каждый этап; методика — в шапке
леджера.
- Один писатель в дереве; ревьюеров ограничивать read-only мандатом, после
ревью сверять `git status`.
- Чужие untracked-артефакты (`zed/.config/*`, `agents/.agents/skills/*`,
`scripts/setup-xray-proxy.sh`) не трогать и не коммитить.
## Решения пользователя (не пересматривать без него)
Память: `prefers-kiss`, `consultant-multi-distro`,
`codex-effort-calibration`. KISS с различением essential/accidental;
целевые системы: Ubuntu, РЕД ОС, возможно Astra/Alt (Python 3.8+
stdlib-only, переносимость); строгий отказ парсера и безопасный kill не
упрощать; секреты (VLESS/UUID/ключи) — никогда в stdout/stderr/argv/
state/репозиторий.
## Suggested skills
- `claude-subagent-playbook` — конвейер задач 04/05.
- `conventional-commits` — обязателен для каждого коммита.
- `resolving-merge-conflicts` — если merge с origin принесёт конфликты.
## Ближайший шаг
Задача 04: свежий обменный каталог (`mktemp -d`), spec-ревью постановки
`.scratch/headless-xray-proxy/issues/04-*.md` (Codex, high) → правка
постановки по находкам → реализация (**medium**) → далее по конвейеру.
После 04 — итоговое сравнение эксперимента и, при решении пользователя,
запись выводов в
`~/.claude/skills/claude-subagent-playbook/references/codex-exec.md`.
Затем 05 с ручной приёмкой пользователя на целевых системах.