AI-LSC Release v3.0 -- codename: Ankh of Jah Full architectural rewrite from v2.4. This is not an incremental release; the project fundamentally changed structure, scope, and design philosophy. v2.4 was a monolithic tool launcher. v3.0 is a metadata-driven infrastructure management platform. What changed: Architecture - Migrated from flat script layout to src/ai_lsc/ package with 22 core modules, 13 registry layer files, and clean separation of concerns (registry, runtime, stack, skills, agents, ui) - Introduced AI_LSC_BASE_DIR env var chain: bootstrap writes .env, launcher reads it, constants.py resolves it -- entire runtime derives from one variable. No hardcoded paths leak outside constants. - ADR-001 established: Capability as the foundational abstraction. Every subsystem (templates, pipelines, skills, containers, dashboards, monitoring) points at Capability. Tool is a implementation detail. Swap Ollama for vLLM -- nothing above the registry notices. See docs/ADR-001-capability-architecture.md. Registry - 115 registered tools organized across 13 infrastructure layers (Host Platform -> Containers). Each entry carries full metadata: installer, launcher, health probe, configuration, export rules, capability mapping. - Modular per-layer registry: ai_lsc/registry/layers/*.py -- adding a tool means adding a dict entry, not touching Python logic. - Registry auto-merges new keys across releases without user action. Stack Templates - Template system expresses infrastructure intent, not install scripts. - 4 included templates (Claude Code Setup, Agentic OS Stack, SaaS Integrations, Free Claude Code). - Templates reference tool IDs; the registry provides all install and launch logic. Zero duplication. - Stack Wizard UI for template selection and deployment. Runtime - Multi-runtime execution: native, Podman, Docker Compose, LXC. - RuntimeExecutor unifies install/start/stop/health across all targets. - Container export generates Podman Quadlet, Docker Compose, or LXC config from a template -- same template, different output format. - Fixed LXC config path bug (Path string concat) and hardcoded /mnt/AI mount targets. Bootstrap - Fully portable: extracts anywhere, detects parent directory tree, auto-resolves base dir. No assumptions about install location. - Arch Linux: --system-site-packages venv sees pacman-installed PySide6, avoids pip compile hell. - Python version stamping detects stale venv after pacman -Syu, auto-recreates. - Cleans stale ~/.local/bin/ai-lsc and pipx installs from v2.x. - python-pyside6 availability check before attempting pacman install (package not in official Arch repos). Installer - Supports pacman, apt, dnf, pip, git clone, npm, and manual installers. - Dependency expansion: installing a template auto-detects and installs missing prerequisite tools. - License gate: tools requiring license acceptance prompt before install. Verification - Per-tool health probes: process check, port check, API ping. - Verification dashboard shows install status for all 115 tools. - Hardware detection: GPU driver, CUDA version, memory, disk. UI - PySide6 dark-themed interface with sidebar navigation across all 13 layers. - Dashboard with live service status, log feed, and system health. - Infrastructure layer pages with per-tool ServiceRow widgets. - Code analysis panel: ripgrep, fd, AST inspection, tree-sitter parsing. - Skills console with modelfile tree browser and model pull. - IPC stack editor for pipeline visualization. - Settings page with base directory configuration. - Fixed 8 NameError crashes in exception handlers (except without as). - Fixed thread-unsafe UI mutation from background install thread. - Fixed stack wizard KeyError on missing metadata fields. Skills - Skill definitions as JSON manifests with capability requirements. - SkillRuntimeResolver maps skill requests to available capabilities. - 6 included skills (code-reviewer, vector-search, rag-analyst, stack-operator, agent-orchestrator, redis-operator). Agents (infrastructure only -- deferred to v4.0) - Redis pub/sub bridge for inter-agent communication. - Tool bridge connecting agent function-calling to RuntimeExecutor. - Ollama tools interface for model management. - Model pool with tier routing (8B/14B/32B/70B). - Dispatcher and clarification gate for multi-turn agent loops. - All symbols safely stubbed; no agent execution in v3.0. Bug fixes from v2.4 - Resolved externally-managed-environment error on Arch (venv isolation) - Removed ModuleNotFoundError from stale ~/.local/bin/ai-lsc entry point - Root launcher (ai_lsc.py) replaces pip entry-point -- no install needed - Convenience launcher (run.sh) sources .env for proper env injection - Path("/var/lib/lxc" / name) string concat crash -> proper Path join - 8x except Exception without as exc -> all now capture correctly - Thread-unsafe _run_install UI calls -> QTimer.singleShot dispatch - Hardcoded /mnt/AI LXC mount targets -> dynamic path resolution - Stack wizard meta['name'] KeyError -> .get() with safe defaults - python-pyside6 pacman fallback for Arch repos that don't carry it Files changed: essentially everything. See ADR-001 for the architectural rationale and the vocabulary that will govern v3.0 stabilization and v4.0 development. ```