9.0 KiB
Tasks
1. Каталог и отбор
-
1.1 [backend] Получать полный список акций T-Invest для каждого нового запуска скринера, сохраняя действующие границы доступа и обработки недоступности источника.
- Covers:
stock-screener—Скринер ищет среди доступных к покупке акций;stock-screener—Отсутствие совпадений отличается от недоступности поиска. - Source:
system-analysis/analysis.md— Contracts, Error and Recovery Semantics;design.md— Decisions/backend. - Verification: управляемый ответ Shares с подходящей акцией за пределами первых 30 текстовых совпадений и отказом источника; backend developer tests и repo-local verify.
- Depends on: none
- Covers:
-
1.2 [backend] Применять обязательные признаки доступности и все необязательные условия к полному списку, выбирать только соответствующего условиям представителя каждого выпуска и упорядочивать результаты до разделения на страницы.
- Covers:
stock-screener—Скринер ищет среди доступных к покупке акций;stock-screener—Условия скринера применяются совместно;stock-screener—Результат представляет отдельные выпуски. - Source:
specs/stock-screener/spec.md— соответствующие Requirements;system-analysis/analysis.md— Data and State Semantics;design.md— Decisions/backend. - Verification: backend developer tests проверяют пересечение условий, неизвестное значение, включительную границу лота, одинаковый и разный ISIN, отсутствие ISIN и ссылку на точный выбранный UID.
- Depends on: 1.1
- Covers:
2. Зафиксированные страницы и публичный контракт
-
2.1 [backend] Предоставить новый поиск и чтение страниц одного ограниченного по времени результата с привязкой к пользователю и поколению подключения, отличая пустой успешный поиск от ошибки и не пересчитывая старые страницы.
- Covers:
stock-screener—Страницы относятся к одному результату поиска;stock-screener—Отсутствие совпадений отличается от недоступности поиска;stock-screener—Результат представляет отдельные выпуски. - Source:
system-analysis/contracts/stock-screener.openapi.yaml;system-analysis/analysis.md— Error and Recovery Semantics, Security and NFR at System Boundaries;design.md— Decisions/backend, Data / Storage Changes. - Verification: backend HTTP и access checks: до 30 элементов, одинаковые
asOfи порядок на следующих страницах, новый POST создаёт новый результат, чужой/истёкшийsearchIdи смена подключения не выдают данные. - Depends on: 1.2
- Covers:
-
2.2 [backend] Опубликовать сгенерированный OpenAPI для операций скринера и подтвердить его семантическую совместимость с утверждённым target contract, сохранив старый текстовый поиск.
- Covers:
stock-screener—Условия скринера применяются совместно;stock-screener—Страницы относятся к одному результату поиска;stock-screener—Отсутствие совпадений отличается от недоступности поиска. - Source:
system-analysis/contracts/stock-screener.openapi.yaml;design.md— Contract Implementation, Migration / Rollout / Rollback. - Verification:
npm run openapi:generate,npm run test:openapi-contract, сравнение двух маршрутов, запросов, ответов и ошибок с target contract; backend repo-local verify и regression старого GET. - Depends on: 2.1
- Covers:
3. Пользовательский поиск
-
3.1 [frontend] Подключить экран акций к опубликованному контракту: сохранять черновые условия отдельно от применённых, отправлять новый поиск только по кнопке и получать страницы по
searchIdбез подмены результата поздним ответом.- Covers:
stock-screener—Условия скринера применяются совместно;stock-screener—Страницы относятся к одному результату поиска. - Source:
design.md— Decisions/frontend, Contract Implementation;system-analysis/contracts/stock-screener.openapi.yaml. - Verification: frontend developer checks для повторного нажатия «Найти», чернового изменения полей, смены страницы и позднего ответа; генерация типов от предоставленного backend OpenAPI и frontend repo-local verify.
- Depends on: 2.2
- Covers:
-
3.2 [frontend] Показать фильтры, каталожные карточки выбранных выпусков, время списка, страницы, подтверждённую пустоту и восстановление после недоступности поиска без обещания немедленной покупки.
- Covers:
stock-screener—Скринер ищет среди доступных к покупке акций;stock-screener—Результат представляет отдельные выпуски;stock-screener—Страницы относятся к одному результату поиска;stock-screener—Отсутствие совпадений отличается от недоступности поиска. - Source:
design.md— UI/UX Package, Decisions/frontend;qa-analysis.md— Manual / Exploratory Scope. - Verification: на широкой и узкой ширине, в том числе с клавиатуры, проверить запуск пустой формой, применение всех фильтров, точную UID-ссылку, состояния loading/empty/error и переход «Далее»; frontend repo-local verify.
- Depends on: 3.1
- Covers:
4. Итоговая документация
-
4.1 [docs] Обновить существующее описание акций, интеграции T-Invest и HTTP API до реализованного поведения скринера, не копируя целевой OpenAPI и change-диаграмму в AS-IS.
- Covers:
stock-screener—Скринер ищет среди доступных к покупке акций;stock-screener—Страницы относятся к одному результату поиска;stock-screener—Отсутствие совпадений отличается от недоступности поиска. - Source:
docs-impact.md— entriesdocs/domains/instruments/stocks.md,docs/integrations/tbank.md,docs/architecture/http-api.md. - Verification: сверить опубликованные страницы с реализованной формой, ответами и backend-generated OpenAPI; docs repo-local Markdown/link checks и
git diff --check. - Depends on: 2.2, 3.2
- Covers:
-
4.2 [docs] Обновить обзор продукта, существующий навигационный пункт акций и глоссарий с точным определением скринера без технических деталей хранения результата.
- Covers:
stock-screener—Скринер ищет среди доступных к покупке акций. - Source:
docs-impact.md— entriesdocs/overview.md,docs/README.md,docs/glossary.md; Glossary / Navigation Impact. - Verification: проверить ссылки, согласованность термина с разделом акций, docs repo-local Markdown/link checks и
git diff --check. - Depends on: 3.2
- Covers: