epic KARASS-91 · EPIC A — Foundation: GitHub remote, CI, deploy pipeline
[x]Push karass-landing to GitHub, install karass-dev App, protect mainKARASS-97
[x]CI on PR: typecheck + lint + build (GitHub Actions)KARASS-98
[x]Auto-deploy: merge to main → Cloud Build → Cloud RunKARASS-99
[ ]Agent merge policy: who merges what, when, and how it's enforcedKARASS-100
epic KARASS-92 · EPIC B — Mycelium: unified event log, mandatory logging, read API
[x]Event log schema v1 (migration 016): append-only, refs, meta-levelsKARASS-102
[~]Writers: Claude Code hooks, CI/deploy, Linear webhook, TG — log-first everywhereKARASS-103
[~]Event-log read interface: MCP server (get_events, search, context, agent_state)KARASS-104
[~]Organism self-health: liveness timestamps per subsystem + /api/health/organismKARASS-105
epic KARASS-93 · EPIC C — Build loop: dispatcher that builds Karass itself
[x]Builder VM in karass-platform: isolated, Claude Code + hooks, provisioned via resource ledgerKARASS-106
[x]Dispatcher constitution for Karass: pickup contract, workspace lifecycle, serializationKARASS-107
[x]First autonomous cycle: one real KARASS ticket end-to-end to prod — the "1" milestoneKARASS-108
[ ]Decision→Outcome→Policy wiring: every dispatcher choice is a named decision pointKARASS-109
[ ]Safety rails: budget caps, concurrency 1, stall watchdog, owner abort switchKARASS-110
[~]Foreman: the crane manages its own queue (stop bootstrap labeling waves)KARASS-126
[ ]Robust epic-exclusion in claim: don't treat parentless tickets as epicsKARASS-129
[ ]The crane ships like yeet — review, fix, merge, watchKARASS-130
[~]Yeet delivery 1/3 — safe PR-walk + fail-closed owner-gateKARASS-136
[~]Yeet delivery 2/3 — merge gate (both reviewers, P1-aware, retry Done)KARASS-137
[~]Yeet delivery 3/3 — fix-session sub-flow (validate exit, cap rounds)KARASS-138
epic KARASS-94 · EPIC D — Signals & verification: Karass senses itself
[ ]Monitor watches Karass itself: own Sentry project + self-tenantKARASS-111
[~]Post-deploy verify + auto-revert live for Karass deploysKARASS-113
[~]Owner channel: TG digest (log-first) + inbound owner messages → events/ticketsKARASS-114
[~]Known-good anchor: eye-verified versions + catastrophic rollback organKARASS-125
[~]Fix verify: drop the fragile GitHub CI-lookup — a serving revision already passed CIKARASS-127
[~]Fix verify: Monitor-quiet = no regression, not zero errorsKARASS-131
[~]Notion self-healing: health limb + dead-token escalation + degraded fallbackKARASS-132
epic KARASS-95 · EPIC E — Construction site UI on karass.dev
[~]Live organism feed: event-log stream page on karass.devKARASS-115
[~]Work queue + attempt timeline: what the organism is building nowKARASS-116
[~]Trust & budget controls: pause/abort, caps, gated-approvals queueKARASS-117
[~]Construction site becomes the default view for tenant "karass"KARASS-118
[~]ASCII construction animation: the crane, alive on the front pageKARASS-124
[~]Roadmap live from Linear — stop hand-maintaining the front-page snapshotKARASS-128
epic KARASS-96 · EPIC F — Infra roadmap & economics (0→1 now, 1+ sketch)
[ ]Infra doc 0→1: LLM tiering under real constraints, enforced in configKARASS-119
[ ]Legacy infra decision: repurpose or sleep the idle $45–65/mo (needs owner OK)KARASS-120
[ ]1+ infra research: Managed Agents, hosted MCP servers, multi-tenant isolationKARASS-121
[ ]Housekeeping: triage stale KARASS-78..90 against the revival roadmapKARASS-123
epic KARASS-101 · Preview deploy per PR + post-deploy screenshot for visual verify
[x]Deploy tagged Cloud Run revision (no traffic) per PRKARASS-232
[ ]Post/update PR comment with preview URL and screenshotsKARASS-234
epic KARASS-133 · EPIC G — Self-build family (крон-компоненты)
[x]Meta-observer (пастух): отдельный крон, смотрит на всю петлюKARASS-134
[~]Planner/decomposer: цель → правильные тикетыKARASS-135
epic KARASS-139 · Организм — кроны: наблюдаемость, здоровье, самонаправление
[x]Дашборд организма: остались здоровье, фронтир способностей и распределение раундовKARASS-140
[x]Каждый крон бьёт лимбKARASS-141
[~]Переделать TG-дайджестKARASS-142
[~]Провижнер: systemd-таймеры + дрейфKARASS-143
[~][KEYSTONE] Gap-engine / decider кронKARASS-144
[~]Notion-документация Karass — top notchKARASS-145
[~]Сироты видимы организму: эпик = «есть дети», а не «нет родителя»KARASS-151
[~]Verify: лог-чек якоря меряет регрессию, а не наличие ERROR-строкKARASS-152
[~]Fix-session обслуживает и owner-gate PR: починка ревью ≠ мёржKARASS-153
[~]CodeRabbit — единственный ревьюер контура; Codex выведенKARASS-154
[x]Fix-session синкает ветку с main: конфликт = первый шаг починкиKARASS-155
[~]Fix-cap меряет сходимость находок, а не число раундовKARASS-156
[~]Karass выбирает себе ревьюера сам: ресерч, решение, сообщение владельцуKARASS-161
[~]Ревью по готовности: гейт живёт в окне ревьюера, а не считает молчание отказомKARASS-175
[~]Приёмка: блок доказывает, что сделал то, что просил тикетKARASS-180
[x]Ошибочно поданный гейт отзывается механизмом, а не человеком с доступом к базеKARASS-181
[x]Karass открывается внешнему прохожему: CheckMyApp ходит по karass.dev как пользовательKARASS-182
[~]Кран не берёт блок, чьё внешнее условие не выполненоKARASS-188
[~]Karass сам решает, как развязать собственную пропускную способностьKARASS-190
[~]Пароль песочной учётки выдаётся через Secret Manager, а не строкой в логахKARASS-191
[ ]Страница готовности написана для машины, а не для человекаKARASS-199
[~]Молчащий ревьюер должен кричать: конвейер, который строит, но не мёржитKARASS-200
[~]Karass выводит собственную стейт-машину из своего журналаKARASS-201
[~]Найти оставшиеся тупики и превратить их в поводыKARASS-203
epic KARASS-159 · Хронист: страница дня на karass.dev + суточный крон
[~]Chronicler: day_page table + /api/internal/chronicler/day routeKARASS-169
[~]Chronicler MCP: day_events + publish_day toolsKARASS-170
[x]crane/chronicler.mjs runnerKARASS-171
[~]/app/den page — server-rendered day viewKARASS-172
[~]Chronicler systemd timer + organism_liveness limbKARASS-173
[~]Ежедневное сообщение владельцу: четыре вещи, которые он хочет знатьKARASS-174
epic KARASS-160 · Готовность: три вопроса владельца, ответ каждый день + страница и баннер
[~]Readiness storage: date-keyed verdict + prose + frontier snapshotKARASS-163
[~]Readiness MCP server: capability_report, organism_health, recent_outcomes, publish_readinessKARASS-164
[~]Daily readiness runner (claude -p session)KARASS-165
[~]Schedule the readiness runner + liveness limbKARASS-166
[~]Readiness page (Russian, day-page visual language)KARASS-167
epic KARASS-162 · Инструментальщик: Karass ревизует свои инструменты и строит себе новые
[~]tool_friction: evidence query for tool friction over the myceliumKARASS-176
[~]propose_tool_ticket: file tool-change tickets with a server-side hands-safety gateKARASS-177
[~]Toolsmith runner: weekly systemd timer wiring tool_friction into propose_tool_ticketKARASS-178
epic KARASS-168 · Readiness banner on the day page (KARASS-159)
[~]Fetch latest verdict word and remaining-item count for day page bannerKARASS-197
[x]Render readiness banner on day page with link to readiness pageKARASS-198
epic KARASS-183 · Три дыры, найденные вмешательствами пастуха 26–29.08
[~]Атомарный сброс тикета при возврате в очередьKARASS-184
[x]Провижнер systemd-юнитов доезжает до VM и запускается после самообновления кранаKARASS-185
[x]Вооружение manual-таймеров через проверку креденшла после самообновленияKARASS-186
[x]Порог тревоги живости выводится из каденции опроса, а не назначается числомKARASS-187
epic KARASS-189 · Раунды правок: с 4.3 на PR до двух — самый крупный резерв скорости и цены
[x]Разбор причин раундов правок: числовая раскладка 4.3 раунда/PRKARASS-192
[~]Мицелий помнит находки каждого раунда, а не только закапченныхKARASS-196
epic KARASS-193 · Перед капом: организм проверяет, лежит ли причина вне диффа
[~]Add pre-cap expanded-scope diagnostic round producing a verdictKARASS-228
[~]Surface the explicit question when capping on needs_decisionKARASS-230
[ ]Add regression fixtures for the three historical stall casesKARASS-231
epic KARASS-202 · Решение помнит свой исход: 115 решений за месяц, ни одного с последствием
[x]Связать decision_point «выбор блока decider'ом» с исходом постройки (построен/сошёлся)KARASS-220
[x]Связать decision_point «выбор ревьюера» с исходом (число ревью, упор в лимит)KARASS-221
[x]Связать decision_point «решение о параллельности» с исходом изменения каденцииKARASS-222
[~]Связать decision_point «выбор блока для постройки» с событием `acceptance_checked` как его исходомKARASS-223
[ ]Запрос: к чему приводит класс решений (по связанным исходам)KARASS-224
epic KARASS-216 · [EPIC] Gap-движок должен диффить vision, а не собственную карту способностей
[x][EPIC] V6 нарушен: петля трижды за день заблокировалась на владельце внутри себяKARASS-217
[x][EPIC] V4 не реализован: ограничители — константы, не функция доказанного восстановленияKARASS-218
epic KARASS-219 · Связать decision_point «допуск тикета в очередь» с исходом (мёрж/провал/кап)
[ ]Прокинуть id decision_point-события допуска до порождённого блокаKARASS-252
[ ]Событие-исход «мёрж» должно ссылаться через refs на decision_point допускаKARASS-253
[ ]Событие-исход «провал» должно ссылаться через refs на decision_point допускаKARASS-254
[ ]Событие-исход «кап» должно ссылаться через refs на decision_point допускаKARASS-255
epic KARASS-229 · Route outside_diff verdicts to a linked root-cause ticket instead of a cap
[~]Create root-cause ticket generator from outside_diff verdictsKARASS-239
[ ]Route outside_diff verdicts to the new root-cause ticket instead of capping the PRKARASS-240
epic KARASS-233 · Headless screenshot of changed pages against preview URL
[ ]Map PR diff to changed UI pages/routesKARASS-249
[ ]Headless browser screenshot capture utilityKARASS-250
[ ]Wire screenshot capture into CI pipeline as an artifact-producing stepKARASS-251
epic unsorted · unsorted
[~]Убрать owner-approval из контура: гейты = механизмы, не человекKARASS-146
[~]Изоляция билд-сессий: отдельный uid + расщепление гейтвей-секретаKARASS-147
[ ][ARCH] Builder-VM целиком из Terraform — прообраз клиентского деплояKARASS-148
[~]Потерянные блоки возвращаются сами: ретрай после фикса вместо ручного релейблаKARASS-149
[x]Foreman различает контентные тикеты: Notion-работа не идёт в билд-контурKARASS-150
[ ]«Уже сделано» — не провал: сессия без коммитов не должна кормить кулдаун, когда утверждение уже истинноKARASS-235
[ ]Тест V6 должен считать различные ожидания, а не события: метрику нельзя двигать правкой логированияKARASS-237
[ ].crane bookkeeping in the PR diff is the reviewer's most repeated P1 — it burned three blocksKARASS-247
[ ]CodeRabbit already reviews every crane PR and the merge gate does not count it — one reviewer is the loop's remaining single point of failureKARASS-248