GEODE
Autonomous Agent Harness
Від спостереження до наступної дії.
Локальна обв’язка автономного агента, якій можна доручити дослідження, роботу з файлами та заплановані завдання.
Прийняття кандидата й повноваження на реліз — окремі рішення.
Crucible — експериментальне ядро, окреме від пошуку політик. Коміт-кандидат перевіряється на відповідність дозволеним поверхням і замороженому контракту, парні завдання агрегуються в окремому вимірювальному checkout, а результат — KEEP, REJECT або INVALID.
Вердикт train
Один кандидат у межах дозволеної поверхні вимірюється за фіксованим контрактом в ізольованому checkout, а попередньо зареєстровані правила вирішують KEEP, REJECT або INVALID.
propose → preflight
search/supervisor.pyзапуск · рішення: запит кандидатаsearch/producersSupervisor пошуку просить кандидата у виробника. Кандидат r14 — це раніший кандидат (r13), повторно застосований виробником replay, а не новий, згенерований LLM.
search/producersдані: один коміт-кандидатpropose → preflight
search/supervisor.pyВиробник повертає один коміт-кандидат у межах дозволених шляхів.
propose → preflight
search/supervisor.pyзапуск · рішення: дозволена поверхня · перевірка diffдозволена поверхня · diff кандидатаcontract.pyDiff кандидата має лишатися в межах дозволеної контрактом поверхні, а заморожений оцінювач перевіряється. У r14 і r35 дозволеною ціллю був один файл, tau2_agent_policy.md; core і реалізацію Crucible зафіксовано як шлях оцінювача.
evaluate → decide → record
search/supervisor.pyзапуск · рішення: ізольований checkoutізольовано від виробникаmeasurement checkoutКандидата перевіряють у вимірювальному checkout, відокремленому від виробника.
ізольовано від виробника
measurement checkoutзапуск · рішення: запуск за фіксованим контрактомзапуск tau2 · receiptassays/Базова лінія й кандидат запускаються з тим самим контрактом, сідом і завданнями.
запуск tau2 · receipt
assays/дані: діалог actor · userСередовище tau2Агент GEODE (actor) розмовляє із симульованим користувачем, що належить оцінювачу, у середовищі завдань tau2.
запуск tau2 · receipt
assays/дані: виклики моделіМоделі actor · userУ r14 і r35 і actor, і симульований користувач працювали на gpt-5.4/high (підписка).
верифікатор завдань
assays/дані: paired evidenceпарні · завдання · агрегування за сімействомpromotion.pyРезультати верифікатора завдань зберігаються як пари базова лінія–кандидат.
заморожений оцінювач · попередньо зареєстровано
contract.pyзапуск · рішення: попередньо зареєстроване агрегуванняпарні · завдання · агрегування за сімействомpromotion.pyПарні результати агрегуються за завданнями й попередньо зареєстрованими сімействами, а умови бюджету, покриття, інфраструктури й безпеки перевіряються окремо.
KEEP · REJECT · INVALID
promotion.pyзапуск · рішення: KEEP · head пересуваєтьсяsearch/* headrefs/crucibleЗа KEEP наступний head refs/crucible/search/* стає кандидатом. promotion_authority вердикту train — none.
Відхилення · недійсність · зворотний зв’язок
REJECT і INVALID зберігають head, а наступний кандидат отримує лише коди збоїв і фіксовані ID завдань train. INVALID — не нульова оцінка.
верифікатор завдань
assays/дані: paired evidenceпарні · завдання · агрегування за сімействомpromotion.pyРезультати верифікатора завдань зберігаються як пари базова лінія–кандидат.
заморожений оцінювач · попередньо зареєстровано
contract.pyзапуск · рішення: попередньо зареєстроване агрегуванняпарні · завдання · агрегування за сімействомpromotion.pyПарні результати агрегуються за завданнями й попередньо зареєстрованими сімействами, а умови бюджету, покриття, інфраструктури й безпеки перевіряються окремо.
KEEP · REJECT · INVALID
promotion.pyдані: REJECT · INVALIDкоди збоїв · ID завдань trainattempt/feedback.jsonУ разі відхилення чи недійсності попередній head лишається, а кандидат і його записи зберігаються. Середнє INVALID — null, а не нуль.
коди збоїв · ID завдань train
attempt/feedback.jsonдані: коди збоїв · ID завданьsearch/producersЗворотний зв’язок для наступного кандидата обмежено кодами збоїв і фіксованими ID завдань train; траєкторії чи відповіді оцінювача не передаються.
Запечатана допустимість · окреме повноваження
KEEP на train лише пересуває head пошуку. Запечатана допустимість доходить лише до eligible ref; реліз і розгортання продукту — окремі повноваження поза Crucible.
evaluate → decide → record
search/supervisor.pyдані: record · ref receipttrain bundle · перерахований KEEPattestation/bundle.pyTrain bundle дійсний лише тоді, коли пов’язано все: контракт, докази базової лінії й кандидата, перерахований KEEP, родовід пропозиції, запис supervisor і receipt застосованого ref. Це не інша назва покращення.
train bundle · перерахований KEEP
attestation/bundle.pyзапуск · рішення: лише train bundle · один разтестовий набір без перетину · використовується разattestation/sealed.pyЗапечатане оцінювання один раз використовує тестовий набір, що не перетинається з train, з нулем інфраструктурних повторів.
ELIGIBLE · release_authority none
attestation/sealed.pyзапуск · рішення: лише eligible refeligible/*refs/crucibleНавіть ELIGIBLE записує лише refs/crucible/eligible/*, а release_authority зафіксовано як none.
Публічні записи · r14 · r35
r14 — KEEP на train, потім запечатаний REJECT; r35 (July 13, 2026) — INVALID через неповне покриття й інфраструктурне забруднення (0 парних рядків, середнє null), head без змін.
KEEP · REJECT · INVALID
promotion.pyдані: публічний verdict.jsongeode-eval-artifactsПублічні артефакти — нормалізовані записи, зафіксовані на 23e3428. Попередньо зареєстрований хеш конфігурації train для r14 відрізняється від байтів публічної конфігурації, тож увесь оригінальний ланцюжок повторно не засвідчено.
attestation/sealed.pyдані: sealed decision.jsonr14 · train KEEP → sealed REJECT
geode-eval-artifactsr14: KEEP на telecom train, 6 завдань × 1 спроба (6 парних рядків, без повноважень на просування), потім окремий запечатаний вердикт REJECT (без повноважень на реліз).
Усі зв’язки однакової товщини. Оберіть потік, щоб підсвітити лише його шлях із пронумерованими кроками.
- Суцільна · напрямок, яким рухаються запити, кандидати й результати
- Штрихова · запуск, рішення, авторизація, налаштування
- Товста чорна лінія · обраний потік; номери показують порядок
- Рамка · межа коду чи записів, шлях у заголовку
- Внутрішня плашка · компонент у цій межі
- Штрихова рамка · поза цією межею
- supervisor пошуку
- контракт · вердикт · атестація
- refs · записи
- виробники · виконання
Crucible — ядро, окреме від SIL; два пошуки не є одним конвеєром, що просуває кандидатів одне одного. Блок релізу продукту не має вхідних зв’язків.
- Три повноваження
- KEEP на train пересуває head пошуку, запечатаний ELIGIBLE записує eligible ref, а реліз продукту — окреме рішення поза Crucible. Раніший вердикт ніколи не надає пізнішого повноваження.
- Null — не нуль
- r35 планував 9 завдань × 3 спроби (27 рядків на гілку), але мав 0 порівнюваних пар, тож його середнє й покращення — null. Це не 27 провалених завдань і не 0% успіху.