arm-ka-docs/docs/superpowers/plans/2026-10-03-slice-0-skeleton-phase1.md
Andrey Epifancev 0ee1d41da7 chore: отметить задачу 7 (2.2) выполненной
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:47:31 +04:00

4.7 KiB
Raw Blame History

Срез 0 — сквозной скелет (docs) — фаза 1: контракт и инфраструктура — план исполнения (Срез 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; коды ошибок — перечень из spec recognition-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: [1.1] [docs] docs/contracts/recognition-result.schema.json

  • [docs] docs/contracts/recognition-result.schema.json: снять «ЧЕРНОВИК» из title, добавить $comment о версионировании, добавить NOT_IMPLEMENTED в error.code; проверить python -m jsonschema на файле схемы (метасхема 2020-12 валидна)

Task 2: [1.2] [docs] Новый docs/contracts/recognition-request.schema.json по spec `recogniti

  • [docs] Новый docs/contracts/recognition-request.schema.json по spec recognition-contract (поля, enum, форматы uuid/date-time); проверить метасхемой

Task 3: [1.3] [docs] Новый docs/contracts/recognition-result-message.schema.json (конверт

  • [docs] Новый docs/contracts/recognition-result-message.schema.json (конверт: status ∈ processing | done | needs_check | error; условные обязательные поля через if/then); проверить метасхемой

Task 4: [1.4] [docs] Примеры docs/contracts/examples/

  • [docs] Примеры docs/contracts/examples/: request-tabular.json, request-image.json, result-message-processing.json, result-message-done.json, result-message-error.json, result-osv-minimal.json, result-statement-minimal.json, result-error.json; скрипт docs/scripts/validate_contracts.py валидирует все примеры схемами и возвращает 0

Task 5: [1.5] [docs] 03-architecture.md

  • [docs] 03-architecture.md: таблица «Контракт обмена через NATS» — ссылки на три файла схем, правила Nats-Msg-Id, ack через processing, повторная публикация; проверить, что текст ссылается на существующие файлы

Task 6: [2.1] [docs] docs/dev/docker-compose.yml

  • [docs] docs/dev/docker-compose.yml: сервисы postgres (16), nats (2.10, без --jetstream), minio, minio-init (создаёт бакет arm-ka), healthcheck'и, именованные тома; docs/dev/.env.example; проверка: docker compose up -d → все healthy, mc ls видит бакет, curl :8222/varz отвечает

Task 7: [2.2] [docs] docs/dev/README.md

  • [docs] docs/dev/README.md: запуск инфраструктуры, переменные, сброс томов, запуск сервисов из venv без Nexus (make venv фильтрует raisa_*), черновик — дописывается в 5.4