kin: auto-commit after pipeline
This commit is contained in:
parent
32a6a0e7e9
commit
c73f91ecec
1 changed files with 141 additions and 0 deletions
141
tasks/kin-docs-002-analysis.md
Normal file
141
tasks/kin-docs-002-analysis.md
Normal file
|
|
@ -0,0 +1,141 @@
|
|||
# KIN-DOCS-002: Аудит промптов агентов — Аналитический отчёт
|
||||
|
||||
**Дата:** 2026-03-19
|
||||
**Исполнитель:** tech_researcher
|
||||
**Статус:** Исследование завершено
|
||||
|
||||
---
|
||||
|
||||
## 1. Структурный аудит всех 25 промпт-файлов
|
||||
|
||||
**Вывод: ВСЕ 25 файлов содержат все 5 обязательных секций.**
|
||||
|
||||
| № | Файл | Working Mode | Focus On | Quality Checks | Return Format | Constraints |
|
||||
|---|------|:---:|:---:|:---:|:---:|:---:|
|
||||
| 1 | analyst.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 2 | architect.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 3 | backend_dev.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 4 | backlog_audit.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 5 | business_analyst.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 6 | constitution.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 7 | constitutional_validator.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 8 | debugger.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 9 | department_head.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 10 | followup.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 11 | frontend_dev.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 12 | learner.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 13 | legal_researcher.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 14 | market_researcher.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 15 | marketer.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 16 | pm.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 17 | reviewer.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 18 | security.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 19 | smoke_tester.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 20 | spec.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 21 | sysadmin.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 22 | task_decomposer.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 23 | tech_researcher.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 24 | tester.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
| 25 | ux_designer.md | ✅ | ✅ | ✅ | ✅ | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## 2. Конфликт-анализ 9 файлов из EXCLUDED_FROM_STRUCTURE_CHECK
|
||||
|
||||
| Файл | 5 секций | Тест(ы), ссылающиеся на файл | Тип проверки | Реальный конфликт | Рекомендация |
|
||||
|------|:---:|------|------|:---:|------|
|
||||
| analyst.md | ✅ | test_kin_128_regression.py (analyst injection, revise_count), test_kin_arch_023_regression.py (pending_steps), test_context_builder.py (context assembly) | Структурная (pipeline logic) + Output-контентная (root_problem) | ❌ НЕТ | YELLOW → убрать из exclusion |
|
||||
| backend_dev.md | ✅ | test_kin_128_regression.py (proof fields: what_was_done, how_verified, verification_result), test_context_builder.py (context assembly) | Output-контентная | ❌ НЕТ | YELLOW → убрать из exclusion |
|
||||
| constitutional_validator.md | ✅ | test_kin_docs_001_regression.py (gate=true, output_schema, route position), test_kin_091_regression.py (маршруты) | Структурная (yaml config + routes), НЕ .md структура | ❌ НЕТ | YELLOW → убрать из exclusion |
|
||||
| debugger.md | ✅ | test_KIN-117_regression.py (worktree logic), test_context_builder.py (context), test_kin_128_regression.py (proof: what_was_fixed, how_verified, verification_result) | Output-контентная | ❌ НЕТ | YELLOW → убрать из exclusion |
|
||||
| frontend_dev.md | ✅ | test_context_builder.py (decision selectors), test_kin_128_regression.py (proof field), test_kin_091_regression.py (маршруты) | Output-контентная | ❌ НЕТ | YELLOW → убрать из exclusion |
|
||||
| pm.md | ✅ | test_context_builder.py (context + specialists assembly), test_kin_091_regression.py (маршруты) | Output-контентная (context assembly) | ❌ НЕТ | YELLOW → убрать из exclusion |
|
||||
| reviewer.md | ✅ | test_context_builder.py (decision selectors), test_kin_100_regression.py (## Verdict, ## Details), test_kin_133_gate_cannot_close.py (gate logic: approved/changes_requested/revise) | Output-контентная | ❌ НЕТ | YELLOW → убрать из exclusion |
|
||||
| smoke_tester.md | ✅ | test_kin_128_regression.py (confirmed/cannot_confirm → pipeline status) | Output-контентная (status processing) | ❌ НЕТ | YELLOW → убрать из exclusion |
|
||||
| tester.md | ✅ | test_context_builder.py (minimal context), test_auto_mode.py (auto_complete logic), test_kin_100_regression.py (## Verdict, ## Details) | Output-контентная | ❌ НЕТ | YELLOW → убрать из exclusion |
|
||||
|
||||
### Ключевой вывод по конфликтам
|
||||
|
||||
**По decision #922**: output-контентный тест (проверяет наличие конкретных слов/полей в тексте промпта) **не конфликтует** со структурным тестом (проверяет наличие 5 заголовков `##`).
|
||||
|
||||
- Ни один из 9 excluded файлов не имеет **реального структурного конфликта** с тестом `TestAllPromptsContainStandardStructure`
|
||||
- Все тесты, ссылающиеся на excluded файлы, проверяют либо: (a) pipeline-логику в Python-коде, либо (b) содержимое поля `proof`/`verdict` в тексте промпта
|
||||
- Заголовки `## Verdict`, `## Details` (reviewer, tester) — это **дополнительные** секции поверх стандартных 5, не конфликтуют
|
||||
|
||||
---
|
||||
|
||||
## 3. Классификация GREEN / YELLOW / RED
|
||||
|
||||
### 🟢 GREEN (16 файлов) — уже в активной зоне проверки, всё ок
|
||||
architect.md, backlog_audit.md, business_analyst.md, constitution.md, department_head.md, followup.md, learner.md, legal_researcher.md, market_researcher.md, marketer.md, security.md, spec.md, sysadmin.md, task_decomposer.md, tech_researcher.md, ux_designer.md
|
||||
|
||||
### 🟡 YELLOW (9 файлов) — в exclusion без реального конфликта, нужно убрать
|
||||
analyst.md, backend_dev.md, constitutional_validator.md, debugger.md, frontend_dev.md, pm.md, reviewer.md, smoke_tester.md, tester.md
|
||||
|
||||
### 🔴 RED — нет ни одного файла с реальным конфликтом
|
||||
|
||||
---
|
||||
|
||||
## 4. Рекомендации для backend_head
|
||||
|
||||
**Что делать:** Убрать все 9 файлов из `EXCLUDED_FROM_STRUCTURE_CHECK` в `tests/test_kin_docs_002_regression.py`
|
||||
|
||||
**Что НЕ делать:** Промпт-файлы уже стандартизированы. Менять содержимое *.md файлов не нужно.
|
||||
|
||||
**Конкретное изменение в коде:**
|
||||
```python
|
||||
# tests/test_kin_docs_002_regression.py, строки 29-39
|
||||
# БЫЛО:
|
||||
EXCLUDED_FROM_STRUCTURE_CHECK = [
|
||||
"reviewer.md",
|
||||
"tester.md",
|
||||
"constitutional_validator.md",
|
||||
"pm.md",
|
||||
"backend_dev.md",
|
||||
"debugger.md",
|
||||
"frontend_dev.md",
|
||||
"analyst.md",
|
||||
"smoke_tester.md",
|
||||
]
|
||||
|
||||
# СТАЛО:
|
||||
EXCLUDED_FROM_STRUCTURE_CHECK = []
|
||||
```
|
||||
|
||||
**Эффект:** 9 ранее незащищённых файлов получат регрессионную защиту (decision #921). Тест `TestAllPromptsContainStandardStructure` начнёт покрывать все 25 файлов.
|
||||
|
||||
**Риск:** НУЛЕВОЙ — все 9 файлов уже содержат все 5 секций.
|
||||
|
||||
---
|
||||
|
||||
## 5. Рекомендации для qa_head
|
||||
|
||||
**Тесты для прогона после изменений:**
|
||||
|
||||
1. `pytest tests/test_kin_docs_002_regression.py -v` — основной структурный тест (должен пройти)
|
||||
2. `pytest tests/test_kin_128_regression.py -v` — proof block + smoke_tester (не должен сломаться)
|
||||
3. `pytest tests/test_context_builder.py -v` — context assembly (не должен сломаться)
|
||||
4. `pytest tests/test_kin_100_regression.py -v` — reviewer/tester verdict (не должен сломаться)
|
||||
5. `pytest tests/test_kin_docs_001_regression.py -v` — constitutional_validator в yaml (не должен сломаться)
|
||||
|
||||
**На что обратить внимание:**
|
||||
- После удаления из exclusion, `_ACTIVE_PROMPT_NAMES` вырастет с 16 до 25 файлов
|
||||
- `TestAllPromptsContainStandardStructure` будет генерировать 25×5=125 параметризованных тестов вместо 16×5=80
|
||||
- Тест `TestPromptCount` ожидает ровно 25 файлов — это инвариант, не трогать
|
||||
|
||||
**Регрессионный риск:** Минимальный. Изменение в exclusion-списке — безопасная операция, все файлы уже соответствуют стандарту.
|
||||
|
||||
---
|
||||
|
||||
## 6. Итог
|
||||
|
||||
| Метрика | Значение |
|
||||
|---------|---------|
|
||||
| Файлов проверено | 25 |
|
||||
| Файлов с полной структурой (5 секций) | **25 / 25 (100%)** |
|
||||
| Файлов в exclusion-списке | 9 |
|
||||
| Файлов с реальным конфликтом | **0** |
|
||||
| Файлов для удаления из exclusion | **9** |
|
||||
| Изменений в промпт-файлах | **0** |
|
||||
|
||||
**Вся работа сосредоточена в одном файле:** `tests/test_kin_docs_002_regression.py`, строки 29-39.
|
||||
Loading…
Add table
Add a link
Reference in a new issue