19 Commits
Author SHA1 Message Date
vasyanskandClaude Opus 5 8f57a25af0 docs: implementation plan for custom records and orphan cleanup
Ten TDD tasks: mark support in the diff engine, the domain_custom_records
table and its store wrappers, wiring marks through LoadDomain into
resolve, the mark/unmark endpoints, the frontend client and Customs
section, import-as-sync with the empty-zone-list guard, and the
{created, removed} import contract on both sides.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Yr8frsaxBgab1Aa7yfPuU
2026-08-19 17:48:02 +07:00
vasyanskandClaude Opus 5 eead9f3f3d docs: spec for custom records and orphan domain cleanup
Two operational problems on the domain check page: records deliberately
added outside the template keep showing up as prunes (drift + scheduler
notifications), and domains whose zones were deleted at the provider are
never removed by a re-import.

Design decisions: custom marks are scoped per domain, the template wins
over a mark (a mark only applies to Kind == Delete), marks live in their
own domain_custom_records table, and orphan domains are removed inside
the import transaction with a guard that skips deletion when the provider
returns zero zones.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Yr8frsaxBgab1Aa7yfPuU
2026-08-19 17:42:53 +07:00
vasyanskandClaude Opus 4.8 fc19678727 docs: plan for per-record apply selection + deletes-first order
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BwxdSt4reTm7Dj1oxRvpP3
2026-07-05 15:03:14 +07:00
vasyanskandClaude Opus 4.8 cc5e562a67 docs: plan for manual-check status + diff value wrapping
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BwxdSt4reTm7Dj1oxRvpP3
2026-07-05 14:15:02 +07:00
vasyanskandClaude Opus 4.8 135917216c docs: plan for {{domain_name}} template placeholders
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BwxdSt4reTm7Dj1oxRvpP3
2026-07-05 13:34:00 +07:00
vasyanskandClaude Opus 4.8 1540140542 docs: plan for zone view without template + snapshot
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BwxdSt4reTm7Dj1oxRvpP3
2026-07-05 11:48:21 +07:00
vasyanskandClaude Opus 4.8 617b02dbfb docs: plan for Selectel IAM auth (Cloud DNS v2)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BwxdSt4reTm7Dj1oxRvpP3
2026-07-04 19:52:42 +07:00
vasyanskandClaude Opus 4.8 c265d36bdb docs: plan for tech-debt cleanup + docker compose
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BwxdSt4reTm7Dj1oxRvpP3
2026-07-04 15:43:00 +07:00
vasyanskandClaude Opus 4.8 1cdb32b747 docs: план реализации Фазы 3 (расписание, уведомления, метрики)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 13:02:44 +07:00
vasyanskandClaude Opus 4.8 6125af4bab docs: детализация дизайна Фазы 3 (расписание, уведомления, метрики)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-04 12:58:59 +07:00
vasyanskandClaude Opus 4.8 bd82fe5509 docs: план реализации Фазы 2 (авторизация)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 19:37:27 +07:00
vasyanskandClaude Opus 4.8 fc5d3cdbae docs: детализация дизайна Фазы 2 (авторизация)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 19:33:12 +07:00
vasyanskandClaude Opus 4.8 93cbe538e2 docs: план реализации Фазы 1C (React SPA)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 16:44:41 +07:00
vasyanskandClaude Opus 4.8 fe85918407 docs: детализация дизайна Фазы 1C (React SPA)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 16:40:22 +07:00
vasyanskandClaude Opus 4.8 50aec973ff docs: план реализации Фазы 1B (persistence + REST API)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 13:31:36 +07:00
vasyanskandClaude Opus 4.8 3d6e3110b3 docs: детализация дизайна Фазы 1B (persistence + REST API)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 13:25:49 +07:00
vasyanskandClaude Opus 4.8 c738d05241 docs: план реализации Фазы 1A (ядро + Selectel)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 12:16:03 +07:00
vasyanskandClaude Opus 4.8 74b8a01dc8 docs: зафиксированы решения (Selectel API-ключ, JSONB-шаблоны)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 12:09:18 +07:00
vasyanskandClaude Opus 4.8 db62c8c0c7 docs: дизайн DNS Autoresolver (Фаза 1 — ядро)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-03 12:07:13 +07:00