Ревизия планов: что не реализовано (2026-10-16)
Полная ревизия «план → код» по шести направлениям (секреты, артефакты, знания/навыки, каналы/intake/триггеры/саги, платформа агентов, хвосты ROADMAP). Доказательства — файл:строка по дереву e02b638.
#В работе (волна фиксов, октябрь 2026)
- ✅ Согласование артефактов (сделано): решение матчится с записями согласующих через профиль принципала (
MatchArtifactReviewers) — групповые записи (org:/role:/project_owner) решает любой активный участник, решение хранится под записью сdecided_by; правка approved теперь 409 (SaveArtifactEdit), а не молча снимает статус; кнопка правки в UI заблокирована. - ✅ Event-триггеры (сделано): слушатель журнала (
cmd/agent-kernel/eventtriggers.go) — хвост журнала с курсоромjournal:events, срабатывание только на пост-активационных событиях (без переигрывания истории), идемпотентность по (trigger, event), анти-цикл на события триггерных ранов, без event-триггеров журнал не читается. Конструктор:event_type+ фильтрыactor_id/actor_type/project/data.<поле>(валидация на сохранении, неизвестные ключи — 422) + промпт; UI-форма с подсказками типов и чипами фильтров. Контракт: docs/triggers-and-escalations.md §1. - ✅
kernel/probe(решено — удалён): пробы нерабочие по предпосылкам — FileProbe ждал>отдельным argv-токена (реальныеrun_commandнесут редиректы внутриsh -c-строки, см. трейсы), MCPProbe читал назад собственный журнал ядра (циркулярно). Боль подтверждения побочных эффектов закрыта классификацией эффектов при сбоях (toolFailureData) и операциями с эффектами; заметка в ROADMAP P2. - ✅ Slack-треды + настройки каналов (сделано):
thread_tsна исходящих,thread_refна вопросах (human_request, миграция 000065), точный матчинг тредовых ответов с бэкфиллом; настройки каналов — аккордеон (настроенные сверху, раскрыты). Контракт: docs/channels.md §9.1. - ✅ Approved-хвосты (сделано):
skill_inspectотдаётstatus/versionи помечает не-утверждённые артефакты предупреждением;artifact_searchпринимаетstatus=/kind=и отдаётorigin_type; редактор навыков предлагает только approved. - ✅ Уведомления согласующим (сделано): submit рассылает текстовое уведомление со ссылкой каждому раскрытому согласующему по каналу с той же политикой выбора, что
ask_human(cmd/agent-kernel/artifactnotify.go), вне цикла запроса, best-effort.
#1. Команды агентов (plan-agent-teams.md) — самый большой незакрытый план
MVP по плану = волны A–D; A–B сделаны, C и D нет.
| Волна | Что | Статус | Доказательство |
|---|---|---|---|
| C | Подбор агентов на role-слоты по capabilities, GET .../resolve |
❌ | kernel/agent/teamrun.go:29,58-63 — без явного биндинга отказ |
| D | UI «Команды» | ❌ | нет клиента в workspaceApi.ts, нет раздела (события team.* рендерятся в Runs) |
| E | Formation builder POST /v1/workspace/teams/builder |
❌ | роута нет |
| F | Team scratch, контракты как артефакты, scoped hints | ❌ | контракты текстом в промпт (teamrun.go:185-213) |
| G | cost/team-run, метрики версий, evolution proposals |
🟡 | только rollup в team.completed; ProposeTeamVersion — ручной путь |
| H | Миграция примера LeadCoderReviewerQA | ❌ | examples_enabled.go:15,41-45, спец-обработка в AgentRuns.tsx:567,585 |
#2. Секреты (secrets-management.md)
Фаза 1 — закрыта в основном; хвосты:
- тул
secret_request(HITL-выдача) — нет; - события
secret.accessed/secret.revoked,lease_id/ttl— нет (естьsecret.issued/secret.denied); - git credential helper — git-операции только через env;
- tmpfs-секрет-файлы для legacy-тулов — нет;
secret://в конфигах агентов (гранты именами) и триггерах — нет;- UI: фильтры по оргединице/провайдеру, пикер
secret://в MCP-форме — нет.
Фаза 2 — ❌ целиком: SecretProvider-контракт, адаптеры Infisical/Vault, динамические секреты, TTL-lease, ротация по расписанию, revoke, gейтинг политиками (провайдеры жёстко builtin|env, migrations/000050).
Фаза 3 — ❌ целиком: GitHub Apps-брокер, OIDC/STS-федерация, SIEM-экспорт аудита.
Нюанс: resolve-эндпоинт (main.go:4771-4812) проверяет service-principal, но не орг-видимость — разграничение на стороне ядра (sandboxSecretEnv).
#3. Артефакты
Lifecycle Фаза 2 — 0/3: кнопки approve/reject в каналах (база — human_requests с orphan-RunID — тоже нет, channelinbound.go:291-320 сигналит только в workflow рана); напоминания ARTIFACT_REVIEW_TIMEOUT — только в доке; эскалация — не решено, кому (артефакты не привязаны к проектам; кандидат — head оргединицы).
Lifecycle Фаза 3 — 0/4: снапшоты тел (правка затирает, workspace/artifacts.go:304-307), пиннг версии в манифесте (skills/manifest.go:19-22 — только ID), трассировка сага→раны→фича (в ProjectOverview.tsx артефактов нет), конвертация work→reference.
Registry Фаза 3 — 0/3: адаптеры S3/СЭД (провайдеры жёстко builtin|url, main.go:7351), версионирование, полнотекстовый поиск (только метаданные).
Открытые вопросы §14 lifecycle: ко-редактирование черновиков, обязательный ревью человеческих reference, агентское пред-ревью, пиннг vs always-latest, квоты размера агентских черновиков.
Прочее: статус superseded и события artifact.superseded/artifact.updated не эмитятся; cancelled у review — мёртвое значение; kind-чипа-фильтра в UI нет.
#4. Каналы / intake / триггеры / саги
- Interactivity (кнопки Telegram/Slack + текстовый фолбэк) — ❌; основа
OutboundText.Options []string, рендер текстом. - MS Teams — ❌ ни драйвера, ни заготовки.
- Mattermost не парсит file-only посты; у Slack нет FilesIn; телеграм не режет 4096; capabilities-контракт беднее докового (нет Threads/Interactive/MaxTextLen).
- Intake: фазы 1–4 закрыты (глобальный kill-switch
KERNEL_INTAKE_ENABLED+ пер-проектныйintake_enabled, 422). Будущее §14 (кворумы, создание проекта из канала) — не начато. - Триггеры: нет non-blocking
notify; нет счётчиков запусков/«требовался человек» в UI; options без id/label; эскалация только project_owner; имена событий докаhuman.delivered/response_received/run.resumedне совпадают с кодом. - Саги: ядро закрыто (инструменты, автопривязка, бюджеты, UI). Открыты (осознанно): замыкание, авто-предложение в промптах, stale-индикатор, кросс-проектность.
#5. Навыки и знания
- Contextual memory retrieval per skill/capability — ❌ (навыки в priming — только novelty-штраф;
skill_memory— листинг). - Evolution analytics для навыков — ❌ (у агентов есть
agentEvolution.ts; у навыков только счётчикиSkills.tsx:559-565). - Eval-gate качества не распространяется на навыки: гейт только на agent-proposals (
main.go:2293);skill applyбез гейта; judge-поля skill-оценок не заполняются (kernel/agent/skilleval.go:42-45). - living-skills:
deprecated-состояния, dry-runskill.apply(§24),memory.confirm(§25), метрики качества навыка (§30), композиция навыков — нет; aging-sweep (aging.v1, 14 дней → challenged) — частично закрывает устаревание. - knowledge-evolution: сценарий C частично (challenge есть, автоинвалидации нет;
knowledge.disproved/corrected/linkedвалидируются, но продюсеров нет); подтверждение = 1 ре-выведение, порогов нет. - knowledge-extraction: ручной confirm кандидатов в UI нет (только challenge/invalidate); extraction не запускается для team-root ранов и
run.failed. - knowledge-model:
valid_from/valid_toнет (битемпоральность — query-фильтры); Evidence урезан до Ref+Type; kind не валидируется; переходыasserted/expired/forgottenнет.
#6. Контур качества (agent-quality-loop.md)
Бэкенд закрыт (гейт, judge+калибровка, настройка судьи из UI, интервальное расписание qualityschedule.go). Хвосты — UI/метрики:
- дашборд
/qualityиversions/diff— API-only, потребителя во фронтенде нет; - ревью golden-кандидатов — API-only;
- метрики здоровья петли §12 (override rate <5%, доля judge-degraded, свежесть) — не считаются;
- траекторные проверки — открытый вопрос.
#7. Прочие хвосты
- CLI
temporality agent evals/eval-run— нет (cmd/temporality/main.go:73-77). - External users (
user_type/expires_at) — нет. - P2 Advanced: cost v2 — 3/4 (per-run/project/task/saga есть; орг-токен-квот нет — дневные квоты считают раны, не токены,
kernel/quota/); memory population overview — есть alive-lane, нет разбивки active/stale/invalidated во времени; cross-project knowledge — закрыт через scope-промоушен (пере-чекнуть ROADMAP); embeddings — нет (образ pgvector есть, расширение не подключено); graph relations — типизированные связи есть, графовая инфраструктура — осознанное NOT doing. - Experiment-9: живая операторская сессия — процессный хвост.
- Web-research: robots/политики обхода не оговорены нигде (док не обещал — отметить как открытую тему).
#8. Устаревшие доки
- ROADMAP: «Shareable investigation URL — frontend polish needed» — сделано (
ExperienceTimeline.tsx:277-301); Cost v2 и Cross-project knowledge — переформулировать под факт. product-architecture.md§6/§7 («следующее: semantic zoom, sharing») — устарели.- Комментарии кода ссылаются на несуществующие
specs/quality-loop.md,m3evalgate.go,m4judge.go(реальные:docs/agent-quality-loop.md,evalgate.go,judge.go).
#9. Приоритет следующих волн (предложение)
- Волна фиксов (см. «В работе») — доверие к заявленному.
- Artifact Lifecycle Фаза 2 (уведомления → напоминания → эскалация) — прямое продолжение фиксов.
- Команды, волны C+D — единственный план с недостигнутым MVP.
- Качество: дашборд UI + метрики здоровья петли; гейт для навыков.
- Секреты Фаза 2 (внешние провайдеры) — по мере потребности в enterprise-интеграциях.