tasks: sched-fnf-r5 retest — A accepted, B second pass (daemon pins mcp 0.3.0, heuristic misses host:port)

This commit is contained in:
2026-08-17 20:19:36 +03:00
parent 10ff656e43
commit b236d1f54f
2 changed files with 4 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
---
_last_updated_: 2026-08-17T17:02:34Z
_last_updated_: 2026-08-17T17:20:00Z
session_id: 2026-08-17-pi-sched-fnf-r4-r5
---
@@ -11,7 +11,7 @@ session_id: 2026-08-17-pi-sched-fnf-r4-r5
## Open треки
| Трек | Готовность | Entry-point |
|---|---|---|
| sched F&F раунд 5 — allowedTools sandbox | 🟡 репорт отправлен, ждём фикс + пинг | `.admin/.tmp/sched-r2/r5/` + их inbox |
| sched F&F раунд 5 — allowedTools sandbox | 🟡 перетест A/B: A ✅, B второй заход (daemon pin mcp 0.3.0 + хитристика host:port) | `.admin/.tmp/sched-r2/r5/` (r5-retest-ab.mjs) + их inbox |
| sched F&F раунд 4 — run-метаданные/retention/manual-retry | 🟢 закрыт (5/5 + A/B/C починены) | — |
| llm-router рестарт службы + verify routerai | 🔴 ждёт юзера (admin restart) | `.common/lib/llm-router-proxy/` + AppData-копия |
| pi models.json | 🟢 done | `~/.pi/agent/models.json` |
@@ -26,6 +26,6 @@ session_id: 2026-08-17-pi-sched-fnf-r4-r5
- Не писать секреты в этот файл (git-tracked).
## Memory updates за сессию
- **sched r4 закрыт**: 5/5 исходных (run-метаданные `trigger/triggeredBy/temporary/retryOf`, trigger-only, manual retry, auto-retry линковка, retention) + 3 находки починены (core 0.25.0 / daemon 0.1.18): syncTasks disable-on-remove, `POST /tasks/:name/run` с `{temporary?, data?}`, `--help` дефолты. Перетест 12/12 зелёный.
- **sched r5 перетест A/B** (core 0.26.1/mcp 0.3.1): A) ssh ceiling fail-fast на load — ✅ подтверждено; B) mcp bare http spec — ❌ в продуктовом пути: `@sched/daemon@0.1.19` пиннул `@sched/mcp:"0.3.0"` (жёстко, вложенная копия без assertValidMcpToolSpecs) → daemon грузит старый раннер, фикс не активен; хитристика ловит только `https://host` без порта, `https://host:port` не бросает (порт в tool-измерение). Ответ: `victor/sched/.agents/inbox/2026-08-17T17-18-54Z-admin-fnf-r5-ab-retest.md`. Ждём перепин + хитристику.
- **sched r5 заревьюен** (core 0.26.0 / mcp 0.3.0 / daemon 0.1.19, allowedTools sandbox): 30/30 зелёный, 7/7 пунктов. 3 «на ваше усмотрение» отправлены sched'у, ждём фикс: **A** ssh — единственный раннер, где ceiling проверяется на run (не load); **B** mcp http server-only spec (`["https://host"]`) тихо no-match (нужен `url:*`); **C** docker `alpine@echo` блокирует таску без явного `command`. Стенды: `r4/` (r4-harness/r4-bonus/r4-retest/r4-probe-removed-task), `r5/` (r5-harness) — все с изолированным node_modules из verdaccio.
- **F&F-репорты живут в `victor/sched/.agents/inbox/`** (НЕ в .admin/.tasks/) — rounds 4-5 шли через inbox-пинги, без board-задач. Следующий раунд (6?) придёт тем же пингом в `.admin/.agents/inbox/`.

View File

