Используйте этот сценарий после согласования продуктового результата, области задачи, критериев приёмки и линий свидетельств. Он помогает разработчику найти точки интеграции и похожий код до минимальной реализации, подтверждённой тестами. Планирование, ревью кода, проверка безопасности, QA и закрытие выпуска оформляются отдельными этапами.
Обязательный контекст задачи
Не начинайте изменения с общей идеи функции. Task carrier должен определять:
- пользовательский результат и исключения;
- проверяемые
acceptance_criteria; - текущую ревизию и ограниченный набор
file_paths; - относящиеся к задаче
source_refs, тесты и интерфейсные контракты; - ожидаемые линии ревью, AppSec, QA, документации, трассируемости и выпуска;
- порядок отката или восстановления для рискованного поведения.
Если этих данных нет, продолжайте планирование и исследование без изменения промышленного кода.
Типизированный запрос на исследование
Поддерживаемая ролевая поверхность использует RoleBoundScenarioInvocationRequest и invoke_role_bound_scenario_request:
from src.digital_employees.runtime.scenarios import (
RoleBoundScenarioInvocationRequest,
invoke_role_bound_scenario_request,
)
request = RoleBoundScenarioInvocationRequest(
query="Найди точки интеграции и регрессионные риски для согласованного среза функции.",
employee_id="codegraph_developer",
scenario_id="scenario_04",
event_type="implementation_start",
context={
"project_key": "codegraph",
"namespace": "default",
"task_id": "<task-id>",
"acceptance_criteria": ["<criterion>"],
"file_paths": ["src/example.py", "tests/test_example.py"],
"source_refs": ["openspec/changes/<change-id>/specs/<capability>/spec.md"],
},
)
result = invoke_role_bound_scenario_request(request)
Контракт требует непустые project_key, namespace и task_id. При отсутствии области он закрывается с ошибкой role_bound_scenario_contract_missing. Вызов возвращает контекст исследования и ролевое свидетельство, но не редактирует перечисленные в file_paths файлы.
Цикл реализации от теста
- Проверьте ревизию задачи и изучите минимально необходимые исходники, тесты и вызывающий код.
- Свяжите ожидаемое поведение с одним или несколькими критериями приёмки.
- Добавьте точечный тест, воспроизводящий отсутствующее поведение или дефект, и получите RED по ожидаемой причине.
- Внесите минимальное изменение кода или конфигурации, которое даёт GREEN.
- Запустите точечный тест, соседние регрессионные тесты, а также lint и проверку типов для затронутой поверхности.
- Проверьте изменённые символы, вызывающий код, контракты хранения и API, границы авторизации и влияние на публичную документацию.
- Зафиксируйте для каждого критерия привязанные к ревизии команды, результаты и ссылки на свидетельства.
Не расширяйте патч только потому, что граф показал соседний технический долг. Запишите несвязанные находки отдельно.
Что должно вернуть полезное исследование
Результат должен различать:
- подтверждённые точки интеграции и ранжированные кандидаты;
- текущий вызывающий код и границы потоков данных или управления;
- похожие реализации, которые можно безопасно переиспользовать;
- файлы в области задачи и файлы, которые лишь могут быть затронуты;
- известные неизвестные, ограничения актуальности и пробелы полномочий;
- оставшиеся точечные тесты и ролевые проверки.
Центральность или похожесть в графе — навигационный сигнал, а не архитектурное одобрение. Проверьте предлагаемое изменение по текущим исходникам и тестам.
Условия остановки
Остановите реализацию и вернитесь к владельцу задачи, если согласованное поведение неоднозначно, требуется новая публичная поверхность, ревизия изменилась параллельно, необходимый путь выходит за область задачи или изменение пересекает несогласованную границу доверия. Не восстанавливайте carrier, приёмочные свидетельства или ролевые вердикты по догадке.
Поддерживаемые источники контракта
- Публичные типизированные экспорты:
src/digital_employees/runtime/scenarios/__init__.py - Маршрутизация и обязательная область:
src/digital_employees/runtime/scenarios/role_bound_scenario_invoker.py - Политика сотрудника-разработчика:
src/digital_employees/runtime/scenarios/employee_scenario_invocation.py
Подробности запроса приведены в руководстве по программному вызову. Для нового репозитория сначала пройдите знакомство с кодовой базой, а затем выбирайте срез реализации.