a36b6b5959
Коммит 2. Каждое ручное зеркало получает настоящий гард/деривацию/parity-тест вместо комментария «mirror this»: - ROUTING_PROSE → ОБРАТНЫЙ гард (server-instructions.ts): прямой уже покрыт генерируемым <tool_inventory> (каждый зарегистрированный тул в списке); теперь `unregisteredProseToolMentions` краснеет, если проза ссылается на несуществующий/переименованный тул (camelCase-токены прозы ⊆ реестр, минус явный список не-тул-терминов PROSE_NON_TOOL_TERMS). Раньше мёртвая ссылка в прозе не краснела. Мутационный тест: `getPageContentz` ловится. - LABELS экспорта чата (chat-markdown.util.ts) → parity-тест: каждый ключ-ярлык обязан быть реальным in-app тулом (иначе переименованный тул молча сваливается на generic «Ran tool <name>»), и оба языка (en/ru) размечают ОДИН набор тулов. - зонд comment-signal ×2 (оба хоста) → общий `createListCommentsProbe` в packages/mcp: index.ts и ai-chat-tools.service.ts (через loader) строят tracker.probe из ОДНОЙ фабрики — тела больше не могут разойтись (например, один считает resolved-комментарии, другой нет). Проброшен через loader-границу как опциональный (отсутствует на устаревшем билде → сигнал выключен). - countAnchorMatches (comment-anchor.ts) → делегирует решение exact-wins/strip-fallback единственному резолверу resolveAnchorSelection вместо параллельной копии; поведение идентично (rawCanAnchor ⟺ rawCount>0), parity-тест по корпусу краснеет при расхождении count↔resolve. - normalize+sha256 ×2 (gen-registry-stamp.mjs + docmost-client.loader.ts): зеркало УЖЕ закрыто cross-impl parity-тестом (CROSS_IMPL_TREE/EXPECTED проверяется с обеих сторон) — критерий issue «либо parity-тест» уже выполнен; извлечение общего модуля через границу пакета/билд-шага регрессионно-опасно для load-bearing integrity-проверки (#486), поэтому оставлено как есть. Тесты: mcp node --test unit+mock зелёные (844); затронутые server-specs (chat-markdown, comment-signal-inapp, loader, service, tiers, contract, cap) зелёные (351). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A progressive Node.js framework for building efficient and scalable server-side applications.
Description
Nest framework TypeScript starter repository.
Installation
$ npm install
Running the app
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
Migrations
# This creates a new empty migration file named 'init'
$ npm run migration:create --name=init
# Generates 'init' migration file from existing entities to update the database schema
$ npm run migration:generate --name=init
# Runs all pending migrations to update the database schema
$ npm run migration:run
# Reverts the last executed migration
$ npm run migration:revert
# Reverts all migrations
$ npm run migration:revert
# Shows the list of executed and pending migrations
$ npm run migration:show
## Test
```bash
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
Support
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
Stay in touch
- Author - Kamil Myśliwiec
- Website - https://nestjs.com
- Twitter - @nestframework
License
Nest is MIT licensed.