Files
LumaWeb/planning/tasks/S18-004.md
T
wt 54bfc0f34f
Foundation checks / foundation (push) Successful in 1m12s
initial commit
2026-10-14 17:47:38 +07:00

61 lines
3.3 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.
# S18-004: Реализовать API limits/origin policy
> Generated from planning/tasks.json; status is in state/tasks.json.
- Этап: S18
- Оператор: backend
- Reviewer: security
- Зависимости: S17-014, S18-003
- Требования: SEC-004, SEC-005
## Один результат
Origin/CORS/CSRF as contract, bounded payload/rate and no open relay/subscription listing.
## Разрешённые пути
- `services/push/api-policy.*`
- `tests/backend/api-policy.*`
Не изменять другие modules, shared contracts или spec snapshots без изменения плана. Stem без расширения разрешает принятые stack-specific extensions и focused test рядом.
## Прочитать
- docs/WEB_PROFILE.md
- docs/ARCHITECTURE.md
- docs/CONTRACTS.md
- docs/TESTING.md
- roles/backend.md
- docs/decisions/README.md
- docs/decisions/0001-stack.md (upstream artifact; отсутствие после S00 gate — blocker)
- docs/contracts/push.md (upstream artifact S01)
- docs/contracts/lifecycle.md (upstream artifact S01)
## Шаги
1. Прочитать приведённые requirements, контракт через реестр и evidence прямых dependencies.
2. Описать input/output этого модуля или документа; использовать accepted stack/ports без расширения scope.
3. Работать только над одним указанным outcome. Если для него нужен новый shared contract — создать отдельную remediation через escalate, заблокировать original и завершить запуск; не расширять текущий scope.
4. Origin/CORS/CSRF as contract, bounded payload/rate and no open relay/subscription listing.
5. Добавить focused fixtures/checks из списка ниже, выполнить их и записать фактический результат.
## Приёмка
1. Origin/CORS/CSRF as contract, bounded payload/rate and no open relay/subscription listing.
2. Cross-origin unauthorized rejected
3. rate limit deterministic
4. Нет изменений вне scope; реальный результат/evidence и handoff позволяют другому агенту продолжить.
## Focused checks
1. Cross-origin unauthorized rejected
2. rate limit deterministic
## Блокер и завершение запуска
Для всех ролей scope — только эта задача. При блокере создать issue JSON по state/ISSUE_TEMPLATE.json, вызвать escalate с текущим ID/role/agent, проверить status=blocked и resolution_task, затем немедленно завершить запуск. Не решать blocker и не выбирать следующую задачу самому. Новый агент назначается runner. Правки metadata через CLI — единственное исключение scope.
## Передача
Сохранить evidence/handoff; submit → review и завершить запуск. Reviewer также выполняет только эту задачу, включая обязательное escalate при блокере.