Files
transcriber/tasks/items/speechkit-error-text-leak.md
T
av 8739b18a9f tasks: очередь расставлена от базы к деталям
- порядок беклога и роадмапа назначен слоями: проверки, которым можно
  верить → долги входа → владелец записи и контракт API → конвейер под
  тестами → приложение и возможности поверх; у каждого движения записана
  причина;
- заведены восемь задач под пункты «Завершения», которых не закрывала ни
  одна запись, — цель any-audio-source была без задач вовсе;
- у четырёх задач сняты критерии, требовавшие того, что делает задача ниже
  по очереди; исправлены ссылки на несуществующий repo/sqlite и на
  отменённую разведку об очереди.
2026-08-12 20:48:53 +03:00

34 lines
2.6 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.
# 🔬 Адрес объекта в тексте отказа SpeechKit
- **Тип:** research
- **Категория:** Очередь — Тот же род утечки в журнал, но вне темы входа — идёт следом за ней.
- **Зачем:** Текст отказа операции приходит от Yandex и уезжает в журнал и в колонку error_text: если он несёт URI объекта, из журнала снова собирается ссылка на чужую запись.
Гипотеза ревью задачи `pocketbase-storage` 2026-08-12, оставшаяся без оракула:
поднять настоящий отказ Yandex нечем, а прогон на реальных ключах запрещён.
Собственные цепочки отказов задача оборвала — чтение из хранилища и выгрузка в
Object Storage больше не называют ключ, — но текст, пришедший **чужими руками**,
идёт в журнал и в задачу как есть.
## Вопрос
Несёт ли текст отказа операции распознавания адрес объекта, который мы отдали
SpeechKit, и в каких случаях? Если несёт — чем его отсечь, не потеряв причину
отказа: разбором по образцу, перечнем известных кодов отказа или отказом писать
чужой текст вовсе.
## Куда ляжет ответ
- Наблюдение с командой и условиями — записка в `docs/research/`, рядом с
`pocketbase-defaults.md`.
- Если адрес приходит — норма в спеку `storage`, требование «Файл отдаётся
ссылкой», и строка в `docs/security.md`, раздел «Из чего строятся пути и
ключи»; сама правка — отдельной задачей.
- Если не приходит — строка в ту же записку, чтобы гипотезу не поднимали заново.
## Рамки
Реальные ключи Yandex и боевые данные не трогаем. Отказ придётся вызывать
дешёвым способом: битый объект, объект вне бакета, отозванный доступ — что из
этого доступно, решается по ходу. Цена прогона в деньгах называется до запуска.