docs/superpowers/plans/2026-10-03-slice-0-skeleton*.md сгенерирован 1:1 из openspec/changes/slice-0-skeleton/tasks.md (заголовки «Task N» для скриптов subagent-driven-development, Global Constraints из спеки и CLAUDE.md). .gitignore: .codegraph/, .superpowers/, .bounded, .DS_Store. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
5.3 KiB
5.3 KiB
Срез 0 — сквозной скелет (docs) — фаза 2: проверки, профиль services, документы — план исполнения (Срез 0)
For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (
- [ ]) syntax for tracking.
Branch: feat/1-slice-0-skeleton (worktree .wt/slice-0/docs). Issue: #1.
Spec: openspec/changes/slice-0-skeleton/ — proposal.md, design.md, specs/*/spec.md этого change'а. Спека — единственный источник истины при рулингах; этот план сгенерирован из её tasks.md 1:1 (номера в скобках — исходные номера задач tasks.md; по завершении задачи отметить её - [x] и в tasks.md).
Global Constraints
- Репозиторий
arm-ka-docs: документы, контракты,docs/dev/.docs/source/**не редактировать. - Контракт v1.0: три схемы JSON Schema 2020-12 (
recognition-request,recognition-result-message,recognition-result),schema_version="1.0"; статусы конвертаprocessing | done | needs_check | error; коды ошибок — перечень из specrecognition-contract(включаяNOT_IMPLEMENTED); деньги — строки^-?\d+(\.\d{1,2})?$;Nats-Msg-Id:<job_id>:<attempt>,ack:<job_id>:<attempt>,result:<job_id>:<attempt>. - Платформа: Python 3.11, PostgreSQL 16, NATS 2.10 без JetStream, один бакет S3
arm-ka; Nexus недоступен; CI нет —make check/make check-full. - Compose собирает сервисы из
../../<repo>относительноdocs/dev/; версии образов фиксированы. - Язык документов и коммитов — русский; коммит заканчивается строкой
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>.
Задачи
Task 1: [4.1] [docs] docs/dev/checks.md
- [docs]
docs/dev/checks.md: общие целиMakefile(up,test,test-integration,lint,check,check-full), что делает каждая, порядок перед PR, как пропускаются тесты без фикстур/docs; проверка: целиarm-coreсоответствуют описанию
Task 2: [4.2] [docs] Эталонный фрагмент docs/dev/Makefile.common (включается в Makefile се
- [docs] Эталонный фрагмент
docs/dev/Makefile.common(включается вMakefileсервисов черезincludeили копируется); проверка:make checkв трёх репозиториях вызывает одинаковые команды (diffобщих целей)
Task 3: [5.3] [docs] docker-compose.yml
- [docs]
docker-compose.yml: профильservices—arm-core(8000),tabular-parser(8001),scan-gateway(8002),scan-emulator(томhotfolder,../../fixtures/ocr:ro); проверка:--profile services up --build, все/healthcheck200 сnats = ok
Task 4: [5.4] [docs] Сквозная проверка руками по README
- [docs] Сквозная проверка руками по README: вставить
recognition_jobв БД черезpsql(или тестовый скрипт arm-core) → паблишер публикует →tabular-parserотвечает ack иNOT_IMPLEMENTED→recognition_job.statusпроходитpublished → processing → error,error_code = NOT_IMPLEMENTED; то же дляimageчерез эмулятор (raw/{job_id}.jsonпоявляется в MinIO); остановитьtabular-parser, вставить задание — через 30 с повторная публикация, после трёх —dlq; зафиксировать в README как «проверка окружения»
Task 5: [6.1] [docs] 06-test-data.md §6
- [docs]
06-test-data.md§6:fixtures/directories/— только тестовые ЮЛ/ГК (Срез 1); план счетов, правила элиминации, права —arm-core/api/seed/;09-delivery-plan.mdСрез 0: решение D-1 по пакету контрактов, ссылка наdocs/dev/, проверки вместо CI
Task 6: [6.2] [docs] 07-open-questions.md
- [docs]
07-open-questions.md: OQ по итогам Среза 0 (контрактdata_type = NUvs enumosv_data_type; обязательность ОСВ расширенного подхода; источник полного плана счетов 1С) и расхождения макета из задачи B; статусы допущений
Task 7: [6.3] [docs] Итоговая проверка
- [docs] Итоговая проверка:
openspec validate slice-0-skeleton --strictзелёный в четырёх репозиториях; ссылки между документами ведут на существующие файлы (grepпо именам файлов)