Skip to content

feat(layers): рушій шарової документації + npm/docs як полігон - #57

Merged
vitaliytv merged 2 commits into
mainfrom
claude/npm-docs-layered-approach-42bd4e
Jul 22, 2026
Merged

feat(layers): рушій шарової документації + npm/docs як полігон#57
vitaliytv merged 2 commits into
mainfrom
claude/npm-docs-layered-approach-42bd4e

Conversation

@vitaliytv

Copy link
Copy Markdown
Member

Summary

  • Новий workspace-пакет @7n/layers — рушій шарової документації: подвійний CRC (essence-CRC для суті доки + file-CRC для повного тіла) детерміновано відрізняє «змінились приховані деталі» (details-only, верхній шар лишається свіжим) від «змінилось те, що видно шаром вище» (stale, потрібна перебудова). LLM-генерація верхніх шарів і derived-переклади — через @7n/llm-lib (каскад локальні omlx-моделі → хмарні). CLI: status / refresh / build / bootstrap / translate.
  • npm/docs як перший полігон: 12 архітектурних глав отримали секцію ## Суть; згенеровано 4 тематичні L2-огляди (overview/{direction,core,runtime,people}.md) → 1 L1-огляд (overview/index.md) → L0-резюме у npm/docs/index.md («подорож шарами», зрозуміла нетехнічному читачу). Усе перекладено на англійську (18 файлів *.en.md).
  • 95 unit-тестів (vitest): CRC-нечутливість до косметики, round-trip frontmatter (включно з чужим форматом tags: [...]), повна матриця станів status, build/bootstrap/translate на injected-стабах.
  • Наскрізно перевірено на двох незалежних полігонах (npm/docs і окремо nitra/cursor/docs): деталь-only правка → лише details-only, жодна верхня дока не перебудовується; правка суті → каскад stale рівно на один шар вгору; LLM недоступна → чемний exit 3, файли не чіпаються.

Test plan

  • npx vitest run --root layers — 95/95 зелені
  • bun run layers status npm/docsfresh, exit 0
  • Smoke: правка деталі в architecture/graph.mdstatus показує лише details-only по overview/core.md, решта шарів fresh
  • Smoke: правка ## Суть → каскад stale через overview/core.mdoverview/index.mdindex.md, build лікує каскадом до fresh
  • Незалежний тестовий полігон nitra/cursor/docs (5 leaf-доків, чужий docgen:-frontmatter) — повний цикл bootstrap→build→translate успішний
  • npx --no @nitra/cursor lint — чисто, окрім одного зовнішнього блокера (див. нижче)

Відомий блокер (поза цим PR)

text/run-v8r не знаходить JSON-схему для нових npm/docs/layers.json і layers/schemas/layers.schema.json — каталог схем живе у зовнішньому пакеті @nitra/cursor, встановлена версія (14.25.1) ще не має відповідного запису. Свідомо не додавав локальний ignore/exception — фікс належить upstream-пакету.

🤖 Generated with Claude Code

vitaliytv and others added 2 commits July 22, 2026 10:49
Новий workspace-пакет @7n/layers: подвійний CRC (essence + file) для
детермінованого виявлення застарілості шарів документації — зміна деталей
нижнього шару не тригерить перебудову верхнього, зміна суті тригерить.
LLM-генерація верхніх шарів і derived-переклади через @7n/llm-lib (каскад
локальні omlx-моделі → хмарні), CLI: status/refresh/build/bootstrap/translate.

npm/docs як перший полігон: 12 архітектурних глав отримали секцію "## Суть",
згенеровано 4 тематичні L2-огляди, 1 L1-огляд і L0-резюме в index.md
("подорож шарами"), усе перекладено на англійську.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
main пішов на 73 коміти вперед (Rust-рефакторинг crates/agent-core, .n-cursor.json
→ .n-rules.json, ADR-churn, dependency bumps). Конфлікти: package.json (скрипти),
bun.lock (перегенеровано через bun install), 2 ADR-churn файли (взято main),
npm/docs/vision.md (main суттєво розширив "## Теза" — інверсія делегування,
mandates.md; суть позначено essence:draft і перегенеровано, каскад L2→L1→L0
перебудований і перекладений).

Після merge 8 leaf-глав показали details-only (main змінив деталі поза
"## Суть") — виправлено детермінованим refresh без LLM. Полігон npm/docs
знову fresh: 6/6 шарів, 18/18 перекладів.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@vitaliytv
vitaliytv merged commit 087f6b1 into main Jul 22, 2026
1 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant