1d6ab86a57
- 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>
49 lines
2.4 KiB
Markdown
49 lines
2.4 KiB
Markdown
# 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`).
|