Skip to content

Упростить Delegate Kit: единый запуск, проверяемые результаты и учёт затрат - #14

Merged
tomastaker merged 2 commits into
mainfrom
codex/simplify-delegate-kit
Sep 19, 2026
Merged

tomastaker merged 2 commits into
mainfrom
codex/simplify-delegate-kit

Conversation

@tomastaker

Copy link
Copy Markdown
Owner

Что меняется

Delegate Kit использовал несколько путей запуска, а готовность результата и расходы исполнителей не всегда были достаточно явно подтверждены. PR оставляет CLI/RPC единственным путём новых запусков, усиливает проверку результатов и показывает доступные расходы без выдачи подписочных оценок за фактическую оплату API.

  • Новые запуски используют CLI/RPC. Старые native/Paseo-конфигурации не переписываются: для нового запуска требуется явно выбрать CLI; уже запущенные задачи можно завершить или отменить.
  • Обязательные проверки связаны с результатом исполнителя: done требует их успешного выполнения. Для Codex добавлены проверки готовности среды до модельного запуска; shell и сетевые разрешения задаются явно.
  • Итоговые проверки выполняются в подготовленном рабочем каталоге под блокировкой, с проверкой версии исходников до и после. Независимое ревью использует замороженный снимок.
  • Расходы всех попыток разделены по API, подписке и неизвестному способу оплаты; оценки отделены от сообщённых сумм. Общая сумма остаётся частичной, расход координатора не приписывается задаче.
  • Пример команды содержит настраиваемые уровни Luna / Sol / Astra. Сохранённые пресеты не меняются. Исполнитель получает своё задание и полный доступный текст требований.
  • Повторные ошибки требуют пересмотра решения, но не вынуждают автоматически менять модель; явные пользовательские лимиты сохраняются. Убраны дублирование ledger и циклическая зависимость модулей.

Ревью

Проведены независимые проверки Standards и Spec. В Standards найден и исправлен дефект: после выхода или тайм-аута команды проверки её потомок мог продолжить изменять рабочий каталог уже после снятия блокировки. Теперь команда получает собственную группу процессов; оставшиеся потомки останавливаются, результат становится inconclusive, а блокировка снимается только после подтверждённой остановки группы. Добавлены два регрессионных теста; проверяющий повторил исходное воспроизведение и подтвердил исправление. По Spec подтверждённых замечаний нет.

Проверки

  • Полный набор bash tests/route.sh: 133/133 на итоговом коммите 28d97e8.
  • bash tests/gate.sh: 40/40.
  • node --test tests/checkpoints.test.mjs: 15/15, включая новые регрессии.
  • Синтаксические проверки и git diff --check.
  • Реальный запуск OMP RPC до ready/negotiate/get_state/EOF без отправки модельных запросов.

Первый общий прогон при одновременных дополнительных тестовых запусках дал четыре сбоя ожиданий/блокировок. Повторный полный прогон финальной версии без этих дополнительных запусков прошёл 133/133; платные модельные прогоны не выполнялись.

Ограничения

Поддержка оболочек подтверждена контрактными тестами, но полноценные модельные запуски всех интеграций не проводились. Проектные скрипты по-прежнему отвечают за внешние или намеренно отделённые сервисы, тестовые БД и браузерные сессии. Изменения внесены в репозиторий; установленные копии навыка и пользовательские пресеты автоматически не обновляются.

@coderabbitai

coderabbitai Bot commented Sep 19, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: 3aedf0f0-ed4a-45db-b119-a548ee6869ce


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Sep 19, 2026

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review Completed 2026-09-19T11:29:55.312844Z 28d97e8 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@tomastaker
tomastaker merged commit e002b08 into main Sep 19, 2026
4 checks passed

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 28d97e8bf8

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment on lines +113 to +116
result = spawnSync(contract.argv[0], contract.argv.slice(1), { cwd, env: { ...process.env, DELEGATE_KIT_REPORT_PATH: externalReport,
DELEGATE_KIT_CHECKPOINT: snapshot.id, DELEGATE_KIT_SOURCE_TREE: snapshot.tree, DELEGATE_KIT_WORKSPACE: workspace },
detached: true, timeout: contract.timeout_ms ?? 120000, killSignal: 'SIGKILL', stdio: ['ignore', out, err] });
lease.child_pid = result.pid;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Publish the check process group before blocking

If the verifier is interrupted or the host crashes while spawnSync is blocked, execution never reaches the lease.child_pid assignment, while the detached check process continues running. The retained workspace lock then contains only the dead verifier PID, so operators cannot identify or terminate the still-running process group before recovering the workspace; it may continue mutating files or holding services indefinitely. Spawn asynchronously and persist the child PID in the lease before waiting for completion.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant