Files
dotfiles/.scratch/headless-xray-proxy/token-ledger.md
T
ddadminandClaude Fable 5 5ace0cfae0 feat(xray-proxy): добавлен безопасный жизненный цикл управляемого Xray
- Зачем:
  - stop/status опирались на обход argv и могли счесть чужой или
    переиспользованный PID управляемым процессом, а параллельный start
    и аварийная гибель супервизора не имели определённого поведения.
- Что:
  - введена модель идентичности: PID + starttime (поле 22 /proc/PID/stat),
    /proc/PID/exe для ребёнка, канонический путь скрипта для супервизора,
    boot_id как граница загрузки; перечитка перед каждым сигналом.
  - добавлены lifetime-flock супервизора, три исхода проверки состояния
    (здоровая пара / подтверждённый сирота / непроверяемое), отказ при
    занятом порте пробным bind и очистка stale только под lock.
  - тесты расширены до 49 (blank flock, подмена starttime, чужой exe,
    boot_id, SIGKILL супервизора, занятый порт, парсер stat); спека
    приведена к модели идентичности; тикет 03 закрыт, леджер дополнен.
- Проверка:
  - python3 -m unittest discover -s tests — 49 OK.
  - bash tests/test_proxy_launchers.sh — 8 PASS.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 07:02:33 -04:00

5.6 KiB
Raw Blame History

Токен-леджер проекта headless-xray-proxy

Затраты по этапам конвейера, для калибровки эффорта и планирования лимитов (5-часовые / недельные окна подписок). Прямое сравнение корректно внутри провайдера; между Claude и Codex метрики разные (у Claude-субагентов харнесс даёт один суммарный счётчик, у Codex — раздельные input/cached/ output/reasoning), кросс-сравнение — ориентировочное.

Задача 06 — упрощение (baseline: реализация на HIGH)

Этап Агент / модель Effort Токены Прочее
KISS-обход спеки и кода Claude Opus (субагент) default 100 025 суммарно 14 tool uses, 4.5 мин
Ревью постановки Codex gpt-5.6-sol high in 1 263 557 (кэш 1 174 784 → свежих ~89k), out 16 862 (reasoning 12 817) 82 команды
Реализация Codex gpt-5.6-sol high in 6 680 053 (кэш 6 492 928 → свежих ~187k), out 29 064 (reasoning 8 280) 84 команды, −331 строка
Саморевью Codex (resume) medium инкремент: свежих in ~155k, out ~4.5k 8 команд, found 2 fixed 2
Слепое ревью «по задаче» Claude Opus (субагент) default 75 216 суммарно 26 tool uses, 4.3 мин; 1 NIT
Слепое ревью «по коду» Codex gpt-5.6-sol (свежий тред) high in 2 336 162 (кэш 2 106 112 → свежих ~230k), out 12 434 (reasoning 7 033) 48 команд; 1 MAJOR
Триаж/починка Codex (resume) medium инкремент: свежих in ~26k, out ~7.3k 18 команд; FIXED 1, REJECTED 1
Перепроверка CODE-1 Codex-ревьюер (resume) medium инкремент: свежих in ~137k (вкл. оборванный первый заход), out ~1.8k FIXES_CONFIRMED

Итог 06 (high-baseline): свежий input ~735k + output ~97k на весь конвейер (обход, ревью постановки, реализация, саморевью, 2 слепых ревью, триаж, перепроверка); Claude-доля — 175k суммарно (обход 100k + ревью 75k).

Задача 03 / 04 (эксперимент: реализация на MEDIUM)

Заполняется по ходу; сравнивать построчно с 06.

Этап Агент / модель Effort Токены Прочее
03: ревью постановки Codex gpt-5.6-sol high in 1 126 384 (кэш 1 044 480 → свежих ~82k), out 15 830 (reasoning 9 567) NEEDS_REWORK: 7 MAJOR + 3 MINOR
03: реализация Codex gpt-5.6-sol medium in 5 925 714 (кэш 5 678 080 → свежих ~248k), out 29 512 (reasoning 11 251)* 88+6 команд; +657/−89; 44 OK + 8 PASS; процесс убит рестартом сессии перед отчётом, дописан через resume

| 03: саморевью | Codex (resume) | medium | инкремент: свежих in ~53k, out ~11.6k (reasoning ~7k) | 38 команд; found 3 fixed 3; 45 OK + 8 PASS | | 03: слепое ревью «по задаче» | Claude Opus (субагент) | default | 73 131 суммарно | 21 tool uses, 6.3 мин; 1 MINOR + 2 NIT | | 03: слепое ревью «по коду» | Codex gpt-5.6-sol (свежий тред) | high | in 1 103 725 (кэш 1 019 136 → свежих ~85k), out 12 797 (reasoning 8 908) | 28 команд; 4 MAJOR + 1 MINOR | | 03: триаж/починка | Codex (resume) | medium | инкремент: свежих in ~55.5k, out ~16.9k (reasoning ~7.8k) | 46 команд; FIXED 8, REJECTED 0; 49 OK + 8 PASS | | 03: перепроверка TASK-1..3 | Claude Opus (резюм субагента) | default | инкремент ~7.4k (суммарно 80 560) | 8 tool uses, 1.7 мин; FIXES_CONFIRMED | | 03: перепроверка CODE-1..5 | Codex-ревьюер (resume) | medium | инкремент: свежих in ~112k, out ~3.2k | 20 команд; FIXES_CONFIRMED |

Итог 03 (реализация на MEDIUM): Codex — свежий input ~636k + output ~77k (ревью постановки 82k/16k, реализация ~248k/29.5k, саморевью 53k/11.6k, CODE-ревью 85k/12.8k, триаж 55.5k/16.9k, перепроверка 112k/3.2k); Claude-доля — 80.5k суммарно (TASK-ревью + перепроверка). Против 06 (high-baseline: ~735k + 97k Codex, 175k Claude) — дешевле, но качество ниже: слепые ревью нашли 4 MAJOR (у 06 — 1), все — гонки конкурентности/восстановления; конвейер их выловил и починил.

* usage первого (убитого) хода не был зафиксирован (нет turn.completed); цифры — из resume-хода, по масштабу покрывают весь тред.

Наблюдения

  • Кэш у Codex покрывает ~93% входа ревью-этапа: длинные треды с большим контекстом дешевле по лимитам, чем кажется по сырому input.
  • Сравнивать этапы честнее по «свежий input + output (включая reasoning)», а не по валовому input.