15 Commits

Author SHA1 Message Date
Andrey Epifancev
1ca2fd18ff docs(dev): инструкция для фронтенд-разработчика по аутентификации и авторизации arm-core (#28)
Модель (JWT без сессий, права как данные, порядок проверок право → видимость → статус), режимы dev/прод,
POST /dev/token и GET /me с семантикой 401/403/404, сводка прав по маршрутам, каталог прав и ролей,
policy-слой, эталонный клиент web/src/{api,auth}, чек-лист, проверка руками, открытые вопросы (OQ-54).
Ссылка добавлена в dev/README.md.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-06 13:53:54 +04:00
Andrey Epifancev
0600c7c5a1 dev/qa-guide.md: гайд тестировщика — ПО, запуск стенда Срезов 0–1, чек-лист сценариев, ограничения, баги
Путь проверен 05.10.2026 на чистом worktree: compose, migrate/seed, бэкенд, фронт через rsbuild dev с
REACT_APP_API_URL/REACT_APP_ROOT_PATH, dev-вход, /admin (headless Chromium), API и импорт (curl).

Closes #11

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-05 12:17:38 +04:00
Andrey Epifancev
f83052420f docs: dev/README — проверка окружения под склейку ответов ИС (aep_3, aep_6, aep_5)
Раздел «Проверка окружения» приведён в соответствие с доработанным scan-gateway (склейка всех *.json каталога ответа
в raw/{job_id}.json, ошибочные файлы набора в metrics.warnings), по результатам сквозной проверки Task 6 (04.10.2026):
- сценарий 2: размер и формат raw/ (`{"job_id", "files": [...]}`), лог эмулятора с каталогом набора, processing ~10 с
  (задержка эмулятора + SCAN_POLL_SECONDS + SCAN_SETTLE_SECONDS), абзац про фикстуры ИС (успешные ответы есть);
- добавлен сценарий 2а: aep_3 / aep_6 -> успешный ответ ИС -> NOT_IMPLEMENTED, metrics.warnings про aep_3_ofr.json;
- абзац про прогон рецепта: проверены оба пути вставки legal_entity (чистая БД и on conflict);
- «не покрывает»: нормализатор шлюза Среза 0 даёт NOT_IMPLEMENTED, у ошибок scan-gateway в metrics только warnings,
  оговорка, что `down -v` удаляет общие тома postgres-data/minio-data всех worktree;
- dev/docker-compose.yml: комментарий про фикстуры ответов ИС — набор <имя>.json + <имя>_*.json (поведение не менялось).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 16:20:31 +04:00
Andrey Epifancev
b2f8aaa17e docs: .env.example — scan-gateway тоже отвергает OPENBAO__DATABASE__* (N-1 финального ревью)
В OpenBAOSettings scan-gateway нет поля DATABASE (extra_forbidden), поэтому общий dev/.env.example
годится только arm-core как есть. Исправлены комментарий в .env.example, раздел dev/README.md,
решение №44 в design.md и OQ-84.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 07:26:37 +04:00
Andrey Epifancev
050f59a384 docs: сценарий venv против compose не проверен — design #43/#44, OQ-84, README и .env.example без устаревшей обязательности SMB
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:17:21 +04:00
Andrey Epifancev
f928982058 docs(dev): README — зависимости проверки контракта (jsonschema, без rfc3339-validator)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:03:23 +04:00
Andrey Epifancev
6000cab892 docs(dev): README — венв-черновик без ссылок на 5.4, legal_entity в проверке окружения
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 07:03:13 +04:00
Andrey Epifancev
2e2e50accb docs(dev): README — раздел «Проверка окружения» со сквозным сценарием
Помощники dpsql/dmc/new_job/poll и фактический вывод трёх сценариев на
профиле services (2026-10-04): tabular → error/NOT_IMPLEMENTED; image →
эмулятор ИС → error/INVALID_DOCUMENT (ответ-ошибка из фикстуры aep_5) и
raw/{job_id}.json в MinIO; tabular-parser остановлен → 3 повтора через 30 с →
dlq/NO_ACK (~120 с). Что сквозная проверка Среза 0 не покрывает.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 06:17:08 +04:00
Andrey Epifancev
e98a9239bf docs(dev): README — замечания ревью задачи 5.3 (T3.3–T3.6)
- T3.3: риск общих queue group подтверждён чтением тестов tabular-parser и
  scan-gateway (test_roundtrip, боевые *.request); тесты arm-core изолированы
  (временная БД, уникальный subject результатов); команда проверки подписчиков.
- T3.4: «Остаточные тома» — down -v только с --profile services.
- T3.5: GET / отвечает 307 на // и затем 404.
- T3.6: up -d --build <сервис> пересоздаёт сервис и зависимости: arm-core-migrate
  пересоздаётся вместе с arm-core, scan-emulator со scan-gateway — нет (проверено).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 06:16:59 +04:00
Andrey Epifancev
f1b648e7b7 docs(dev): README и .env.example — профиль services, порты хоста и контейнера, коды --wait
Порты хоста ARM_CORE_PORT/TABULAR_PARSER_PORT/SCAN_GATEWAY_PORT (8000/8001/8002, в контейнере 8000);
раздел «Профиль services»: команды, таблица портов, порядок старта, фактический вывод healthcheck,
коды возврата up -d --wait (в т.ч. scan-gateway scan-emulator — 0), пересборка; сброс только с
--profile services; предупреждение об интеграционных тестах при поднятом профиле.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 05:43:41 +04:00
Andrey Epifancev
9acd2f90c4 docs(dev): checks.md и README описывают Makefile.common; design.md — решения 24–25
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012vJkmBGKKqMoEMzvsXG3y2
2026-10-04 05:27:21 +04:00
Andrey Epifancev
b6e2be9f87 docs(dev): README ссылается на checks.md, убрано устаревшее «Makefile только у arm-core»
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-04 05:20:41 +04:00
Andrey Epifancev
5f2be96e11 fix(dev): healthcheck PostgreSQL по TCP, порты на 127.0.0.1, пароли MinIO из .env в README
- pg_isready с -h 127.0.0.1: временный сервер initdb слушает только сокет (M-3)
- README: mc и psql берут учётные данные из переменных окружения контейнера, а не зашитые значения (M-4)
- порты postgres/nats/minio публикуются на ${BIND_ADDR:-127.0.0.1}; BIND_ADDR добавлен в .env.example и README,
  примечание про безопасность обновлено (M-6, R-9)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:59:56 +04:00
Andrey Epifancev
45d45e17f7 Исправить dev/.env.example и README по ревью: SMB-заглушки, NATS_ENABLED, статус целей check
Спека и R-7 (design №18): dev/.env.example остаётся единственным источником для запуска из venv,
поэтому в него добавлены OPENBAO__SMB__* и NATS_ENABLED=true; README отделяет текущие цели
Makefile arm-core от планируемых по spec quality-checks.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:42:17 +04:00
Andrey Epifancev
6b97d87d8e Добавить dev/README.md: запуск инфраструктуры, переменные, сброс, запуск из venv
Черновик: профиль services, запуск из venv и интеграционные тесты помечены
как планируемые и дописываются в задачах 5.x.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 18:36:17 +04:00