## 1. Карточки: идентификатор = download.id - [x] 1.1 `web/templates/index.html` — в карточке списка показать и копировать `{{.ID}}` вместо infohash; убрать `{{if .Infohash}}` - [x] 1.2 `web/templates/download.html` — в шапке страницы просмотра показать и копировать `{{.ID}}` вместо infohash - [x] 1.3 `internal/httpapi/httpapi.go`, `internal/httpapi/download.go` — удалить осиротевшие поля `Infohash`/`InfohashShort` и хелпер `shortenHash` - [x] 1.4 `web/static/js/app.js` — комментарий: функция копирования теперь про идентификатор загрузки (не только infohash) ## 2. Поиск по любому идентификатору - [x] 2.1 `internal/store/list.go` — добавить `download.id` в LIKE-условие поиска (рядом с infohash/названием/контекстом); обновить комментарий `Query` - [x] 2.2 `web/templates/index.html` — обновить плейсхолдер строки поиска ## 3. Спека и проверки - [x] 3.1 Дельта-спека `web-ui`: MODIFIED «Страницы веб-UI» (поле поиска) и «Клиентские взаимодействия без сборки» (копирование идентификатора) - [x] 3.2 Обновить прозу `## Purpose` в live-спеке `openspec/specs/web-ui/spec.md` (упоминание «копирование infohash») — при archive - [x] 3.3 `openspec validate --strict` для change - [x] 3.4 `task test` / `task lint` — зелёные