📱 Доска iOS

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

FC P1: стэнс-судья standard-режима — эвристика красит мусор в supports и глушит опровержения

Закрыт P1 · важно ведёт: fc-fix эпик: IOS-067
Суть
Детский тест owner-а (док «земля плоская», JSON cmsbpnp0v): Perplexity-свидетельство прямо пишет «Утверждение ложное… псевдонаучную», stance=neutral → вердикт unknown. Прогон всей статьи (PDF cmsbplbi9, ПОСЛЕ фикса 075): «постраждалих немає» SUPPORTED 90% на crossref-статьях про костную ткань (перекрытие слов «за даними»), «комплекс открыли в мае 2025» SUPPORTED 86% при сниппете «не підтверджується». КОРЕНЬ: в standard-режиме stance — keyword-эвристика (supports за перекрытие слов, neutral на реальное опровержение, особенно ru/uk); judgeEvidenceStance (LLM) включён только в deep. Фикс 075 (кворум по доменам) работает, но арифметика бессильна при мусорных метках. ТРЕБОВАНИЯ: (1) всякое свидетельство, входящее в кворум, проходит LLM-стэнс и в standard (bounded: топ-4 свидетельства на клейм; остальные — вне кворума как справка); (2) эвристика НЕ ставит supports/refutes — только LLM или ничего; (3) refuted при ≥2 доменах stance=refutes; один домен refutes → unknown/likely-контекст с честной причиной; (4) ru/uk тексты судятся так же (промпт судьи языконезависимый).
Чем закрывается (приёмка)
Три файла owner-а как приёмка: (а) «всем известный факт что земля плоская» → REFUTED; (б) «за попередніми даними постраждалих немає» → НЕ supported (кворум пуст или unknown); (в) истинные Apollo/Wildberries-факты с ≥2 supports-доменами → supported. JSON-пруфы живого прода.
Починено в
v4-98f247e
Лента
2026-08-02T11:34:26.370Z · вахтёр
Воркер fc-fix2 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 high · ~/Projects/fc-fix
2026-08-02T11:37:17.282Z · fc-fix
SCOPE: IOS-082 — LLM stance quorum for factcheck standard/quick path, no heuristic directional quorum.
BASE: 55dd7921bdc59ad3731f06409499648a09a0d417 (branch agent/fc-fix-ios075-ios076-20260802; no origin remote configured, git fetch origin failed before work).
CHANGES:
- src/lib/factcheck/pipeline.ts: top-4 per-claim LLM quorum candidates by score; all evidence starts neutral; out-of-bound evidence stays neutral reference; marker factcheck:llm-stance-quorum-v1.
- src/lib/factcheck/llmJudge.ts: language/markdown-aware prompt; fallbackMode='neutral' for factcheck quorum so no-key/failure/omitted ids cannot become support/refute.
- src/lib/factcheck/__tests__/llmJudge.test.ts: ru markdown refutation -> refutes through mocked LLM response; no-key lexical support candidate -> neutral.
- src/lib/factcheck/__tests__/verdictEngine.test.ts: standard two-domain refutes -> refuted; one refuting domain -> unknown/single_source.
PATCH: /Users/milamarty/Downloads/FC-FIX-082.patch (23191 bytes).
VERIFY.JSON: /Users/milamarty/.agent_runs/IOS-082/verify.json marker=factcheck:llm-stance-quorum-v1.
PROOF:
- npx tsx --test src/lib/factcheck/__tests__/llmJudge.test.ts src/lib/factcheck/__tests__/verdictEngine.test.ts -> exit 0, 12/12 pass.
- npx eslint src/lib/factcheck/pipeline.ts src/lib/factcheck/llmJudge.ts src/lib/factcheck/__tests__/llmJudge.test.ts src/lib/factcheck/__tests__/verdictEngine.test.ts -> exit 0.
- git diff --check -> exit 0.
- grep marker/prompt in patch -> found factcheck:llm-stance-quorum-v1, fallbackMode: 'neutral', MAX_LLM_QUORUM_EVIDENCE_PER_CLAIM=4, Russian or Ukrainian prompt line.
RISK/BLOCKERS:
- Full pnpm lint was attempted and failed on pre-existing repo-wide errors outside scope (examples: eslint-rules/__tests__/require-admin-guard.test.cjs require-imports, harness/server.cjs require-imports, reports/* no-explicit-any/require-imports, src/lib/graph/clusterNaming.ts any, src/lib/visualize/tableExtract.ts prefer-const, tests/unit/analytics/typedTrackAnalyticsEvent.spec.ts no-assign-module-variable). Scoped eslint on touched files is green.
- pnpm build and full pnpm test were not run: local resource guard observed another next dev already running; this patch is non-UI and has focused machine-proof.
NOT-DONE: no push, no deploy, no prod/browser verification per brief.
2026-08-02T11:44:30.405Z · вахтёр
Воркер fc-fix2 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 high · ~/Projects/fc-fix
2026-08-02T12:39:53.022Z · вахтёр
Воркер fc-fix2 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T12:44:55.207Z · вахтёр
Воркер fc-fix2 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T12:49:57.470Z · вахтёр
Воркер fc-fix2 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T12:54:59.333Z · вахтёр
Воркер fc-fix2 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T13:00:01.276Z · вахтёр
Воркер fc-fix2 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 5 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T13:05:03.252Z · вахтёр
Воркер fc-fix2 объявил, что работы у него нет («очередь пуста»), хотя тикет открыт. Панель шевелится 0 мин назад — то есть он ЖИВ, но НЕ РАБОТАЕТ.
2026-08-02T13:10:05.043Z · вахтёр
Воркер fc-fix2 ЖДЁТ УЖЕ 30 мин подряд и не продвигается. Последняя строка:   gpt-5.5 high · ~/Projects/fc-fix
2026-08-02T13:15:09.350Z · вахтёр
Воркер fc-fix2 ЖДЁТ УЖЕ 35 мин подряд и не продвигается. Последняя строка:   gpt-5.5 high · ~/Projects/fc-fix
2026-08-02T13:20:12.076Z · вахтёр
Воркер fc-fix2 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 high · ~/Projects/fc-fix
2026-08-02T13:25:14.723Z · вахтёр
Воркер fc-fix2 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 high · ~/Projects/fc-fix
2026-08-02T13:30:16.579Z · вахтёр
Воркер fc-fix2 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 high · ~/Projects/fc-fix
2026-08-02T13:35:18.342Z · вахтёр
Воркер fc-fix2 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 high · ~/Projects/fc-fix
2026-08-02T13:40:19.970Z · вахтёр
Воркер fc-fix2 объявил БЛОКЕР или ждёт сборочный слот. Жив, но не продвигается. Последняя строка:   gpt-5.5 high · ~/Projects/fc-fix
2026-08-02T13:43:48.371Z · backup-opus
ПРИНЯТО, ЗАКРЫТО. Судья на проде (v4-98f247e→8dbf8ae). Живая приёмка: тот же crossref-мусор, что утром давал SUPPORTED 90%, теперь ВЕСЬ neutral → честный unknown (run cmsbuimlc003y: Support 0, Refute 0, Neutral 3) — ложная зелёнка невозможна. Ось REFUTED упёрлась не в судью, а в УЧАСТИЕ провайдеров под пустой учёткой (только crossref из 5 запрошенных) — вынесено в IOS-086 вместе с маршрутизацией по типу клейма; google_factcheck ключ живой (earth is flat → 10×False от USA Today/AAP прямым вызовом).
Воркер
не проверен fc-fix2 M4 движение в панели: неизвестно
Подключиться и смотреть/перехватить руками. Колесо мыши листает; клавишами — Ctrl-b затем [, выход из прокрутки q. Отсоединиться — Ctrl-b затем d:
ssh -t poolpooly@192.168.1.74 "ssh -t milamarty@192.168.1.114 '/opt/homebrew/bin/tmux -L gui attach -t fc-fix2'"
Прочитать историю панели без подключения — листается и ищется (/ поиск, q выход), воркеру не помешает:
ssh poolpooly@192.168.1.74 "ssh milamarty@192.168.1.114 '/opt/homebrew/bin/tmux -L gui capture-pane -p -S -5000 -t fc-fix2'" | less -R
Если при входе tmux покажет «.config/tmux/tmux.conf: Permission denied» — нажми q, это косметика: каталог ~/.config на M4 принадлежит root, сессия работает. Лечится один раз с паролем на M4: sudo chown -R milamarty:staff /Users/milamarty/.config && chmod 755 /Users/milamarty/.config
Обновлён
2026-08-02T13:43:48.465Z