- 26.09.2026 4 коммита
-
-
chainreaction создал
Объединены REFACTORING.md (выполненный рефакторинг L0-L5) и DESIGN.md (проектирование таксономии) в один документ с планом внедрения. Зафиксирована рамка «все графы чужие»: визуальный класс kg_vclass отделён от исходного entityType, классификация двухуровневая (статический анализ скрытой структуры/паттернов + опциональная семантика от человека/ИИ), sync расширяется на diff S1-S5 с ghost-маркером. Добавлено задание ARCHITECT_TASK.md, обновлены ссылки в README/ROADMAP/SCHEMA/TEMPLATE.
-
chainreaction создал
Ранее в режиме --dry-run печатались только первые 3 узла/связи. Добавлен --verbose: отдельный usecase dump.mjs (L4) печатает каждую запись одной строкой NODE|EDGE с JSON, чтобы результат удобно фильтровать через grep. Функции dumpNodes/dumpEdges/logGraph вынесены отдельно от I/O и покрыты тестами (7 шт.), переводы строк в тексте наблюдений остаются экранированы.
-
chainreaction создал
В режиме --watch по логу не было видно, когда именно произошло обновление или ошибка. Время добавляется в единой точке src/core/log.mjs: log/warn/error дополняются новой чистой функцией time() (L0), поэтому формат согласован во всех сообщениях приложения.
-
chainreaction создал
Cytoscape не оборачивает текст тултипа, поэтому длинное наблюдение уезжало одной строкой за границу экрана. Новая чистая функция wrapTip в text.mjs (L0) разбивает длинные строки по словам; применяется в finalizeGraph ко всем тултипам наблюдений (единая точка для всех источников). Ширина настраивается конфигом (tooltip.width, по умолчанию 80).
-
- 25.09.2026 30 коммитов
-
-
chainreaction создал
Кадры в README пересняты в новом стиле, но остались с полями представления Cytoscape. Прогнан _shots/trim.mjs: полезная область вырезана с паддингом, размеры уменьшились (например, 02: 1800x1890 → 1278x1066, 03: → 1155x1506).
-
chainreaction создал
Раньше наблюдение брало цвет родителя как есть: у чёрных проектов квадраты становились чёрными и сливались с крупными кругами в сплошное пятно. Теперь заливка — приглушённый оттенок (подмешивание белого, tint в конфиге, по умолчанию 0.6): принадлежность к кластеру видна, но форма графа не перебивается. Чистые функции tintColor/observationFill в config.mjs; build и sync считают заливку через них. Прозрачный родитель (file) и отсутствие родителя дают нейтральный цвет. Попутно зафиксирован открытый дефект: --update/--watch не удаляют узлы, исчезнувшие из памяти (issue в памяти, пункт в ROADMAP).
-
chainreaction создал
Cytoscape 3.10.4 понимает hex как #AARRGGBB (альфа впереди); #RRGGBBAA (#FFFFFF00) он молча заменял на красный #C80000 — незалитые file-узлы выходили красными. Прозрачный исправлен на #00FFFFFF, зафиксировано в SCHEMA.md и комментарии config.mjs.
-
chainreaction создал
Цвета, формы, заливки, размеры, прозрачности и шрифты задаются данными (src/graph/config.mjs), а не кодом. Опция --config; внешний файл глубоко сливается с встроенными дефолтами. По умолчанию: проекты — чёрные залитые круги, файлы — чёрные незалитые окружности, решения зелёные, проблемы красные. Новые колонки kg_border/kg_bwidth (контур); незалитые фигуры — filled:false. Примеры kg.config.dark.json и kg.config.decisions.json. colors.mjs удалён (роль занял config.mjs). 130 тестов.
-
chainreaction создал
-
chainreaction создал
Описание реестра источников и форматов memory/neo4j/obsidian/lorebook/generic, контракт detectFile/parseInput, требование Node 22.5+ для SQLite. В ROADMAP v2.0 импорт из других систем отмечен сделанным.
-
chainreaction создал
MCP-сервер lorebook хранит граф в SQLite. Адаптер читает базу встроенным node:sqlite (без зависимостей): entities -> узлы, facts -> рёбра subject->object с типом predicate, текст факта -> наблюдение с датой valid_from. retracted пропускаются, invalidated помечаются. Контракт источника расширен parseInput(path)/detectFile(path) для входов, читаемых не как текст; автодетекция SQLite по magic-байтам. 113 тестов.
-
chainreaction создал
Разбор входа вынесен в реестр источников с единым интерфейсом {name, detect, parse}. Новый формат = новый файл + строка в реестре, без правки существующих. Опция --source и автодетекция. Neo4j: метки->тип, свойства->наблюдения, start/end/type->связи. Obsidian: frontmatter+текст->наблюдения, wikilinks->связи. 107 тестов. -
chainreaction создал
L0-L5 со стрелками вниз — функциональный стиль. Универсальны только единственная ответственность и однонаправленность зависимостей; в ООП/DDD они идут к домену, в гексагональной — к портам. Перед переносом схемы проверять совпадение стиля.
-
chainreaction создал
Догма — два правила: один слой = одна ответственность и зависимости только сверху вниз. Число уровней зависит от проекта; пустой слой не создаём, индексы L0..L5 — удобство, а не суть.
-
chainreaction создал
Свод практик для переноса в новые проекты: слои L0-L5, порядок TDD, покрытие сценариев, без runtime-зависимостей, статический анализ, CI, карта документации, CLI-аргументы, навык Agent Skills. Ссылка в README.
-
chainreaction создал
mermaid 9.1.3 на hub.mos.ru не отрисовывает flowchart (в т.ч. минимальный). Диаграмма заменена списком — надёжнее.
-
chainreaction создал
Подписи на стрелках и <br/> не рендерились на hub (mermaid 9.1.3): упрощено до узлов и простых стрелок.
-
chainreaction создал
GUIDE.md — пользовательская шпаргалка (навигация, поиск, фильтры, раскладки, облака AA, экспорт, чего избегать). Отдельно от AGENTS.md (техника для разработчика). Ссылки в README/AGENTS/CHANGELOG.
-
chainreaction создал
-
chainreaction создал
-
chainreaction создал
kg_alpha возвращена, но кодирует роль узла: сущности 255 (непрозрачны), наблюдения 150. Диапазон NODE_TRANSPARENCY в Cytoscape — 0–255, а не проценты (прежние 100 = 39% непрозрачности, отсюда общее побледнение). Константы ALPHA_ENTITY/ALPHA_OBSERVATION в colors.mjs; колонка, маппинг и запись в sync восстановлены. 96 тестов.
-
chainreaction создал
SCHEMA.md: три слоя (семантика/визуал/служебное), таблицы узлов и рёбер, диаграмма потока данных (mermaid), эвристики чужого файла, карта 'где что считается'. Навигационные ссылки добавлены во все md; пункт ревью закрыт в ROADMAP.
-
chainreaction создал
AGENTS.md: убрать kg_label/kg_alpha из визуальной схемы, отметить причину. CHANGELOG: запись об отмене + пометка у исторической записи. ROADMAP: прозрачность перенесена в Отменено, kg_alpha убрана из Сделано.
-
chainreaction создал
Подписи на узлах и прозрачность по свежести решено не использовать (детали в тултипе, картинка чище). Колонки удалены из NODE_COLS, стиля (NODE_LABEL/NODE_TRANSPARENCY маппинги), модели и nodeAttrsFor в sync. Хвосты (ensureColumns при --update создавал бы их заново) вычищены.
-
chainreaction создал
Текущий фокус вместо даты; раздел Отложено (метки узлов); Сделано дополнено статикой, CI, CHANGELOG и навигацией; починен разорванный code span --layout clusters; убрано дублирование CHANGELOG из v1.1.
-
chainreaction создал
5 точек роста: предупреждение для --filter без значения, валидация порта и интервала, обработка невалидного JSONL, схема kg_* в отдельный документ, подробные логи --watch.
-
chainreaction создал
Зафиксировано: тег appsechub обязателен (run_untagged=false), блок default/cache валит CI lint (HTTP 500), падение на helper-образе раннера 19.0.1 — инфраструктура. Команда проверок npm run check.
-
chainreaction создал
Shared-раннеры hub.mos.ru помечены тегом appsechub и имеют run_untagged=false, поэтому джоба без тега висит в pending. Добавлен тег.
-
chainreaction создал
CI lint hub.mos.ru падает (HTTP 500) на конфиге с блоком default и cache. Формат сверен: image и script заданы внутри джобы, кеш не используется.
-
chainreaction создал
devDependencies: eslint 10, prettier, typescript, globals, @types/node. Скрипты lint/format/typecheck/check. .gitlab-ci.yml гоняет npm run check на push в main и MR. Код приведён к формату Prettier; исправлены находки статики в тестах. Проект остаётся без runtime-зависимостей.
-
chainreaction создал
v1.1 — проверка окружения (Node, CyREST, AutoAnnotate, файл памяти) с понятными сообщениями. v2.1 — англоязычное зеркало на GitHub: переводы README/AGENTS/CHANGELOG/ROADMAP, синхронизация с основным репо на hub.mos.ru.
-
chainreaction создал
Тема hub.mos.ru рисует ссылки цветом обычного текста; жирный текст ссылки делает её заметной. Затронуты ссылки на md-файлы.
-
chainreaction создал
GitLab-рендер не превращает [текст](./файл) в гиперссылку. Относительные пути без ./ рендерятся корректно.
-
chainreaction создал
Текст ссылок вида [`README.md`](...) рендерился моноширинным «прямоугольником» вместо подсветки ссылки. Кавычки сняты во всех md.
-
- 24.09.2026 4 коммита
-
-
chainreaction создал
README получил раздел «Документация» — карту всех md-файлов, включая навык memory-curator. В AGENTS/ROADMAP/REFACTORING/CHANGELOG добавлены обратные ссылки на README. CHANGELOG ведётся по датам (Keep a Changelog): ревизия схемы, фильтр, слежение, первый срез.
-
chainreaction создал
Раздел «Ближайшее»: эксперимент с kg_alpha (свежесть), перезапуск автослежения, осмотр картинки после ревизии схемы, судьба меток узлов. В «Сделано» — ревизия колонок и тултипы.
-
chainreaction создал
Схема: семантика (kg_type/kg_ns/kg_parent/kg_date/kg_text), визуал (kg_fill/kg_label/kg_size/kg_shape/kg_tip/kg_alpha), служебное (kg_seq/kg_obs/kg_degree). Новые: kg_ns (проект), kg_date (дата наблюдения), kg_alpha. Переименования: kg_cluster→kg_parent, kg_color→kg_fill, kg_ord/order→kg_seq, obs_count→kg_obs, degree→kg_degree. Эвристики для чужого файла: неймспейс default, родитель по имени, нейтральный цвет чужих типов. Тултип сущности — имя, тип · ns, счётчики со склонением; даты для человека.
-
chainreaction создал
bypass прибивал координату намертво: узел не двигался мышкой и его не брал layout. Найден штатный путь PUT .../nodes/{id} с телом-массивом (сверено по swagger и jar cy-rest-3.13.3). build и sync переведены на setPosition; новые узлы подвижны по умолчанию. В AGENTS.md исправлено ошибочное знание «работает только bypass».
-
- 23.09.2026 2 коммита
-
-
chainreaction создал
watchLoop принимает зависимости (sleep/stamp/sync/shouldStop) для тестов без таймеров и живого CyREST; reparse вынесена как чистая функция; syncNetwork отвергает нефинализированный граф с понятной ошибкой. Правило про покрытие L4 зафиксировано в AGENTS.md.
-
chainreaction создал
При изменении файла watch парсил память без finalizeGraph, и syncNetwork падал на parsed.nodes.filter is not a function. Добавлен reparse() с тестами; watch.err в .gitignore.
-