Files
Bridge-and-Join-s/docs/tasks/README.md
T
fontvielle 1d6ab86a57 feat(m2m): доменная модель сообщений + парсер windows-1251 + round-trip тесты
- internal/m2m/types.go: enum'ы и simple-типы из XSD НРД (M2MSchemas_260408)
- internal/m2m/validators.go: pattern-валидаторы ReferenceID/ISIN/INN/UUID/SecurityCode/IdentityDocSerial/AccountID + перечисления
- internal/m2m/messages.go: структуры 6 типов сообщений M2M, choice-типы через указатели, IsM2M=true автоматически в MarshalXML
- internal/nsdxml/datetime.go: тип NSDDateTime (формат "YYYY-MM-DDThh:mm:ss(МСК+N)")
- internal/nsdxml/codec.go: Marshal/Unmarshal XML в windows-1251 (собственный кодек CP1251, без внешних зависимостей)
- internal/m2m/messages_test.go: round-trip тесты на 6 примерах + 2 эталонах из DOC/

Покрытие: m2m 73.9%, nsdxml 92.5%. make ci зелёный.

Отклонение от спеки: вместо golang.org/x/text/encoding/charmap собственная
таблица CP1251 на ~60 строк, потому что прокси zetit блокирует
proxy.golang.org, goproxy.cn и redirect-хосты Go-модулей.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:30:46 +03:00

49 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# docs/tasks — задачи разработки
Здесь лежат **готовые промпты** для Claude Code, выполняемые в порядке
PR-1 → PR-N. Каждая задача — самостоятельный осмысленный PR в `main`.
Архитектурный контекст и обоснование решений — в
`docs/architecture/plan.md` (полный план проекта) и
`docs/architecture/overview.md` (краткая выжимка).
## Очередь задач
| PR | Файл | Статус | Зависит от |
|----|------|--------|-----------|
| PR-1 | `PR-1-go-models-m2m.md` | выполнено | — |
| PR-2 | `PR-2-fansy-ddl.md` | готово к запуску | — (параллельно с PR-1) |
| PR-3 | `PR-3-lk-openapi.md` | готово к запуску | — (параллельно с PR-1) |
| PR-4 | `PR-4-m2m-core-skeleton.md` | готово к запуску | PR-1 |
| PR-5 | `PR-5-nsd-adapter-skeleton.md` | ждёт ИШ НРД и сертификаты | PR-1, PR-4 |
| PR-6 | `PR-6-crypto-service-skeleton.md` | ждёт КриптоПро JCP | PR-1 |
## Как запустить задачу
На dev-ВМ под `dev`, в корне репо:
```bash
cd /srv/dev/Bridge-and-Join-s
git pull
claude
```
В сессии Claude Code:
> Прочитай `docs/tasks/PR-1-go-models-m2m.md` и выполни задачу полностью.
> По завершении сделай commit и push в `main` (или открой MR, если так
> принято), обнови статус задачи в `docs/tasks/README.md` с «готово к
> запуску» на «выполнено» с указанием sha коммита.
## Соглашения
- **Без эмодзи** в коде и комментариях.
- Комментарии в коде — на русском, имена типов и полей — на английском
как в XSD/контрактах.
- Каждый PR проходит `make ci` зелёным.
- Перед коммитом — `go mod tidy`, `make fmt`, `make lint`.
- Сообщение коммита: `<тип>(<область>): <короткое описание>` +
расшифровка в теле.
- Документация изменений — в README соответствующего модуля
(`internal/<...>/README.md`).