metaagent updated
This commit is contained in:
+53
-34
@@ -2,55 +2,74 @@
|
||||
|
||||
## Session
|
||||
|
||||
- **Session ID:** `metaagent-001`
|
||||
- **Session ID:** `metaagent-002`
|
||||
- **Target repo:** `S:\Git\nifodea`
|
||||
- **Date:** 2026-07-12
|
||||
- **Project type:** `greenfield`
|
||||
- **Project type:** `existing`
|
||||
|
||||
## 1. Общая информация
|
||||
|
||||
- **README:** CashFlow Forecast — open-source проект для построения и анализа личной финансовой модели с использованием Spreadsheet, Python и AI.
|
||||
- **README:** CashFlow Forecast — личная финансовая модель с прогнозом денежных потоков, сценарным анализом и AI-ассистентом
|
||||
- **Лицензия:** не указана
|
||||
- **CI/CD:** отсутствует
|
||||
- **Точка входа:** не определена
|
||||
- **Система сборки:** отсутствует
|
||||
- **Точка входа:** `cli/main.py:app` (команда `cf`)
|
||||
- **Система сборки:** `pyproject.toml` (setuptools)
|
||||
|
||||
## 7. Требования (из README)
|
||||
## 2. Стек технологий
|
||||
|
||||
### Функциональные требования
|
||||
| Компонент | Значение |
|
||||
|---|---|
|
||||
| Язык | Python 3.11+ (фактически 3.13) |
|
||||
| Фреймворк | Typer (CLI), openpyxl (Excel) |
|
||||
| База данных | JSON-файлы |
|
||||
| Тестовый раннер | pytest |
|
||||
| Пакетный менеджер | pip + venv |
|
||||
| Линтер | ruff |
|
||||
|
||||
- Прогноз денежных потоков (Cash Flow Forecasting)
|
||||
- Моделирование бюджета
|
||||
- Сценарный анализ (What-if Analysis)
|
||||
- Учет активов и обязательств
|
||||
- Прогноз ликвидности
|
||||
- Анализ финансовой устойчивости
|
||||
- Моделирование достижения финансовых целей
|
||||
- Импорт/экспорт данных через Spreadsheet (Excel)
|
||||
## 3. Архитектура
|
||||
|
||||
### Нефункциональные требования
|
||||
**Паттерн:** Модульный монолит (Layered)
|
||||
|
||||
- **Spreadsheet** — визуальный редактор и UI
|
||||
- **Python** — вычислительное ядро
|
||||
- **JSON** — внутреннее представление модели данных
|
||||
- **AI** — инструмент анализа и взаимодействия
|
||||
- Все компоненты должны быть взаимозаменяемыми
|
||||
- Open-source
|
||||
```
|
||||
cli/ → sync/ ⇒ cashflow_model/ ⇔ engine/ → ai/
|
||||
(Excel) (Entity Model) (Forecast) (Prompts)
|
||||
```
|
||||
|
||||
### Бизнес-контекст
|
||||
**Модули:**
|
||||
- `cashflow_model/` — сущности dataclass + JSON сериализация (Account, Transaction, RecurringCashflow, Asset, Liability, ForecastScenario, FinancialModel)
|
||||
- `engine/` — ForecastService (прогноз), ScenarioService (сценарии + what-if)
|
||||
- `sync/` — ExcelSync (импорт/экспорт .xlsx через openpyxl)
|
||||
- `ai/` — AssistantService (промпты, заглушка), PromptsTemplate
|
||||
- `cli/` — Typer CLI (init, forecast, scenario, whatif, compare, import, export, analyze)
|
||||
- `tests/` — pytest тесты (26 tests)
|
||||
|
||||
- **Цель:** отвечать на вопрос "Что произойдет дальше?" (forecast), а не "Что произошло?" (accounting)
|
||||
- **Аудитория:** частные лица для персонального финансового планирования
|
||||
- **Успех:** работающая прогнозная модель денежных потоков с возможностью сценарного анализа
|
||||
**Внешние зависимости:** openpyxl, typer, rich
|
||||
|
||||
### Неясные моменты / Вопросы
|
||||
## 4. Конвенции кода
|
||||
|
||||
- Не указана лицензия — требуется уточнить
|
||||
- Не указана конкретная версия Python
|
||||
- Какой формат Spreadsheet (Excel .xlsx, Google Sheets, оба)?
|
||||
- Какие AI-провайдеры предполагаются (OpenAI, локальные модели)?
|
||||
- Требуется ли веб-интерфейс или только CLI + Spreadsheet?
|
||||
- **Стиль:** ruff (E, F, I, N, W), line-length=100
|
||||
- **Именование:** snake_case для функций/переменных, PascalCase для классов
|
||||
- **Типизация:** аннотации типов
|
||||
- **Обработка ошибок:** кастомные исключения (ModelError, SyncError, ForecastError)
|
||||
- **Логирование:** не используется
|
||||
|
||||
## 8. Примечания
|
||||
## 5. Тесты
|
||||
|
||||
Проект greenfield. MVP должен включать: модель данных (JSON), ядро forecast engine, базовый sync с Excel, интерфейс для AI-ассистента. Все модули — Python.
|
||||
- **Типы:** unit-тесты
|
||||
- **Расположение:** `tests/`
|
||||
- **Запуск:** `pytest`
|
||||
- **Текущее состояние:** 26/26 passed (100%)
|
||||
- **Покрытие:** не измеряется
|
||||
|
||||
## 6. Базовая проверка
|
||||
|
||||
- **Сборка:** pip install -e . — success
|
||||
- **Импорты:** все модули импортируются без ошибок
|
||||
- **Линтер:** ruff check — All checks passed
|
||||
- **Git status:** clean
|
||||
|
||||
## 7. Примечания
|
||||
|
||||
- Проект полностью реализован (MVP)
|
||||
- AI-ассистент — заглушка, промпты готовы
|
||||
- Лицензия не выбрана — требуется решение
|
||||
|
||||
Reference in New Issue
Block a user