fix: install audit 2026-05-18 — cortex profile + TTY in web-install

audit-2026-05-18 (соседняя сессия на gx10, 3 бага из 5 подтверждены):

#1 [HIGH] cortex profile сломан — kei-cortex depends on kei-router
   path-dep'ом, а kei-router → kei-model. kei-model не было в
   profile list, cargo build падал с «failed to read kei-model/
   Cargo.toml». Добавил kei-model в cortex profile.

#3 [HIGH] cortex-ui отсутствует в репо — был в profile list, но
   исходника нет ни в _primitives/_rust/, ни в _ts_packages/.
   Удалил из profile.

#4 [MEDIUM] web-install.sh теряет /dev/tty — exec | tee + curl|bash
   делают stdin pipe, wizard'у read нечего читать, onboarding падает
   на первом prompt. Переподключаю stdin к /dev/tty перед exec
   bootstrap.sh, если /dev/tty доступен.

#2 (linux-arm64 prebuild) — tag v0.38.0 не запушен на github, CI
   release.yml не сработал. Требует RULE 0.1 triple-confirm.
#5 (non-TTY default = minimal) — уже корректно, install.sh:141
   `PROFILE="${PROFILE:-minimal}"` + lib-menu.sh skip on non-TTY.
This commit is contained in:
Denis Parfionovich 2026-05-18 12:38:35 +08:00
parent e185af7116
commit 65b96d1f69
2 changed files with 14 additions and 1 deletions

View file

@ -22,7 +22,11 @@ frontend = ["mock-render", "visual-diff", "tokens-sync", "design-scrape", "live-
ops = ["kei-ledger", "ssh-check", "firewall-diff", "provision-hetzner", "provision-vultr", "harden-base", "metrics-scrape", "log-ship", "kei-provision"]
dev = ["kei-migrate", "kei-changelog", "kei-ci-lint", "kei-docs-scaffold", "kei-memory", "kei-conflict-scan", "kei-refactor-engine", "kei-graph-check", "kei-store", "kei-artifact", "kei-agent-runtime", "kei-capability", "kei-entity-store", "kei-pipe", "kei-cache", "kei-spawn", "kei-replay"]
mcp = ["kei-router", "kei-sage", "kei-task", "kei-chat-store", "kei-crossdomain", "kei-search-core", "kei-content-store", "kei-social-store", "kei-curator", "kei-auth"]
cortex = ["kei-cortex", "cortex-ui", "kei-pet", "kei-shared", "kei-ledger", "kei-memory", "frustration-matrix", "kei-skill-importer", "kei-router", "kei-dna-index", "kei-atom-discovery"]
# cortex profile: kei-cortex daemon + транзитивные path-deps.
# cortex-ui удалён — исходник отсутствует в репо (audit 2026-05-18 #3).
# kei-model добавлен — kei-router имеет path-dep, без него workspace
# сломан с «failed to read kei-model/Cargo.toml» (audit 2026-05-18 #1).
cortex = ["kei-cortex", "kei-pet", "kei-shared", "kei-ledger", "kei-memory", "frustration-matrix", "kei-skill-importer", "kei-router", "kei-model", "kei-dna-index", "kei-atom-discovery"]
buddy = ["kei-buddy", "kei-telegram-webhook", "kei-shared", "kei-chat-store", "kei-social-store", "kei-memory-sqlite", "kei-router", "kei-llm-bridge-mlx"]
# --- dev-hub bundle profiles (Wave 45) ------------------------------------
# Adds local-first git server (Forgejo), CI runner, project dashboard,

View file

@ -89,4 +89,13 @@ git -C "$KEISEI_ROOT" submodule update --init --recursive 2>/dev/null || true
[ -x "$KEISEI_ROOT/bootstrap.sh" ] || die "kit's bootstrap.sh not found in $KEISEI_ROOT"
say "delegating to $KEISEI_ROOT/bootstrap.sh ${PASS_THROUGH[*]:-}"
cd "$KEISEI_ROOT"
# curl|bash сценарий: stdin = pipe от curl, поэтому wizard'у read нечего читать.
# Если есть /dev/tty (т.е. сессия реально интерактивная), переподключаем stdin
# к терминалу — иначе onboarding/whiptail падают на первом prompt.
# audit 2026-05-18 bug #4.
if [ -r /dev/tty ] && [ ! -t 0 ]; then
exec < /dev/tty
fi
exec ./bootstrap.sh "${PASS_THROUGH[@]}"