Снимок для контура: артефакты агента вырезаются на любой глубине (#75) #76

Merged
aep merged 1 commits from feat/75-snapshot-nested-cleanup into main 2026-10-08 22:43:00 +03:00
Owner

Closes #75

Что

scripts/prepare-contour-snapshot.sh удалял .claude/, CLAUDE.md, openspec/config.yaml, docs/superpowers/ только в корне репозитория. После переноса фронта в arm-core/web/ (arm-core #72) вложенные копии из arm-web попадали бы в снимок — их вычистили вручную (arm-core #73), и при следующей синхронизации с arm-web пришлось бы снова.

  • удаление и проверка — find по всему дереву: .claude/, .codegraph/, CLAUDE.md, */openspec/config.yaml, */docs/superpowers/; опустевшие docs/ убираются;
  • Dockerfile/.dockerignore — по-прежнему только в корне (образ сервиса);
  • новый тест scripts/test_prepare_contour_snapshot.sh (make test-snapshot, входит в make check): синтетический arm-core с артефактами в корне и в web/, проверяет, что они вырезаны, а openspec/specs, changes/archive, src и прочее содержимое вложенного docs/ остались;
  • dev/contour-transfer-guide.md §1–§3, текст SNAPSHOT.md.

Проверка

  • make test-snapshot: до правки — падение (вложенные артефакты с локальными путями остались), после — ok.
  • arm-core@2a6383e («Merge web repo», до ручной чистки): старый скрипт падал на /Users/… в web/docs/superpowers/, новый — снимок готов, в web/ нет .claude, CLAUDE.md, openspec/config.yaml, планов.
  • arm-core@29f24b3 (текущий main): снимок готов, 514 файлов.
  • make validate-contracts в worktree не запускался — нет venv с jsonschema (к правке не относится).

Rulings I made

  • R-1: web/ARCHITECTURE.md, web/Makefile, web/scripts/ из arm-web скриптом не вырезаются — это не артефакты агента; проверка локальных путей их всё равно ловит. Вложенные web/openspec/specs/ и changes/archive/ остаются по тому же правилу, что и корневые. Если в контур их не нужно — расширить список.
  • R-2: Dockerfile/.dockerignore удаляются только в корне — вложенный Dockerfile может оказаться осмысленным.

🤖 Generated with Claude Code

https://claude.ai/code/session_019qoydUVv8g1qHxc123u2RR

Closes #75 ## Что `scripts/prepare-contour-snapshot.sh` удалял `.claude/`, `CLAUDE.md`, `openspec/config.yaml`, `docs/superpowers/` только в корне репозитория. После переноса фронта в `arm-core/web/` (arm-core #72) вложенные копии из arm-web попадали бы в снимок — их вычистили вручную (arm-core #73), и при следующей синхронизации с arm-web пришлось бы снова. - удаление и проверка — `find` по всему дереву: `.claude/`, `.codegraph/`, `CLAUDE.md`, `*/openspec/config.yaml`, `*/docs/superpowers/`; опустевшие `docs/` убираются; - `Dockerfile`/`.dockerignore` — по-прежнему только в корне (образ сервиса); - новый тест `scripts/test_prepare_contour_snapshot.sh` (`make test-snapshot`, входит в `make check`): синтетический arm-core с артефактами в корне и в `web/`, проверяет, что они вырезаны, а `openspec/specs`, `changes/archive`, `src` и прочее содержимое вложенного `docs/` остались; - `dev/contour-transfer-guide.md` §1–§3, текст `SNAPSHOT.md`. ## Проверка - `make test-snapshot`: до правки — падение (вложенные артефакты с локальными путями остались), после — ok. - arm-core@2a6383e («Merge web repo», до ручной чистки): старый скрипт падал на `/Users/…` в `web/docs/superpowers/`, новый — снимок готов, в `web/` нет `.claude`, `CLAUDE.md`, `openspec/config.yaml`, планов. - arm-core@29f24b3 (текущий main): снимок готов, 514 файлов. - `make validate-contracts` в worktree не запускался — нет venv с jsonschema (к правке не относится). ## Rulings I made - R-1: `web/ARCHITECTURE.md`, `web/Makefile`, `web/scripts/` из arm-web скриптом **не** вырезаются — это не артефакты агента; проверка локальных путей их всё равно ловит. Вложенные `web/openspec/specs/` и `changes/archive/` остаются по тому же правилу, что и корневые. Если в контур их не нужно — расширить список. - R-2: `Dockerfile`/`.dockerignore` удаляются только в корне — вложенный Dockerfile может оказаться осмысленным. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_019qoydUVv8g1qHxc123u2RR
aep added 1 commit 2026-10-08 22:42:24 +03:00
Фронт перенесён в arm-core/web/ из arm-web вместе со своими .claude/, CLAUDE.md,
openspec/config.yaml, docs/superpowers/ и .codegraph/. Скрипт удалял их только в
корне, поэтому в arm-core их пришлось вычищать вручную (arm-core #73).

- prepare-contour-snapshot.sh: удаление и проверка через find по всему дереву;
  опустевшие docs/ убираются; Dockerfile/.dockerignore — по-прежнему только корень
- scripts/test_prepare_contour_snapshot.sh + make test-snapshot (входит в make check):
  синтетический arm-core с артефактами в корне и в web/
- dev/contour-transfer-guide.md §1–§3 и текст SNAPSHOT.md

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019qoydUVv8g1qHxc123u2RR
aep merged commit 24089e50cc into main 2026-10-08 22:43:00 +03:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RSHB/arm-ka-docs#76
No description provided.