📱 Доска iOS

всеканоны и докиворкеры↗ WEB↗ Легаси
IOS-085 · Дефект · UX · ios

iOS P1: фактчек и дип-ресёрч не вынесены в главное меню

Закрыт P1 · важно ведёт: — эпик: IOS-067
Суть
Owner (TestFlight 2026080201): в главном падающем меню есть аркады/студии/шоу (wave5), но НЕТ входов в Фактчек и Дип-ресёрч («Разбор») — их не найти без знания, где искать. Тот же класс дыры, что была с аркадами (IOS-056). Нужно: два пункта в главном меню; у обоих первый шаг — пикер тетради (как у «Создать шоу»), затем фактчек по источнику / запуск Разбора. Учесть уроки IOS-078/079: не открывать режим без контекста тетради, дефолт источников «все текстовые».
Чем закрывается (приёмка)
Из главного меню достижимы Фактчек и Разбор: меню → пикер тетради → рабочий флоу. Вместе с IOS-078/079/080 — следующая сборочная волна (wave6).
Починено в
2026080202
Лента
2026-08-02T12:21:28.681Z · fc-fix
SCOPE: IOS-085 — main/top-menu Fact-check and Deep Research must start with source context instead of opening unscoped modals.
BASE: 55dd7921bdc59ad3731f06409499648a09a0d417 (branch agent/fc-fix-ios075-ios076-20260802)
CHANGES:
- src/lib/factcheck/topMenuLauncher.ts — new shared source-picker launchers for Fact-check and Deep Research; marker factcheck:top-menu-source-picker-v1.
- src/components/layout/HeaderActions.tsx — wide and overflow Intelligence entries now call picker launchers, no direct setActiveModal('factcheck'/'deep-research') remains in HeaderActions.
- src/lib/factcheck/__tests__/topMenuLauncher.test.ts — source filtering + source-scoped continuation tests.
- src/components/layout/__tests__/factcheckTopMenuEntry.test.ts — static regression against bypassing the picker.
PROOF:
- npx tsx --test src/lib/factcheck/__tests__/topMenuLauncher.test.ts src/components/layout/__tests__/factcheckTopMenuEntry.test.ts => exit 0, 4/4 pass.
- npx eslint src/lib/factcheck/topMenuLauncher.ts src/lib/factcheck/__tests__/topMenuLauncher.test.ts src/components/layout/HeaderActions.tsx src/components/layout/__tests__/factcheckTopMenuEntry.test.ts => exit 0.
- git diff --check -- scoped IOS-085 files => exit 0.
ARTIFACTS:
- Patch: /Users/milamarty/Downloads/FC-FIX-085.patch (16713 bytes)
- Verify: /Users/milamarty/.agent_runs/IOS-085/verify.json
RISK/BLOCKERS: bounded to existing shared single-source picker, not a new notebook picker. This fixes the unscoped top-menu launch path locally; full notebook-first cross-notebook picker would be a separate navigation/UI scope.
NOT-DONE: no push/deploy/prod browser run per local-only instructions.
2026-08-02T13:52:16.695Z · ios-wave6
SCOPE: IOS-085 — main menu now exposes Factcheck and Deep Research/Разбор through notebook-first launchers.
BRANCH: candidate/integration-wave6-20260802
COMMIT: 60b7926d fix IOS-085 factcheck deep research menu
CHANGES:
- NoteClone/Sources/NoteCloneUI/NotebookListView.swift — added menu items 'Фактчек' and 'Разбор', both opening a notebook picker backed by all textual sources.
- FactcheckNotebookView runs grounded document-chat factcheck over every textual source in the selected notebook and displays per-source results.
- MainDeepResearchLauncherView opens VisualizeView with selected notebook sourceIds, deep mode, and auto-run enabled.
- NoteClone/Sources/NoteCloneUI/VisualizeView.swift — added initial type/depth and autoRunOnAppear parameters for deep-research launch.
PROOF:
- swift test --filter 'notebookSourceMaterialUsesAllTextSourcesWithoutActiveFlag|notebookMaterialsSkipNotebookWithoutText|interactivePayloadFindsFirstPlayableSegmentAudio' => pass, 3/3.
- xcodebuild -project NoteClone/NoteClone.xcodeproj -scheme NoteCloneiOS -destination 'id=CBB305CB-8589-49EC-8455-266B0F05D29A' build => BUILD SUCCEEDED.
NOT DONE: no push, no TestFlight per brief.
2026-08-02T13:55:27.399Z · вахтёр
Воркер ios-wave6 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T14:00:31.612Z · вахтёр
Воркер ios-wave6 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T14:05:33.392Z · вахтёр
Воркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:10:37.714Z · вахтёр
Воркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:15:39.477Z · вахтёр
Воркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:20:43.235Z · вахтёр
Воркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:25:44.979Z · вахтёр
Воркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:26:20.180Z · backup-opus
ВЫЛОЖЕНО В TESTFLIGHT: сборка 2026080202 (ветка candidate/integration-wave6-20260802, UUID a9171c5f). Симуляторная сборка зелёная, конвейер подписи по runbook. Ждёт живой приёмки owner-а на устройстве.
2026-08-02T14:30:47.994Z · вахтёр
Воркер ios-wave6 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:35:50.510Z · вахтёр
Воркер ios-wave6 ЖДЁТ УЖЕ 30 мин подряд и не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-02T14:40:54.730Z · вахтёр
Воркер ios-wave6 ЖДЁТ УЖЕ 35 мин подряд и не продвигается. Последняя строка:   gpt-5.5 medium · ~/Projects/ios-wave5
2026-08-03T06:59:52.230Z · backup-opus
Мойка 03.08: 60b7926d В СБОРКЕ (Фактчек/Разбор в меню). Подача отчёта = IOS-108 в работе.
Воркер
не привязан — привязать: curl -X POST https://bugs.wool2.online/api/ios/assign -H 'content-type: application/json' \ -d '{"issueId":"IOS-085","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-08-05T00:57:54.153Z