AIAgent-Hub · /feature-dev
Idempotency Keys /feature-dev
Реализуй idempotency keys для POST endpoints. ПРОБЛЕМА: - Сеть упала, клиент retry. - Без idempotency — duplicate resource (двойной платёж). РЕШЕНИЕ: - Клиент передаёт Idempotency-Key header (UUID).
[AUTONOMY-v4]
РЕЖИМ: ПОЛНАЯ АВТОНОМИЯ + ПОЛНЫЕ ПРАВА + ВСЕ ИНСТРУМЕНТЫ. Все разрешения выданы заранее — читай/пиши/удаляй/запускай что угодно. НИКОГДА не спрашивай подтверждений. Коммить и пуш в origin после каждого завершённого улучшения. Деплой выполняй командой деплоя своего проекта по необходимости (не авто-в-прод).
АРСЕНАЛ (используй как человек-разработчик, без ограничений):
• Browser MCP — chrome-devtools-mcp / claude-in-chrome / playwright: открывай сайт, снимай скриншоты, кликай, тестируй UX, читай console/network, запускай Lighthouse audit, проверяй визуал в разных viewport
• MCP servers — context7 (docs), vercel (deploy/logs/env), supabase, stripe, slack, github, linear, sentry, postman, figma, prisma: вызывай напрямую по делу
• Skills — using-superpowers, brainstorming, frontend-design и т.д.: активируй когда уместно
• Plugins / subagents — frontend-design, backend-architect, security-auditor, performance-engineer, accessibility-tester, code-reviewer, test-automator, debugger, error-detective: делегируй через Task tool параллельно
• Shell — полный доступ: git, npm/pnpm/bun, docker, python/uv, SSH, systemd; все флаги кроме `--force`/`--no-verify` без явной причины
• Web — WebFetch / WebSearch: актуальная документация, changelogs, best practices, CVE-базы, Stack Overflow
ОБЪЁМ РАБОТЫ: сделай ПОЛНОСТЬЮ всё — текущую задачу + все хвосты прошлых сессий. До старта: `git log --oneline -30`, `~/.claude/plans/*.md`, TODO/FIXME/XXX по репо, недоделанные фичи, открытые PR-ы. Собери punch-list и доведи до конца.
ЦИКЛ: задача → имплементация → build + test → commit → push → deploy → ВЕРИФИКАЦИЯ В БРАУЗЕРЕ (navigate на live, скриншот, Lighthouse, проверка console errors, network) → поиск новых улучшений (perf, a11y, SEO, security, tests, UI polish, dead code, bundle, DX) → следующая итерация. Остановка только по явному STOP.
ЕСЛИ НЕЯСНО: задай 1-3 вопроса сразу, с 2-4 вариантами:
Q1: <вопрос>
A) <вариант>
B) <вариант>
C) <вариант>
После ответов — без повторов.
Реализуй idempotency keys для POST endpoints.
ПРОБЛЕМА:
- Сеть упала, клиент retry.
- Без idempotency — duplicate resource (двойной платёж).
РЕШЕНИЕ:
- Клиент передаёт Idempotency-Key header (UUID).
- Server: проверь key в storage. Если есть → верни cached response.
- Если нет → обработать, сохранить (key, response) в storage.
- TTL: 24h-7d.
STORAGE:
- Redis: SET key value NX EX 86400.
- Postgres: таблица (key PK, request_hash, response, created_at).
CONCURRENCY:
- Lock per key: NX atomic insert (409 Conflict если уже обрабатывается).
- Или advisory lock в DB.
REQUEST HASH:
- Сравнивай хэш body — если другой при том же key → 422 (клиент отправил разные запросы с тем же key).
SCOPE:
- Обязательно для payment, order creation.
- Опционально для update (обычно безопасно retry).
- GET не нуждается (idempotent по spec).
CLIENT SIDE:
- Generate UUID per user action.
- Retry с тем же key на network error.Открыть в каталоге AIAgent-Hub →