Задача 009 — критика нового отчёта по обоим чек-листам
Коротко
- Отчёт — большой шаг вперёд. Старый вывод «файлы
сейчас, gbrain потом» убран. Все 8 пакетов разобраны,
place,works_at, обогащение, русский поиск и векторы описаны в основном верно. - По правилам обоих чек-листов отчёт не принят:
- claude-opus — 5 блокирующих «нет» и 7 важных «нет»;
- cursor-grok — 5 блокирующих «нет» и 3 важных «нет».
- Главная ошибка — порядок внедрения не выполним как
написан. При живой службе
com.gbrain.serveлюбая команда CLI, которая открывает базу, сразу падает сlive_serve. Исключения — толькоsyncиsweep --once. Отчёт утверждает обратное, и шаги 3, 4, 7, 10, 11 на этом споткнутся. Шаг 2, вероятно, тоже (🔮). - Вторая серьёзная ошибка — пометка доверия.
Переписка WhatsApp, загруженная
syncиз своего git-репозитория, получит уровень «your notes» (operator_curated), а неexternal_untrusted, как обещает отчёт. Чужие слова агентов недвижимости станут «вашими заметками».
Как проверял
- Предмет:
REPORT-task-009-realestate-knowledge-base-on-standard-gbrain-schema-packs-research-and-design.md, 576 строк, прочитан целиком. Ниже —REPORT:строка. - Чек-листы:
REVIEW-task-009-claude-opus-why-agent-went-wrong-and-strict-checklist-for-gbrain-schema-report.md— 34 пункта (С, Ф, П, Пр, М, Пб, Под);REVIEW-task-009-cursor-grok-why-agent-went-wrong-and-strict-checklist-for-gbrain-schema-report.md— 30 пунктов (1–30).
- Слова пользователя:
LOG-task-009-konstantin-feedback-2026-11-02-wants-scalable-gbrain-system-not-files-workaround.md. - Код:
$G=/Users/ws/.bun/install/global/node_modules/gbrain, версия 0.60.545.0. Только чтение файлов. Ни одной командыgbrainне запускал. - Данные: счёт записей реестров
cl-cons-whats/realestate-registry/— черезpython3 -Iпо JSON, номера телефонов не выводил. - Правило оценки:
- «да» — суть утверждения пункта в отчёте есть и подтверждается кодом;
- «частично» = «нет»;
- если код опровергает сам пункт чек-листа, это сказано отдельно.
- Догадки помечены
🔮.
1. Таблица по чек-листу claude-opus (34 пункта)
Вес: 🔴 блокирующий · 🟠 важный · ⚪ мелкий.
| № | Вес | Итог | Если «нет» — цитата или «фразы нет» | Что опровергает |
|---|---|---|---|---|
| С1 | 🔴 | да | — | все 11 требований в REPORT:28-40 |
| С2 | 🔴 | да | — | рекомендация А с командами, REPORT:416-451,
:474-491 |
| С3 | 🔴 | нет | «Ограничение настоящее, но узкое: под живой службой не работают
doctor, import, auth create…
sync и чтение из CLI идут через службу»
(REPORT:397) — ограничение без решения и с неверным
охватом |
$G/docs/guides/remote-mcp.md:429-436: решение —
«Administer the brain through the running server… or move to
Postgres» |
| Ф1 | 🔴 | да | — | REPORT:91-104 совпадает с grep '^extends:'
по 8 yaml |
| Ф2 | 🔴 | да | — | REPORT:99, :113;
gbrain-recommended.yaml:112-118; в v2
name: place — 0 |
| Ф3 | 🟠 | да | — | REPORT:151; link-extraction.ts:2009-2014 —
встроенная таблица сливается с полями пакета при любом пакете |
| Ф4 | 🔴 | да | — | REPORT:98, :115;
merge.ts:19-20 — mapping_rules только у самого
пакета |
| Ф5 | 🔴 | да | — | REPORT:84-86, :350-368;
multi-language-fts.md:96-99,103-105 |
| Ф6 | 🟠 | да | — | REPORT:372-389; ollama.ts:53 (цена 0),
claude-cli.md:20-24 |
| Ф7 | 🔴 | да | — | REPORT:53, :395-396 |
| Ф8 | 🔴 | да | — | REPORT:162-178; «гео нет» — только в таблице ошибок
прошлого отчёта (REPORT:52) |
| Ф9 | 🔴 | нет | ссылки не совпадают: «24 типа (gbrain-base.yaml:1-5)»
(REPORT:97); remote-mcp.md:429-436 приведён
для «чтение из CLI идут через службу» (REPORT:397) |
в gbrain-base.yaml:1-5 числа нет, типов 28;
remote-mcp.md:430-432 говорит обратное |
| П1 | 🔴 | да | — | таблица REPORT:123-138 |
| П2 | 🟠 | нет | фразы нет: успешные и неуспешные переговоры не моделированы — нет
поля итога и причины отказа, у сделки только status: open
(REPORT:271) |
grep outcome, lost_reason,
won, успеш по отчёту — 0; требование LOG и
README-task-009:38 («успешный, не успешный») |
| П3 | 🟠 | да | — | REPORT:147-160 |
| П4 | 🔴 | нет | пример сообщения — заглушка:
[05/08/26, 18:37:00] On Urbe Grup: …
(REPORT:301). Одно реальное сообщение не проведено по
цепочке до факта на карточке |
цитата Franco «¿Tu que numero tienes en mente?» есть
(REPORT:232), но не как пример цепочки |
| П5 | 🟠 | да | — | REPORT:311-321, вопрос 6 |
| П6 | 🔴 | нет | фразы нет: мнения отдельно от фактов (takes) | grep take — 0; $G/docs/takes-vs-facts.md;
таблица takes в пакетах (gbrain-base-v2.yaml:44-48
takes_kinds) |
| П7 | 🟠 | нет | фразы нет: Hermes | grep hermes — 0;
$G/docs/guides/harness-adapters.md:18 — Hermes только
stdio, а это прямо конфликтует с единой службой HTTP |
| П8 | 🟠 | да | — | REPORT:305, :375, :385 |
| Пр1 | 🔴 | да, формально | у каждого шага есть команда, что увидеть и касание cheaptrip. Но команды не выполнимы при живой службе — см. «Фактические ошибки», Ф-1 | — |
| Пр2 | 🔴 | да | — | REPORT:455-470; счёт 25/36/20/40 совпал с файлами |
| Пр3 | 🟠 | да | — | REPORT:436, шаг 1, столбец «Откат».
setup-gbrain не упомянут, но и не предлагается |
| Пр4 | 🟠 | да | — | разделы 5.1, 5.2, 5.4 — по 2 вопроса и вызову MCP. У 5.3 вопросов нет |
| Пр5 | 🟠 | да | — | REPORT:172-175, шаг 9 |
| М1 | 🔴 | да | — | REPORT:416-451: правило, --no-federated,
пакет на источник, пример «ВНЖ или поездки»,
entity_identity_link |
| М2 | 🟠 | нет | порог есть только для векторов (~500). Для Postgres порога нет:
«Рост: Postgres снимает ограничение одного процесса»
(REPORT:408). 5 000 страниц не упомянуто |
— |
| Пб1 | 🔴 | нет | фразы нет: постоянной ссылки на отчёт нет. Cloudflare упомянут
только как шаг 9 для карты (REPORT:488) и в таблице
(REPORT:58) |
grep pages.dev — 0; LOG, сообщение 2: «На Cloudflare
опубликуй новый ресерч» |
| Пб2 | ⚪ | да | — | шапка REPORT:1-9 |
| Под1 | 🟠 | нет | вопрос 3 (REPORT:529-531): нет пользы на примере, нет
цены и риска |
— |
| Под2 | 🟠 | нет | старые вопросы 4–9 даны строкой без контекста: «8 —
Sant Miquel 116 — дом квартиры Keller Williams или место встречи»
(REPORT:571) |
— |
| Под3 | 🟠 | нет | непомеченные неверные утверждения: «gbrain помечает переписку
external_untrusted» (REPORT:551); «чтение из
CLI идут через службу» (REPORT:397) |
memory-trust.md:17 (operator_curated —
«sync and import of your own sources»);
remote-mcp.md:430-432 |
| Под4 | 🟠 | нет | фразы нет: способ gbrain mounts add (отдельная база,
подключённая к основной) не разобран |
grep mount — 0;
$G/src/commands/mounts.ts:4,
brains-and-sources.md:136-140 |
| Под5 | ⚪ | да | — | термины REPORT:62-87, цепочка
REPORT:295-309 |
Счёт: 🔴 «нет» — 5 (С3, Ф9, П4, П6, Пб1); 🟠 «нет» — 7 (П2, П7, М2, Под1, Под2, Под3, Под4); ⚪ «нет» — 0.
2. Таблица по чек-листу cursor-grok (30 пунктов)
Блокирующие по самому чек-листу: 1–11, 13, 18–20, 22–23, 27–28, 30. Остальные — важные.
| № | Вес | Итог | Если «нет» — цитата или «фразы нет» | Что опровергает |
|---|---|---|---|---|
| 1 | 🔴 | да | — | REPORT:30-31; «если понадобится» — 0 |
| 2 | 🔴 | да (пункт чек-листа ошибочен) | Пункт требует ставить «нет», если отчёт пишет, что связь
works_at в v2 создаётся сама из поля company:.
Отчёт так пишет (REPORT:151, :239) и
прав |
link-extraction.ts:2009-2014:
legacyMappings из FRONTMATTER_LINK_MAP
(:1609) применяются при любом пакете; переопределяются
только поля, объявленные пакетом |
| 3 | 🔴 | да | — | REPORT:136-137, :293-309,
:464-465 |
| 4 | 🔴 | да | — | REPORT:374-389; ENGINES.md:544 |
| 5 | 🔴 | да | — | REPORT:84-86, :350-361. Своя проба
Snowball не приложена — см. раздел 6 |
| 6 | 🔴 | нет | фразы нет: различие fact / take /
bet / hunch, разделитель
<!-- timeline -->, правило противоречий
рекомендованной схемы. Нет итога и причины отказа у сделки |
grep take, <!-- timeline -->,
lost_reason — 0; takes-vs-facts.md;
GBRAIN_RECOMMENDED_SCHEMA.md:927-937 |
| 7 | 🔴 | да | — | REPORT:395-396, :436 |
| 8 | 🔴 | да | — | REPORT:419, :421, :449 |
| 9 | 🔴 | да | — | here.now — только в таблице ошибок (REPORT:58) |
| 10 | 🔴 | да | — | REPORT:95-104. borrow_from у
gbrain-everything не назван, родитель верный |
| 11 | 🔴 | нет | фразы нет: проза рекомендованной схемы — папка
household/ для недвижимости и что каталога
places/ в том дереве нет. Нет фразы, что
company-brain и gbrain-everything не наследуют
place |
GBRAIN_RECOMMENDED_SCHEMA.md:151, :990;
grep household — 0 |
| 12 | 🟠 | да | — | REPORT:107-108;
schema-packs.md:159-163 |
| 13 | 🔴 | да | — | REPORT:169-171, :177 |
| 14 | 🟠 | да | — | REPORT:177; pages.ts:662-669 |
| 15 | 🟠 | нет | у gbrain-everything в столбце «Что важно для нас» — «—»
(REPORT:104) |
пункт требует одно предложение на каждую линзу |
| 16 | 🟠 | да | — | REPORT:100 |
| 17 | 🟠 | нет | в шаге 2 нет gbrain schema sync --apply; нет фразы, что
учебник выполняется без ключа API |
REPORT:481; what-schemas-unlock.md:62,
schema-author-tutorial.md:130 (шаг 7
sync --apply) |
| 18 | 🔴 | да | — | REPORT:127-138; покупка — purpose: buy,
аренда — listing |
| 19 | 🔴 | да | — | REPORT:151-158, новые связи помечены «новая» |
| 20 | 🔴 | да | — | REPORT:464-467 |
| 21 | 🟠 | да | — | REPORT:131-133, вопрос 2 |
| 22 | 🔴 | да, формально | нумерация, команды, касание cheaptrip есть. Выполнимость — Ф-1 | — |
| 23 | 🔴 | нет | у варианта Б нет отката и нет примера с карточкой On Urbe, которую
дописывает WhatsApp (REPORT:430-439) |
пункт требует «польза на примере… цена, риск… откат» по каждому устройству |
| 24 | 🟠 | да | — | REPORT:172-175 |
| 25 | 🟠 | да | — | REPORT:368, :481-482 («да: пакет общий»,
«да: вся база»), выход — вариант Б |
| 26 | 🟠 | да | — | REPORT:140-143 (типы) и :375 (векторы) —
два разных решения |
| 27 | 🔴 | нет | вопрос 3 без примера на объекте и без риска
(REPORT:529-531) |
— |
| 28 | 🔴 | нет | способ mounts есть в доке, но не разобран и не назван;
старые вопросы 4–9 — без контекста (REPORT:567-572) |
mounts.ts:4;
brains-and-sources.md:136-140 |
| 29 | 🟠 | нет | битые и неточные ссылки и непомеченная догадка — см. Ф9 выше и раздел 3 | gbrain-base.yaml:1-5;
remote-mcp.md:430-432; memory-trust.md:17 |
| 30 | 🔴 | да | — | «нет гео», «одна сессия», «вариант Г» — только в таблице ошибок |
Счёт: 🔴 «нет» — 5 (6, 11, 23, 27, 28); 🟠 «нет» — 3 (15, 17, 29).
3. Выборочная
сверка ссылок путь:строка — 32 штуки
| № | Ссылка в отчёте | Что заявлено | Совпало? |
|---|---|---|---|
| 1 | gbrain-recommended.yaml:112-118 |
тип place, places/ |
✅ |
| 2 | frontmatter-where.ts:1-7 |
равенство и элемент списка | ✅ |
| 3 | CLAUDE_CODE.md:92-100 |
один общий serve --http |
✅ |
| 4 | ollama.ts:51 |
цена 0 | 🟡 цена на :53, на :51 —
default_dims |
| 5 | embedding-pricing.ts:38-87 |
OpenAI small $0,02, Voyage-4 $0,06 | ✅ :39, :44 |
| 6 | link-extraction.ts:1607-1610 |
company → works_at при любом пакете |
✅ плюс :2009-2014 |
| 7 | link-extraction.ts:1620-1624 |
attendees, source,
sources |
✅ |
| 8 | merge.ts:8-21 / :19-20 |
mapping_rules не наследуется |
✅ |
| 9 | gbrain-base-v2.yaml:649-657 |
ловушка → note |
✅ |
| 10 | gbrain-base.yaml:1-5 |
«24 типа» | ❌ числа в строках нет; page_types — 28 |
| 11 | schema-packs.md:150-165 |
7 уровней, 6 = config.json, 7 = base | ✅ |
| 12 | markdown.ts:1114-1133 |
префикс в любом месте пути, первый выигрывает | ✅ lower.includes(needle) |
| 13 | where-param.ts:10 |
только равенство | ✅, но там же fullSurfaceOnly: true — отчёт это упустил
(Ф-6) |
| 14 | pages.ts:662-669 |
поля list_pages |
✅ |
| 15 | alias-hop.ts:20-29 |
алиас — только полное совпадение запроса | ✅ |
| 16 | GBRAIN_RECOMMENDED_SCHEMA.md:80 |
агент ведёт страницы | ✅ |
| 17 | GBRAIN_RECOMMENDED_SCHEMA.md:109 |
frontmatter не индексируется | ✅ |
| 18 | GBRAIN_RECOMMENDED_SCHEMA.md:187 |
телефоны в phones: E.164 |
✅ |
| 19 | GBRAIN_RECOMMENDED_SCHEMA.md:980 |
deals/ |
✅ |
| 20 | op-trust-gate.ts:93-113 |
разные пакеты → отказ общего чтения | ✅ |
| 21 | schema-packs.md:412-416 |
«remains future work» | ✅ |
| 22 | ops/facts.ts:64-80 |
extract_facts, entity_hints,
valid_from |
✅ |
| 23 | google-connect.md:96-100 |
ящик = источник | ✅ |
| 24 | google-connect.md:436-472 |
доступ без OAuth gbrain | ✅ |
| 25 | open-loops.md:16-28, :83 |
петли 24 ч / 72 ч, owes_to |
✅ |
| 26 | MEMORY_VERBS_v1.md:272-274 |
provenance обязателен |
✅ |
| 27 | memory-trust.md:11-20, :36-37 |
уровни доверия, подтверждение только в терминале | ✅ уровни; ❗ но из этой же таблицы следует, что своя переписка —
operator_curated (Ф-2) |
| 28 | fts-language.ts:88-111 |
без переменной initSchema вернёт
english |
✅ |
| 29 | pglite-embedded-assets.ts:147-149 |
PGLite: только vector, pg_trgm |
✅ |
| 30 | harness-adapters.md:11, :19 |
Codex — stdio/http, Cursor — только http | ✅ |
| 31 | remote-mcp.md:429-436 |
«sync и чтение из CLI идут через службу» | ❌ док: команды, открывающие базу, «fail fast with
live_serve»; исключения — sync и
sweep --once |
| 32 | sources.ts:1976-1978 |
--path — git-репозиторий с коммитом |
✅ |
- Итог сверки: 28 ✅, 1 🟡, 2 ❌, 1 ✅ с вскрывшейся ошибкой рядом.
4. Фактические ошибки
Ф-1 🔴 Команды CLI при живой службе — неверно, и на этом ломается порядок внедрения.
- Отчёт: «под живой службой не работают
doctor,import,auth create…syncи чтение из CLI идут через службу» (REPORT:397). - Документация, на которую он же ссылается:
remote-mcp.md:429-432: «host-side commands that open the database (gbrain doctor,gbrain import,gbrain auth create, a secondgbrain serve) fail fast withlive_serve…gbrain syncandgbrain sweep --onceare the exceptions»;CODEX.md:277-279: «any CLI command that opens the DB fails on the lock while that serve is live (gbrain syncis the one exception)».- Список в
doctor, import, auth create— примеры, а не полный перечень.
- Что упадёт в таблице шагов (
REPORT:478-490):- шаг 3 —
reindex-search-vector(сам отчёт гадает об этом вREPORT:356, но в таблице шага остановки службы нет); - шаг 4 —
sources add; - шаг 7 —
extract-conversation-facts; - шаг 10 —
sources add --kind google; - шаг 11 —
migrate embeddings.
- шаг 3 —
- 🔮 Шаг 2:
schema fork,add-type,useпишут файлы в~/.gbrain, базу, вероятно, не открывают. Аschema activeоткрывает — см. Ф-3. - Как правильно: у каждого шага столбец «как выполнить при живой
службе» — одно из трёх:
- короткая остановка службы (
launchctl bootout→ команда →bootstrap); - через живой сервер
(
gbrain mcp admin … --admin-token-file, MCP-операцияsources_add); - переезд на Postgres до внедрения.
- короткая остановка службы (
- Отчёт: «под живой службой не работают
Ф-2 🔴 Переписка WhatsApp получит уровень «your notes», а не
external_untrusted.- Отчёт: «gbrain помечает переписку
external_untrustedи отдаёт её как данные» (REPORT:551). Утверждение не помечено как догадка. - Код:
memory-trust.md:17:operator_curated— «sync and import of your own sources»;memory-trust.md:21:external_untrusted— «connectors, webhooks, clipped pages, third-party transcripts».
- Отчёт загружает переписку
syncом из своего git-репозитория (REPORT:300-304, шаг 7). Значит, уровень по умолчанию —operator_curated, метка «your notes». - Понизить можно только на весь источник:
gbrain sources set-trust <id> <tier>— «the per-source trust default… for mirrors of third-party repositories. It can only lower» ($G/src/commands/sources-trust.ts:1-9). - Последствие: слова агентов On Urbe попадут в контекст агентов как «ваши заметки». Это ослабляет и проверку истинности, и защиту от инструкций в чужом тексте.
- Как правильно:
- переписку — в отдельный источник, например
realestate-barcelona-whatsapp; gbrain sources set-trust realestate-barcelona-whatsapp external_untrusted;- карточки — в
realestate-barcelonaс уровнемoperator_curated.
- переписку — в отдельный источник, например
- Ловушка: два источника с разными пакетами ломают общее чтение
(
op-trust-gate.ts:108-113), поэтому пакет у обоих — один.
- Отчёт: «gbrain помечает переписку
Ф-3 🟠 Внутреннее противоречие про
schema active.REPORT:109: «командаgbrain schema activeоткрывает базу и при живой службе упирается в замок».REPORT:481, шаг 2, «что увидеть»: «gbrain schema active→ новый пакет».- Как правильно: проверка через MCP
get_active_schema_pack— отчёт сам её назвал в:109.
Ф-4 🟠 «Резервная копия» — команда не та.
- Шаг 1: «
gbrain backup check» (REPORT:480). По$G/src/commands/backup.ts:6check— «force a recompute + write the cache», то есть проверка готовности, а не копия. - Копию делает
gbrain backup create --output /absolute/private/path/archive.gbrain-backup(backup.ts:39). При живой службе это тоже открытие базы, поэтому — физическая копия папки при остановленной службе. - Ручная копия в отчёте названа; путаницу создаёт именно
backup checkв столбце «команда».
- Шаг 1: «
Ф-5 🟠 Фильтр
whereагентам по MCP по умолчанию не виден.where-param.ts:10:fullSurfaceOnly: true.- Ответы пилота строятся на
list_pagesсwhere(REPORT:216,:283). У клиента на поверхностиstarterпараметра нет, он открывается черезrequest_toolsили поверхностьfull. - В отчёте этого нет (grep
request_tools,fullSurface— 0).
Ф-6 ⚪ «24 типа» у
gbrain-base.REPORT:97со ссылкойgbrain-base.yaml:1-5. В этих строках числа нет.- Подсчёт
- name:в блокеpage_typesдаёт 28. Число 24 — из устаревшего комментарияgbrain-base-v2.yaml:19.
Ф-7 ⚪ Разделитель хронологии в страницах пилота — запасной, а не основной.
- Пилот:
---и следующей строкой## Timeline(REPORT:209-210,:234-235,:276-277). docs/guides/compiled-truth.md:116-128: основной разделитель —<!-- timeline -->, «what GBrain itself emits».---перед## Timeline— «backward-compat for older gbrain-written files».- Для шаблона, по которому агенты напишут сотни страниц, нужен основной вариант.
- Пилот:
Ф-8 ⚪ Ссылка
ollama.ts:51смещена: цена 0 — на:53.Ф-9 ⚪ Время в шапке.
generated.at: 2026-11-02T17:30:00Z(REPORT:7), а файл записан в 17:40 по местному времени, то есть около 16:40 UTC. Это местное время с пометкойZ.Ф-10 🟠 Довод «станет больше сотни» — не помечен как догадка и противоречит порогу, который отчёт сам цитирует.
REPORT:140-143: «меньше 20 страниц — новый тип не заводить» (schema-author-tutorial.md:212), затем «за весенний поиск аренды и за покупку их станет больше сотни».- Сейчас квартир 20 (порог «20–100 → алиас»), объявлений Ukio 5, домов единицы.
- Прогноз роста без
🔮— догадка, поданная фактом. Довод «база на годы» верный, но число нужно пометить. И дляbuilding/listingчестно написать, что по правилу учебника это алиас или подтип, а не тип — тогда ответ 2б становится сильнее, чем подан.
Не ошибка, хотя чек-лист cursor-grok считает её ошибкой. Связь
works_atиз поляcompany:при пакете v2 создаётся:link-extraction.ts:2009-2014сливает встроенную таблицуFRONTMATTER_LINK_MAP(:1607-1610) с полями пакета. Отчёт прав. Пункт 2 чек-листа cursor-grok в этой части неверен.
5. Что Константин сочтёт колхозом, отговоркой или непониманием контекста
- Нет постоянной ссылки на сам отчёт.
- Его слова: «На Cloudflare опубликуй новый ресерч потом» и «Она хуя мне для временной задачи, вечная ссылка».
- В отчёте Cloudflare есть только для карты, на шаге 9. Сам отчёт — файл без ссылки. Это ровно тот промах, за который был разнос.
- «Ограничение настоящее, но узкое» (
REPORT:397) — это отговорка, причём с неверным фактом.- Его слова: «То, что ты ху
во данные в базу данных заносишь… это… не оправдание». - Ограничение не узкое: оно задевает половину шагов внедрения. Он
попробует шаг 3 и получит
live_serve.
- Его слова: «То, что ты ху
- Неуспешные переговоры пропали из модели.
- Его слова в первой постановке: «успешный пегор, не успешный»
(
README-task-009:19). В прошлом отчёте было полеlost_reason. - Сейчас у сделки только
status: open. Он спросит «а где почему не купили».
- Его слова в первой постановке: «успешный пегор, не успешный»
(
- Векторы: таблица цен вместо его решения.
- Его слова: «Я подключу API, но не на 5… заметках… Будет 500 заметок. Подключу вектор».
- Отчёт это уважает (
REPORT:375). Но OpenAI и Voyage стоят в одной таблице с Ollama, без довода, какой лучше для русского и испанского текста. Модельbge-m3названа «многоязычной» без источника. - Это не отговорка, но решение он принять по таблице не сможет.
- Hermes и другие агенты — не всё.
- Его слова: «могут использовать мои разные агенты». Его правило в
~/.claude/CLAUDE.md: «Codex, Cursor, Гермес читаютAGENTS.md». - Hermes в таблице агентов нет. А Hermes умеет только
stdio(harness-adapters.md:18), что прямо конфликтует с «один общий HTTP-сервер». Для него это непонимание контекста.
- Его слова: «могут использовать мои разные агенты». Его правило в
- Вопрос 3 — голые имена.
- Его правило: «любое предложение, которое сделано без аргументации…
твое мнение нихуя не значит»
(
cl-cheap-gbrain/CLAUDE.md). - У 3а нет примера и риска.
- Его правило: «любое предложение, которое сделано без аргументации…
твое мнение нихуя не значит»
(
- Старые вопросы 4–9 одной строкой без контекста.
- Его слова: «Как я могу тебе на вопрос ответить, если не знаю… Добавляй контекст».
- Пример: «8 — Sant Miquel 116 — дом квартиры Keller Williams или место встречи». Кто это, откуда, что изменится — не сказано.
- «Проба» стемминга, которую нельзя повторить.
REPORT:17: «скрипт — во временной папке сессии».- Его слова: «с поверкой истинности». Вывод «Михаил → миха» — ключевой для довода про имена, а проверить его нельзя: скрипта нет в задаче.
6. Чего не хватает, чтобы начать внедрение завтра
- Способ выполнения каждого шага при живой службе — остановка, админка сервера или Postgres. Без этого шаг 3 падает (Ф-1).
- Решение по уровню доверия переписки: отдельный
источник и
sources set-trust(Ф-2) — до шага 7, иначе он ляжет как «your notes». - Сам файл пакета
cons-gbrain-base-v2-plus-places-and-properties:- готовый YAML — типы,
link_typesсinverseиtarget_type,frontmatter_linksдляplace,building,property,agency,agent,properties,counterparties,enrichable_types; - или полный список команд
add-type/add-link-typeс флагами по справке (gbrain schema --help). - Сейчас только «то же для …» и «остальные связи из 4.2»
(
REPORT:481), а синтаксис помечен🔮. - Отдельно: связь
located_inобъявлена только для--page-type property; дляbuilding,listing,company(у On Urbe в пилоте полеplace:) нужны свои строки.
- готовый YAML — типы,
- Спецификация двух конвертеров:
- JSON → страницы: какое поле реестра → какое поле шапки и какой раздел;
CHAT-*.jsonl→conversations/whatsapp/…: формат строки, один файл на контакт и месяц, часовой пояс (парсер различаетfrontmatter.timezone).- Оба названы «новый конвертер» без входа и выхода.
- Поле итога сделки:
outcome,lost_by,lost_reasonс закрытым списком (был в PROPOSAL) — и куда он пишется: поле или факт со ссылкой на сообщение. - Чем модель извлечения фактов работает по подписке:
- строка
gbrain config set facts.extraction_model claude-cli:<модель>; - проверка на одном разговоре до шага 7 (сейчас —
🔮,REPORT:305).
- строка
- Доступ для Hermes (только
stdio) при одной службе HTTP: Hermes черезgbrain connect/ тонкий CLI или без него — решение и команда. - Проверка грантов клиента Grok Bot — команда чтения гранта (сейчас «проверить»).
- Резервная копия и откат:
- откат шага 3 —
englishи ещё одна переиндексация — должен идти с оценкой времени; - откат шага 2 при уже загруженных страницах новых типов — что станет
с ними после
schema use gbrain-base-v2. По правилу v2 необъявленные типы при чистке типов →note(gbrain-base-v2.yaml:649-657). Откат не нейтрален, а в отчёте он так подан.
- откат шага 3 —
- Постоянная публикация отчёта на Cloudflare Pages со ссылкой в шапке.
7. Итог приёмки
- По чек-листу claude-opus — НЕ ПРИНЯТ.
- Правило: все 🔴 — «да», 🟠 «нет» не больше двух.
- Факт: 🔴 «нет» — 5 (С3, Ф9, П4, П6, Пб1); 🟠 «нет» — 7.
- По чек-листу cursor-grok — НЕ ПРИНЯТ.
- Правило: все блокирующие — «да», важных «нет» не больше одного.
- Факт: блокирующих «нет» — 5 (6, 11, 23, 27, 28); важных «нет» — 3 (15, 17, 29).
- Пункт 2 засчитан как «да», потому что код опровергает условие пункта. Если считать по букве пункта, блокирующих «нет» — 6, итог тот же.
- Близость к приёмке: большая часть «нет» закрывается правкой текста за час. Блокеры по сути — только Ф-1 (выполнимость шагов) и Ф-2 (доверие переписки).
8. Топ-10 правок по убыванию важности
- Исправить
REPORT:397и таблицу шагов.- Заменить «Ограничение настоящее, но узкое…
syncи чтение из CLI идут через службу» на цитатуremote-mcp.md:429-436: «host-side commands that open the database… fail fast withlive_serve;gbrain syncandgbrain sweep --onceare the exceptions». - В таблицу
REPORT:478-490добавить столбец «как выполнить при живой службе» для шагов 2–4, 6, 7, 10, 11 (остановка службы, админка сервера или MCP-операция).
- Заменить «Ограничение настоящее, но узкое…
- Исправить
REPORT:551.- Заменить «gbrain помечает переписку
external_untrusted» на: «по умолчаниюsyncсвоего репозитория даётoperator_curated(memory-trust.md:17). Поэтому переписку кладём в отдельный источникrealestate-barcelona-whatsappи делаемgbrain sources set-trust realestate-barcelona-whatsapp external_untrusted(sources-trust.ts:1-9), пакет тот же». - Добавить этот источник в шаг 4 и вариант А.
- Заменить «gbrain помечает переписку
- Опубликовать отчёт на Cloudflare Pages и вписать
постоянную ссылку первой строкой раздела «Статус»
(
REPORT:13). Убрать формулировку «раздел 13» вREPORT:58— там только карта. - Вернуть итог переговоров. В пример
deals/pescadors…(REPORT:264-272) добавитьoutcome: open|won|lost,lost_by,lost_reasonс закрытым списком из PROPOSAL раздела 2 и правило «итог — поле плюс факт со ссылкой на сообщение». Плюс пример неуспешной сделки (Housfy или Tecnocasa). - Добавить раздел «Факты и мнения».
takes_kinds: fact / take / bet / hunch(gbrain-base-v2.yaml:44-48), ссылкаdocs/takes-vs-facts.md;- пример: «Franco жёстко торгуется» —
takeс держателемpeople/konstantin, «цена 176 000 €» —fact; - правило рекомендованной схемы о противоречиях и сиротах
(
GBRAIN_RECOMMENDED_SCHEMA.md:927-937).
- Дать пакет целиком. Вместо «то же для
building,property,listing; …остальные связи из 4.2» (REPORT:481) — полный YAML пакета:extends: gbrain-base-v2, 4 типа, 6 связей сinverseиtarget_type,frontmatter_links(включаяplaceуcompany,building,listing),enrichable_types. Добавитьgbrain schema sync --applyи фразу, что всё делается без ключа API. - Таблица агентов (
REPORT:400-405). Добавить строку Hermes: «толькоstdio(harness-adapters.md:18) — подключение через [способ] или не подключать». Добавить, чтоwhereуlist_pagesвиден только на полной поверхности (where-param.ts:10) — клиентам нужен--surface fullилиrequest_tools. - Разобрать четвёртый способ —
gbrain mounts add(mounts.ts:4,brains-and-sources.md:136-140): что это, польза, цена, мнение с доводом. Добавить откат и пример с карточкой On Urbe к варианту Б (REPORT:430-439). - Подача вопросов.
- Вопрос 3: добавить пользу на примере и риск.
- Старые вопросы 4–9: развернуть каждый в блок «контекст — кто, откуда, что изменится в базе».
- В таблицу пакетов (
REPORT:104) вместо «—» уgbrain-everythingвписать «склейка трёх линз; типов для недвижимости не добавляет». - Добавить строку про
household/(GBRAIN_RECOMMENDED_SCHEMA.md:151).
- Точность ссылок и догадок.
- «24 типа (
gbrain-base.yaml:1-5)» → «28 типов (подсчётpage_types)». ollama.ts:51→:53.backup checkв шаге 1 →backup createили физическая копия при остановленной службе.- Разделитель в пилоте
---→<!-- timeline -->(compiled-truth.md:116-128). generated.at→ время в UTC.- Пометить
🔮«станет больше сотни» (REPORT:142). - Приложить скрипт пробы Snowball в папку задачи.
- Добавить порог «когда Postgres» в
REPORT:408.
- «24 типа (