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

3.2 KiB
Raw Blame History

S01-006: Описать staged asset contract

Generated from planning/tasks.json; status is in state/tasks.json.

  • Этап: S01
  • Оператор: media
  • Reviewer: qa
  • Зависимости: S00-010, S01-001, S01-002, S01-005
  • Требования: FILE-003, FILE-010

Один результат

Contract задаёт draft IDs, MIME/size/duration, object URL lifetime, cancellation и retries.

Разрешённые пути

  • docs/contracts/media.md
  • tests/contracts/media.*

Не изменять другие 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/media.md
  • docs/decisions/README.md
  • docs/decisions/0001-stack.md (upstream artifact; отсутствие после S00 gate — blocker)

Шаги

  1. Прочитать приведённые requirements, контракт через реестр и evidence прямых dependencies.
  2. Описать input/output этого модуля или документа; использовать accepted stack/ports без расширения scope.
  3. Работать только над одним указанным outcome. Если для него нужен новый shared contract — создать отдельную remediation через escalate, заблокировать original и завершить запуск; не расширять текущий scope.
  4. Contract задаёт draft IDs, MIME/size/duration, object URL lifetime, cancellation и retries.
  5. Добавить focused fixtures/checks из списка ниже, выполнить их и записать фактический результат.

Приёмка

  1. Contract задаёт draft IDs, MIME/size/duration, object URL lifetime, cancellation и retries.
  2. Expired source is recoverable
  3. account/recipient immutable during upload
  4. Нет изменений вне scope; реальный результат/evidence и handoff позволяют другому агенту продолжить.

Focused checks

  1. Expired source is recoverable
  2. account/recipient immutable during upload

Блокер и завершение запуска

Для всех ролей 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 при блокере.