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

7.7 KiB
Raw Blame History

Оценка 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%.