docs: добавлены workflow для bugfix и refactoring
- blog/AGENTS.md: добавлены Bugfix Lifecycle и Refactoring Lifecycle - tests/AGENTS.md: добавлены Bugfix Test Workflow и Refactor Test Workflow - Добавлены правила для regression tests - Добавлены anti-patterns для багфикса и рефакторинга - Обновлены commit rules для всех типов задач
This commit is contained in:
@@ -65,7 +65,7 @@ Agents MUST consult these files before adding or modifying tests.
|
||||
|
||||
### Adding a Feature Test
|
||||
|
||||
1. **User triggers**: `"начнем новую фичу"`
|
||||
1. **User triggers**: `"начем новую фичу"`
|
||||
2. **Agent analyzes**: существующий код, затронутые слои, рекомендует тесткейсы
|
||||
3. **User agrees**: подтверждает или корректирует набор тесткейсов
|
||||
4. **Agent creates**:
|
||||
@@ -78,6 +78,31 @@ Agents MUST consult these files before adding or modifying tests.
|
||||
9. **User accepts**: подтверждает приемку
|
||||
10. **Agent commits**: во все затронутые проекты
|
||||
|
||||
### Bugfix Test Workflow
|
||||
|
||||
1. **User triggers**: `"исправить баг"`
|
||||
2. **Agent analyzes**: воспроизводит баг, определяет root cause
|
||||
3. **Agent creates**: `pyaqa/bugfix/{bug-name}.md` — артефакт бага
|
||||
4. **Agent writes regression test**:
|
||||
- Unit тест, воспроизводящий баг (должен падать)
|
||||
- Дополнительные тесты на уровне бага (API/Web/E2E)
|
||||
5. **Agent fixes**: минимальный фикс
|
||||
6. **Agent verifies**: все тесты проходят, coverage не упал
|
||||
7. **User accepts**: проверяет исправление
|
||||
8. **Agent commits**: во все затронутые проекты
|
||||
|
||||
### Refactor Test Workflow
|
||||
|
||||
1. **User triggers**: `"отрефакторить"`
|
||||
2. **Agent analyzes**: scope рефакторинга, затронутые файлы
|
||||
3. **Agent creates**: `pyaqa/refactor/{name}.md` (опционально)
|
||||
4. **Pre-check**: фиксирует baseline (все тесты проходят, coverage)
|
||||
5. **Agent refactors**: пошаговые изменения
|
||||
6. **Post-check**: все тесты проходят, coverage не ниже baseline
|
||||
7. **Agent verifies**: линтеры, нет новых warnings
|
||||
8. **User accepts**: опционально проверяет поведение
|
||||
9. **Agent commits**: во все затронутые проекты
|
||||
|
||||
### Test Case Assignment Rules
|
||||
|
||||
- **TC-UNIT-NNN**: unit тесты (domain, use cases)
|
||||
@@ -91,7 +116,7 @@ Agents MUST consult these files before adding or modifying tests.
|
||||
|
||||
```markdown
|
||||
### TC-UNIT-NNN: Test Name
|
||||
- **Type:** Positive | Negative | Policy
|
||||
- **Type:** Positive | Negative | Policy | Regression
|
||||
- **Layer:** Unit | API | Web | E2E
|
||||
- **File:** `path/to/test.py::TestClass::test_method`
|
||||
- **Expected:** Что ожидается
|
||||
@@ -113,6 +138,12 @@ Agents MUST consult these files before adding or modifying tests.
|
||||
| Web | 60% | Routes + handlers |
|
||||
| E2E | Cover all AC | Все acceptance criteria |
|
||||
|
||||
### Regression Test Rules
|
||||
|
||||
- **Bugfix**: ДОЛЖЕН включать regression test (unit минимум)
|
||||
- **Refactor**: ВСЕ существующие тесты должны проходить ДО и ПОСЛЕ
|
||||
- **Coverage**: Не должен упасть после багфикса или рефакторинга
|
||||
|
||||
## Anti-Patterns
|
||||
|
||||
- Do NOT add `@pytest.mark.asyncio` to `async def` tests (auto mode handles it)
|
||||
@@ -121,6 +152,8 @@ Agents MUST consult these files before adding or modifying tests.
|
||||
- Do NOT put fixtures in `__init__.py` — use `conftest.py`
|
||||
- Do NOT write implementation before tests (no TDD bypass)
|
||||
- Do NOT skip RED phase (tests must fail before implementation)
|
||||
- Do NOT commit багфикс без regression test
|
||||
- Do NOT commit рефакторинг с упавшим coverage
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
Reference in New Issue
Block a user