Memory: ~ent MVP_Scope_AreaSelect_Apr25 (2026-04-25 16:15:11 +05)

This commit is contained in:
Light1YT 2026-04-25 16:15:11 +05:00
parent 726942cd72
commit 917391f045

View file

@ -6,7 +6,7 @@
{"type":"entity","name":"Validation_Findings_Apr25","entityType":"review","observations":["Дата валидации: 25 апреля 2026","КРИТИЧНО: бизнес-план v2.1 не синхронизирован со стеком v2.2 — в плане 12 мес. месяцы 14 ещё ссылаются на .NET Core 8","Несостыковка KPI: v2.1 = 4 платящих пилота, v2.2 = 3 — нужно остановиться на 3 (как в Acceptance Criteria v2.2)","Регион не зафиксирован однозначно: v2.1 пишет «Свердл. или Лен.», v2.2 — только Свердл. — закрепить Свердловскую","Прайсинг: пилот 30 тыс., прайс-лист 70120 тыс. — уточнить в финмодели для инвесторов: 70 тыс./мес как baseline","Технические риски: Time to First Value ≤10 мин амбициозно (предложение: 15 мин); генерация концепции ≤10 сек требует профилировки с первого билда","PostgreSQL TDE отсутствует в open-source — заменить на pgcrypto + шифрование чувствительных полей на уровне приложения","mypy --strict для всего MVP избыточен соло-разработчику — оставить только для core-модулей (geometry/scoring/financial)","99% uptime в рабочие часы для соло-разработчика рискованно — реалистично 95% + ответ в течение рабочего дня","Заявка в реестр ПО ≠ свидетельство; срок рассмотрения 60180 дней — учесть для расчёта Раунда А","Бюджет 1,2 млн ₽ + 3 мес. + один основатель плотный; рекомендация — заложить буфер +1 месяц или урезать DXF-экспорт из Discovery"]}
{"type":"entity","name":"Feedback_MemoryFirst","entityType":"feedback","observations":["Правило: вся информация по проекту gendesign хранится в memory-gendesign.jsonl (context=\"gendesign\"). Информация = факты, решения, результаты анализа, обсуждения стратегии, KPI, списки рисков, протоколы валидации и т.д.","НИКОГДА не создавать .md / .docx / .pdf / .pptx файлы самостоятельно — даже если кажется, что это поможет. Документы генерируются ТОЛЬКО по явному запросу («сделай md», «собери в документ», «выгрузи в docx»).","При поступлении новых фактов/решений в разговоре — сразу сохраняем в память через aim_memory_store / aim_memory_add_facts в context=\"gendesign\".","Для файловой генерации по запросу: запрос срез из памяти (aim_memory_search/read_all) → сборка документа. Память = единый источник правды, файлы = производные.","**Why:** пользователь хочет избежать разъехавшейся инфы между версиями доков (как случилось с v2.1/v2.2). Единый источник (граф памяти) — синхронен по определению.","**How to apply:** в любом обмене по этому проекту — (1) сначала читаем gendesign-память, (2) ведём диалог/анализ, (3) сохраняем новые выводы в память, (4) файлы только если пользователь явно запросил."]}
{"type":"entity","name":"MemoryAutoSync_macOS_Apr25","entityType":"infrastructure","observations":["Дата настройки: 25 апреля 2026, машина anton@macOS (/Users/anton)","Цель: автоматическая двусторонняя синхронизация файла графа памяти ~/.aim/memory-gendesign.jsonl с веткой main репо lekss361/-gendesign на GitHub","Хард-линк: ~/.aim/memory-gendesign.jsonl и ~/source/repos/gendesign/memory/memory-gendesign.jsonl — один inode, link count = 2. Любая запись MCP-сервера видна в git status мгновенно","Git auth: credential.helper=osxkeychain (глобально), токен github.com сохранён в Login Keychain под аккаунтом Light1YT — push идёт без интерактива","Sync agent (push): launchd job com.gendesign.memory-sync, plist в ~/Library/LaunchAgents/com.gendesign.memory-sync.plist, скрипт ~/.aim/gendesign-memory-sync.sh. Триггер: WatchPaths на файле памяти. Дебаунс: ThrottleInterval=60с. Логика: проверка целостности хард-линка → git pull --rebase --autostash → парсинг diff и сборка content-aware commit message → git commit → git push origin main","Pull agent: launchd job com.gendesign.memory-pull, plist в ~/Library/LaunchAgents/com.gendesign.memory-pull.plist, скрипт ~/.aim/gendesign-memory-pull.sh. StartInterval=120с + RunAtLoad=true. Делает git pull --rebase --autostash, лог только при реальных изменениях; чинит хард-линк если порвался","Commit message format: 'Memory: <summary> (<timestamp>)'. Summary включает +ent/~ent/-ent (новая/изменённая/удалённая сущность) и +rel/-rel (связи). Парсер на python3 встроен в sync-скрипт","Защита от atomic-rewrite MCP-сервера: оба скрипта проверяют stat -f %i у обоих файлов; если inode разошлись — копируют контент из репо в ~/.aim и пере-создают хард-линк","Логи: ~/.aim/gendesign-sync.log (sync trigger лог), ~/.aim/gendesign-sync.launchd.log (stderr launchd для sync), ~/.aim/gendesign-pull.log (pull лог только при изменениях), ~/.aim/gendesign-pull.launchd.log (stderr launchd для pull)","Управление: launchctl load/unload <plist> для включения/выключения; launchctl list | grep gendesign — статус; tail -f ~/.aim/gendesign-*.log — мониторинг","Ручное вмешательство нужно только при merge-конфликте jsonl (две машины правили одну сущность одновременно) — лог покажет 'pull --rebase failed', чинится руками в репо","Не реализовано: автоматический pull в момент чтения памяти Claude Desktop (он читает текущий файл, может быть отстающим до 120с от удалённой ветки); нет защиты от чужих незакоммиченных правок в memory/ перед auto-commit (autostash спасает только от своих локальных)"]}
{"type":"entity","name":"MVP_Scope_AreaSelect_Apr25","entityType":"decision","observations":["Дата решения: 25 апреля 2026","Сценарий MVP-приложения: на конкретном выбранном участке пользователь выделяет (рисует) область → приложение генерирует варианты: концепции застройки (ген.планы), финансовые модели и др. — каждый вариант с оценкой/рейтингом","Сужает MVP scope относительно two-in-one воронки из Project_GenDesign: Discovery MVP фокусируется на стадии 'участок известен → область выделена → концепт + финмодель + оценка', а не на полной цепочке 'инвест-критерии → Site Finder → концепт → финмодель'","Связанные UX-элементы: карта (Mapbox/Leaflet) с выбором участка, инструмент рисования полигона (выделение области), кнопка 'сгенерировать варианты', список/грид вариантов с оценками, детальный view по выбранному варианту (генплан визуально + финмодель в таблице/графиках)","Требует прояснения (открытые вопросы): (1) остаётся ли Site Finder (AI-поиск участков по инвест-критериям) в Discovery MVP, или вынесён в Пост-MVP; (2) формат выдачи ген.планов (плоская картинка PNG/SVG, 3D, DXF, интерактив); (3) список метрик оценки вариантов (ROI, окупаемость, TER, плотность застройки, GFA, инсоляция и т.д.); (4) сколько вариантов генерируется за раз (3, 5, 10, top-N); (5) источник данных об участке (ПЗЗ, КН, пользовательский ввод GeoJSON/KML)"]}
{"type":"entity","name":"MVP_Scope_AreaSelect_Apr25","entityType":"decision","observations":["Дата решения: 25 апреля 2026","Сценарий MVP-приложения: на конкретном выбранном участке пользователь выделяет (рисует) область → приложение генерирует варианты: концепции застройки (ген.планы), финансовые модели и др. — каждый вариант с оценкой/рейтингом","Сужает MVP scope относительно two-in-one воронки из Project_GenDesign: Discovery MVP фокусируется на стадии 'участок известен → область выделена → концепт + финмодель + оценка', а не на полной цепочке 'инвест-критерии → Site Finder → концепт → финмодель'","Связанные UX-элементы: карта (Mapbox/Leaflet) с выбором участка, инструмент рисования полигона (выделение области), кнопка 'сгенерировать варианты', список/грид вариантов с оценками, детальный view по выбранному варианту (генплан визуально + финмодель в таблице/графиках)"]}
{"type":"relation","from":"Project_GenDesign","to":"TechStack_v2.2","relationType":"uses"}
{"type":"relation","from":"Project_GenDesign","to":"NorthStar_DiscoveryMVP","relationType":"targets"}
{"type":"relation","from":"Project_GenDesign","to":"Phase0_DiscoveryMVP","relationType":"currently_executes"}