- Мульти-провайдер: 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>
156 lines
7.7 KiB
Markdown
156 lines
7.7 KiB
Markdown
# Оценка papa-yu по Tech Due Diligence Checklist
|
||
|
||
**Дата:** 2025-01-31
|
||
**Результат:** **~65%** — продаваем с дисконтом (диапазон 60–80%)
|
||
|
||
---
|
||
|
||
## 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` (1–2 стр.) и 2–3 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%** — в диапазоне 60–80%: **продаваем с дисконтом**.
|
||
- Покупатель увидит: сильные тесты, CI, SSRF-защиту, частичную документацию.
|
||
- Слабости: архитектура «из кода», нет LIMITS.md, RUNBOOK.md, ADR, лицензионного обзора.
|
||
|
||
---
|
||
|
||
## Quick wins для перехода в >80%
|
||
|
||
1. **LIMITS.md** — границы продукта, что не делает, что считается Critical.
|
||
2. **ARCHITECTURE.md** — 1–2 страницы: стек, модули, границы.
|
||
3. **RUNBOOK.md** — запуск, сборка, типовые проблемы, контакты.
|
||
4. **2–3 ADR** — например: выбор Tauri, протокол v3 EDIT_FILE, SSRF-модель.
|
||
5. **cargo deny** или лицензионный обзор зависимостей.
|
||
|
||
Оценка после этих шагов: **~75–80%**.
|