Files
SDR-Rover/.claude/commands/lab.md
LittleSam129 13f183f7c7 Run the core tests from the gate and finish the layout rename
The gate now runs pytest as well, so one command answers whether the code
base is broken: syntax, protocol imports, the 125 core tests, then the lab
functional suites. It fails when a test fails, verified by feeding it a
deliberately broken test.

Two leftovers from moving the labs into experiments/ are fixed: the lab
command still pointed at tests/, and the hook only watched protocol and
tests, so edits under experiments/ and tools/ triggered nothing.

Profiling the 3.6 s gate: 0.24 s syntax, 0.12 s imports, 0.61 s pytest,
2.7 s lab functional suites, of which Lab042's software loopback is 1.14 s
because it pushes a whole image through the chain. The pytest addition is
the small part. prepare_jpeg is now cached, since six checks call it and
each call re-encoded the image at several qualities.

README described the gate without the tests it now runs.
2026-08-11 13:40:05 +03:00

3.9 KiB
Raw Blame History

description, argument-hint
description argument-hint
Полный цикл работы над лабой — аудит, план, реализация, независимая проверка <номер лабы> [краткая постановка]

Работаем над лабой: $ARGUMENTS

Порядок обязательный. Не перескакивай через этапы и не начинай писать код, пока пользователь не согласовал план.

Этап 1. Аудит

Запусти агента Explore с запросом: что в protocol/ уже относится к этой задаче, какие модули придётся трогать, где есть пересечение или дублирование, как устроены две-три ближайшие по смыслу лабы в experiments/.

Прочитай сам последние записи в PROJECT_LOG.md — там указано, чем должен заниматься следующий этап.

Выдай карту: что есть, чего нет, что придётся изменить. Только карта, без решений.

Этап 2. План

На основе карты предложи план: какие модули создаются, какие меняются, что именно измеряет лаба, какие CSV и PNG появятся в data/processed, какие функциональные проверки будут в run_functional_tests.

Остановись и дождись согласования. Это прямое требование пользователя.

Этап 3. Реализация

Пишешь ты, в этом же треде. Отдельного агента-кодера не запускай — у тебя уже есть весь контекст, а он начнёт с нуля и потратит лимит впустую.

Держи стиль проекта: русские докстроки и подписи осей, from __future__ import annotations, датаклассы для метрик, CSV и PNG в data/processed, run_functional_tests и main как в соседних лабах.

После каждой заметной правки: python tools/quick_gate.py.

Этап 4. Проверка

Запусти агента verifier. В задании передай:

  • номер и постановку лабы своими словами,
  • список созданных и изменённых файлов,
  • команду полного прогона,
  • прямое указание читать требование из README.md и PROJECT_LOG.md, а не из твоего пересказа.

Если лаба касается управления, аварийной остановки, сеансов, сброса или подлинности сообщений — параллельно запусти adversary с брифом на атаку под эту тему.

Оба агента read-only. Правки вносишь ты.

Этап 5. Разбор находок

Ты арбитр. По каждой находке:

  • воспроизведи её сам, прежде чем чинить;
  • невоспроизводимую отклони и скажи об этом вслух;
  • подтверждённую почини и перезапусти проверку.

Не чини всё подряд из вежливости к агенту.

Этап 6. Завершение

Полный прогон лабы, затем python tools/quick_gate.py. Запись в PROJECT_LOG.md в том же формате, что предыдущие записи. Коммит в стиле проекта: LabNNN: краткое описание на английском. Коммить только после явного согласия пользователя.