Что такое спецификация
dagstack/logger-spec — нормативный источник истины для структурированного логирования в экосистеме dagstack. Он фиксирует, что должно соблюдаться в любой имплементации (dagstack/logger-python, dagstack/logger-typescript, dagstack/logger-go) и почему именно это решение принято.
Чем секция «Спецификация» отличается от guide'ов
| Секция | Аудитория | Что даёт |
|---|---|---|
| Концепции | Разработчик приложения | Объясняет, как логгер работает сегодня в терминах конкретного языка. |
| Руководства | Разработчик приложения | Шаг за шагом проводит через задачу. |
| Спецификация (этот раздел) | Автор имплементации / ревьюер | Объясняет, почему принято решение; фиксирует нормативные гарантии. |
ADR
На v1.0 оформлен один ADR:
- ADR-0001: Контракт логгера — формат передачи, уровни, API логгера, приёмники, семантические соглашения, локальные переопределения, конфигурация через config-spec, маскирование, сэмплирование, async / shutdown, conformance.
Дополнительные ADR в очереди на post-pilot бэклог v1.1, включая структурное выделение AI-agent extension pack в отдельный ADR-0002, политику pinning версий OTel GenAI, форматирование stacktrace для исключений и путь deprecation для Progress sink из plugin-system.
Нормативный источник
Страницы этой секции — описательное прозовое резюме ADR. Формальный нормативный текст живёт в dagstack/logger-spec. Если ты работаешь над изменениями внутри имплементации, читай нормативную версию: она охватывает все пограничные случаи, правила сериализации и требования к conformance-фикстурам.
Как меняется спецификация
- Открой issue в
dagstack/logger-spec. - Подай PR с новым ADR или ревизией существующего.
- Architect review плюс sign-off от мейнтейнеров каждой имплементации (каждая имплементация подтверждает, что может зашипить изменение).
- После merge — обнови имплементации и освежи резюме в этой секции.
Связанные спецификации
dagstack/config-spec— логгер читает собственную конфигурацию через config-стек (logger-spec §9).dagstack/plugin-system-spec—instrumentation_scopeplugin-system ассоциирован с манифестом плагина; Progress sink из plugin-system-spec ADR-0003 поглощён §5.3 этой спеки как частный случай типизированного события поверх LogRecord.- OpenTelemetry Log Data Model v1.24+ — baseline формата передачи.
- Семантические соглашения OpenTelemetry GenAI — extension pack для AI-агентов обязуется быть совместимым с этим набором.