papayu/docs/DUE_DILIGENCE_ASSESSMENT.md
Yuriy 65e95a458d feat: мульти-провайдер LLM, тренды дизайна, Snyk/Documatic sync, личная автоматизация
- Мульти-провайдер: PAPAYU_LLM_PROVIDERS — сбор планов от нескольких ИИ (Claude, OpenAI), агрегация
- Тренды дизайна и иконок: вкладка в модалке, поиск по безопасным доменам (Tavily include_domains)
- Snyk Code: PAPAYU_SNYK_SYNC, REST API issues → snyk_findings в agent-sync
- Documatic: architecture_summary из .papa-yu/architecture.md в agent-sync
- Личная автоматизация: capability personal-automation (терминал git/npm/cargo, открытие URL)
- agent_sync расширен: snyk_findings, architecture_summary; analyze_project_cmd и run_batch пишут sync
- Документация: SNYK_AND_DOCUMATIC_SYNC.md, SECURITY_AND_PERSONAL_AUTOMATION.md, обновлён CLAUDE_AND_AGENT_SYNC

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-10 15:05:39 +03:00

156 lines
7.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Оценка papa-yu по Tech Due Diligence Checklist
**Дата:** 2025-01-31
**Результат:** **~65%** — продаваем с дисконтом (диапазон 6080%)
---
## A. Продукт и назначение — 2/4 ✅⚠️
| Пункт | Статус | Комментарий |
|-------|--------|-------------|
| Что делает и для кого | ✅ | README: «Десктопное приложение для анализа проекта и автоматических исправлений». ЦА — разработчики (неформально). |
| Ключевые сценарии | ✅ | Batch, agentic run, предложить исправления, undo/redo, domain notes, weekly report. |
| Что НЕ делает (LIMITS.md) | ❌ | Отдельного LIMITS.md нет. Ограничения разбросаны по README и IMPLEMENTATION_STATUS. |
| Critical отказ | ❌ | Не описано явно, что считается критическим отказом для бизнеса. |
**Действие:** Добавить `docs/LIMITS.md` с границами продукта и определением Critical failure.
---
## B. Архитектура — 1/4 ⚠️
| Пункт | Статус | Комментарий |
|-------|--------|-------------|
| ARCHITECTURE.md | ❌ | Отдельного документа нет. |
| Слои domain/services/adapters | ❌ | Слои не заданы. Есть commands, tx, online_research, domain_notes — границы неформальные. |
| Скрытые зависимости | ✅ | Зависимости явно в Cargo.toml, package.json. |
| ADR | ❌ | ADR нет. Часть решений описана в PROTOCOL_V*_PLAN, IMPLEMENTATION_STATUS. |
**Red flag:** Архитектура понятна в основном из кода.
**Действие:** Создать `docs/ARCHITECTURE.md` (12 стр.) и 23 ADR по основным решениям.
---
## C. Качество кода — 2/4 ✅⚠️
| Пункт | Статус | Комментарий |
|-------|--------|-------------|
| Единый стиль | ✅ | `cargo fmt` в CI, единый стиль Rust/TS. |
| Дублирование | ⚠️ | Trace field adapters уменьшили дублирование; остаётся в llm_planner. |
| Сложность функций | ⚠️ | llm_planner крупный; функции длинные. |
| Обработка ошибок | ✅ | ERR_* коды, repair-логика, частичное использование контекста. |
**Действие:** Постепенно дробить llm_planner; при необходимости ограничить сложность через clippy.
---
## D. Тестирование — 4/4 ✅
| Пункт | Статус | Комментарий |
|-------|--------|-------------|
| Автотесты | ✅ | `cargo test`, 100+ тестов. |
| Покрытие критики | ✅ | Golden traces v1/v2/v3, unit-тесты apply, verify, SSRF. |
| Тесты в CI | ✅ | `cargo test` в GitHub Actions. |
| Golden / regression | ✅ | `docs/golden_traces/`, валидация в CI. |
**Green flag:** Тестам можно доверять.
---
## E. CI/CD и релизы — 4/4 ✅
| Пункт | Статус | Комментарий |
|-------|--------|-------------|
| Сборка одной командой | ✅ | `npm install && npm run tauri build`. |
| CI gate | ✅ | fmt, clippy, audit, test. |
| Воспроизводимые релизы | ✅ | Cargo.lock, package-lock.json в репо. |
| Откат | ⚠️ | Undo в приложении есть; откат релиза — через git. |
**Green flag:** Релиз может выпустить новый владелец по инструкции из README.
---
## F. Security — 3/4 ✅
| Пункт | Статус | Комментарий |
|-------|--------|-------------|
| Секреты не в репо | ✅ | env.openai.example без ключей. |
| Fetch/SSRF | ✅ | Модуль net, fetch_url_safe, trends через него. |
| Audit/deny | ⚠️ | `cargo audit` в CI; `cargo deny` не настроен. |
| Threat model | ⚠️ | IMPLEMENTATION_STATUS, IMPROVEMENT_ROADMAP; без отдельного threat model. |
---
## G. Зависимости и лицензии — 2/4 ⚠️
| Пункт | Статус | Комментарий |
|-------|--------|-------------|
| Lock-файлы | ✅ | Cargo.lock, package-lock.json. |
| Список лицензий | ❌ | Нет явного LICENSE-обзора. |
| GPL/AGPL | ⚠️ | Не проверялось. Rust/TS стек обычно MIT/Apache. |
| Abandoned deps | ❌ | План по замене abandoned-зависимостей не описан. |
**Действие:** Добавить `cargo deny` или лицензионный обзор.
---
## H. Эксплуатация — 2/4 ⚠️
| Пункт | Статус | Комментарий |
|-------|--------|-------------|
| RUNBOOK.md | ❌ | Нет. |
| Типовые проблемы | ⚠️ | INCIDENTS.md — «больные места». |
| INCIDENTS.md | ✅ | Шаблон и список известных проблем. |
| Логи и метрики | ⚠️ | Traces, weekly report; нет структурированного лога. |
**Действие:** Добавить короткий RUNBOOK (запуск, сборка, типовые ошибки).
---
## I. Bus-factor и передача — 2/3 ⚠️
| Пункт | Статус | Комментарий |
|-------|--------|-------------|
| Передача без автора | ⚠️ | README, IMPLEMENTATION_STATUS, PROTOCOL_* помогают; RUNBOOK бы усилил. |
| «Почему» в документах | ✅ | PROTOCOL_V3_PLAN, IMPLEMENTATION_STATUS объясняют решения. |
| «Не трогай» без объяснений | ✅ | INCIDENTS перечисляет проблемные места с контекстом. |
---
## Сводка
| Раздел | Оценка | Баллы |
|--------|--------|-------|
| A. Продукт | ✅⚠️ | 2/4 |
| B. Архитектура | ⚠️ | 1/4 |
| C. Качество кода | ✅⚠️ | 2/4 |
| D. Тестирование | ✅ | 4/4 |
| E. CI/CD | ✅ | 4/4 |
| F. Security | ✅ | 3/4 |
| G. Зависимости | ⚠️ | 2/4 |
| H. Эксплуатация | ⚠️ | 2/4 |
| I. Bus-factor | ⚠️ | 2/3 |
| **Итого** | | **22/35 ≈ 63%** |
---
## Интерпретация
- **63%** — в диапазоне 6080%: **продаваем с дисконтом**.
- Покупатель увидит: сильные тесты, CI, SSRF-защиту, частичную документацию.
- Слабости: архитектура «из кода», нет LIMITS.md, RUNBOOK.md, ADR, лицензионного обзора.
---
## Quick wins для перехода в >80%
1. **LIMITS.md** — границы продукта, что не делает, что считается Critical.
2. **ARCHITECTURE.md** — 12 страницы: стек, модули, границы.
3. **RUNBOOK.md** — запуск, сборка, типовые проблемы, контакты.
4. **23 ADR** — например: выбор Tauri, протокол v3 EDIT_FILE, SSRF-модель.
5. **cargo deny** или лицензионный обзор зависимостей.
Оценка после этих шагов: **~7580%**.