Appearance
Командный workflow с агентами
Новый bottleneck команды
AI может генерировать код быстрее, чем команда успевает его review и integrate. Поэтому bottleneck смещается от написания кода к управлению integration: PR size, merge conflicts, review fatigue, policy gates и ownership.
Что требовать от agent-generated PR
Для agent-generated changes требуйте:
- ссылку на task contract;
- ссылку на spec;
- generated summary;
- risk assessment;
- список checks;
- files changed;
- policy exceptions;
- human review gate, если риск высокий.
Когда допустим conditional LGTM
Для low-risk tasks можно использовать conditional approval:
Approved, если все required checks проходят и в run log нет policy exceptions.
Не используйте это для:
- production operations;
- миграции данных;
- изменения данных пациентов и пользователей;
- auth/security;
- privacy-sensitive поведение;
- задачи с неясным spec.
Уровни continuous reviewer
| Уровень | Runtime | Когда подходит |
|---|---|---|
| Managed | SaaS reviewer | Достаточно generic code review. |
| Hybrid | CI job + custom review prompt/skill | Важны team-specific criteria. |
| Custom | Собственный agent runtime + memory + policy | Нужен cross-PR context или compliance-specific review. |
Пример: PR risk summary для clinician report
Так выглядит заполненный summary для реального slice из lab-цепочки (algi-02-clinician-report):
md
# PR Risk Summary
## Задача
examples/harness-labs/tasks/algi-02-clinician-report.json
## Spec
specs/pain-diary.bdd.md — scenario "privacy-safe clinician summary"
## Что изменилось
- algi/domain.py — добавлен clinician_summary (агрегаты + disclaimer)
- tests/test_clinician_report.py — новые behavior tests
## Оценка риска
| Risk | Level | Mitigation |
| --- | --- | --- |
| Product behavior | medium | BDD spec отревьюирован до run |
| Privacy/security | high | assertNotIn на идентификаторы; run log приложен |
| Data migration | low | схема не менялась |
| Review complexity | low | +2 файла, ~120 строк |
## Проверки
- [x] Unit tests (5 passed, JSONL check_finished exit_code=0)
- [x] Policy: writes только в algi/ и tests/ (policy_check allowed=true)
## Policy exceptions
None.
## Review gate
Conditional LGTM allowed? **no** — privacy-sensitive output.
Required reviewers: backend owner + privacy/domain expert.Reviewer'у не нужно раскапывать контекст: task, spec, риски и evidence приходят вместе с diff. Privacy-риск помечен high — поэтому conditional LGTM отключён, несмотря на маленький diff. Размер изменения и размер риска — разные вещи.
Что сделать руками
После того как harness построил первый ALGI slice:
- Заполните PR risk summary через PR Risk Summary Template.
- Определите нужных reviewers: product, backend, privacy, medical/domain expert.
- Решите, допустим ли conditional LGTM.
- Приложите JSONL run log как evidence.
На что не соглашаться
- Ревьюить generated code построчно, но игнорировать spec.
- Позволять AI-generated PR становиться слишком большим.
- Считать approval fatigue личной слабостью, а не process failure.
- Не назначать ownership boundaries для files и APIs.
- Пропускать risk summary, потому что «diff маленький».