@@ -1,6 +1,6 @@
# Admin Task Board
_Updated: 2026-08-17 — 🟢 **[sched-fnf-r4] ЗАКРЫТ (5/5 + находки A/B/C починены, core 0.25.0/daemon 0.1.18).** Run-метаданные (trigger/triggeredBy/temporary/retryOf), trigger-only, manual retry (`POST /runs/:id/retry`), auto-retry линковка, retention — всё зелёное (43 чек-пойнта). Находки: A) syncTasks disable-on-remove (removed → disabled, док стал правдой); B) `POST /tasks/:name/run` с `{temporary?, data?}`; C) `--help` дефолты. Перетест 12/12. Репорты: `victor/sched/.agents/inbox/2026-08-17T16-02-00Z-*-report.md` + `…T16-09-00Z-*-retest-report.md`. Стенд `.admin/.tmp/sched-r2/r4/`._
_Updated: 2026-08-17 — 🟡 **[sched-fnf-r5] РЕПОРТ ОТПРАВЛЕН — allowedTools sandbox (core 0.26.0/mcp 0.3.0/daemon 0.1.19), ждём фикс.** 30/30 зелёный, 7/7 пунктов (per-task allowedTools, ceiling через runners-блок, mcp per-tool, ssh per-command, docker image@cmd, порядок policy→runner, регресс opt-in). 3 «на ваше усмотрение»: A) ssh — единственный раннер, где ceiling на run (не load); B) mcp http server-only spec тихо no-match (нужен `url:*`); C) docker `alpine@echo` блокирует таску без явного command. Стенд `.admin/.tmp/sched-r2/r5/`. Репорт: `victor/sched/.agents/inbox/2026-08-17T16-58-00Z-admin-fnf-r5-sandbox-report.md`._
_Updated: 2026-08-17 (2) — 🟡 **[sched-fnf-r5] перетест A/B: A ✅ принято, B — второй заход.** sched прислал фикс (core 0.26.1/mcp 0.3.1): A) ssh ceiling fail-fast на load — подтверждено (4/4 кейса, демон не стартует с `command 'rm' not in runner allowedTools`; нюанс: shape-ошибка раньше ceiling-команды при битом конфиге); B) mcp bare http spec — **НЕ работает в продуктовом пути**: (1) `@sched/daemon@0.1.19` пиннул `@sched/mcp:"0.3.0"` жёстко → вложенная копия 0.3.0 без `assertValidMcpToolSpecs`, daemon грузит старый раннер, их ретест-инструкция фикс не воспроизводит (ceiling → `not in runner allowedTools`, per-task → демон стартует + тихий deny на run); (2) хитристика ловит только `https://host` без порта, `https://host:port` (их кейс #2) не бросает — порт уезжает в tool-измерение. C — дока, ок. Регресс process/opt-in жив. Ретест: `r5-retest-ab.mjs` (13/18; фейлы все B). Ответ: `victor/sched/.agents/inbox/2026-08-17T17-18-54Z-admin-fnf-r5-ab-retest.md`. Ждём daemon-перепин + хитристику._
_Updated: 2026-08-17 — 🟢 **[sched-fnf-r3-refresh0] ACCEPTED — раунд 3 закрыт.** sched починил `?refresh=0` (ui 0.1.10→0.1.11, comm 926465b): чистую функцию refreshFromSearch (browser-safe модуль, morda.ts с node-импортами ломал esbuild) + NaN-guard. Перетест на стенде r3 (ui 0.1.11, Chrome/CDP, 3 вкладки): (1) `?refresh=0` — fail-fast замер на next 13:42:30/fails 12 за 35с, пока API-истина росла до 14 — polling реально выключен; (2) `?refresh=2500` — 4 запроса /api/tasks за 10с (2.5с каденс) vs 2 (5с) без параметра; (3) дефолт 5с жив. Раунд 3 закрыт полностью (все 4 пункта: tasks/schedules/runs polling + refresh-оверрайд). Репорт: `victor/sched/.agents/inbox/2026-08-17T10-44-00Z-admin-fnf-r3-refresh0-retest.md`._
_Updated: 2026-08-17 — 🟢 **[sched-fnf-r3-ui-autorefresh] ACCEPTED.** sched починил мёртвый polling в Tasks/Schedules (ui 0.1.9→0.1.10, comm 83ac7be): morda слала `el.refreshMs` всем компонентам, но SchedTasks/SchedSchedules его не декларировали — поллил только Runs. Проверил на стенде r3 (8082 daemon + 8083 serve, ui 0.1.10 из verdaccio, реальный Chrome через CDP, без единого клика refresh): Tasks — next run `13:35:37→13:36:52` и fails `0→2` за 35с (fail-fast), stale nextRunAt 5-мин задач пересчитались сами; Schedules — next `13:36:52→13:37:23` + last `13:36:22→13:36:53`; Runs регресс — 4→10 строк без refresh. ⚠️ Находка «на ваше усмотрение»: `?refresh=0` polling НЕ выключает (morda.ts:99 `Number(...) || cfg.refreshMs` — 0 falsy → дефолт 5000; предсуществующий, из 6e64582c, не регрессия фикса; фикс однострочный null-check). Репорт: `victor/sched/.agents/inbox/2026-08-17T10-39-00Z-admin-fnf-r3-ui-autorefresh-retest.md`._
_Updated: 2026-08-17 — 🟢 **[sched-fnf-r3-cache-headers] ACCEPTED.** sched починил отсутствие Cache-Control (core 0.22→0.23.0: admin-api JSON/204 no-store + artifact-proxy no-cache; ui 0.1.8→0.1.9: serve bundle no-store + /api/* прокси no-cache; daemon 0.1.15→0.1.16, comm 3352edb). Перепроверил вживую против собранных dist (поднял admin-api+serve, curl -D): bundle→no-store ✅, serve-proxy /api→no-cache ✅, admin /health+/runs+4xx+trigger→no-store ✅, DELETE 204→no-store ✅ (на существующем ране), artifact-proxy→no-cache ✅. Сьют 464 ✓ (29 файлов; 2 unhandled-warning — известный Lit class-field, не регресс). Версии совпали с опубликованными (core 0.23.0/ui 0.1.9/daemon 0.1.16). Закрывает вчерашние «залипшие running» без Ctrl+F5. Репорт: `victor/sched/.agents/inbox/2026-08-17T08-31-30Z-admin-fnf-r3-cache-headers-retest.md`. Остаток (visibilitychange/refetch-on-focus) — опционально, не блокер._