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:
2026-05-07 22:31:23 +03:00
parent 4dede58d8f
commit 714342f5ac
2 changed files with 122 additions and 10 deletions

View File

@@ -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