6.2 KiB
Technology Stack: Manual Slop
Core Language
- Python 3.11+
GUI Frameworks
- Dear PyGui: For immediate/retained mode GUI rendering and node mapping.
- ImGui Bundle (
imgui-bundle): To provide advanced multi-viewport and dockable panel capabilities on top of Dear ImGui. Includes imgui-node-editor for complex graph-based visualizations, imgui_markdown for rich text rendering, and ImGuiColorTextEdit for syntax-highlighted code blocks.
Web & Service Frameworks
- FastAPI: High-performance REST API framework for providing the headless backend service.
- Uvicorn: ASGI server for serving the FastAPI application.
AI Integration SDKs
- google-genai: For Google Gemini API interaction and explicit context caching.
- anthropic: For Anthropic Claude API interaction, supporting ephemeral prompt caching.
- DeepSeek (Dedicated SDK): Integrated for high-performance codegen and reasoning (Phase 2).
- Gemini CLI: Integrated as a headless backend provider, utilizing a custom subprocess adapter and bridge script for tool execution control. Achieves full functional parity with direct SDK usage, including real-time token counting and detailed subprocess observability.
- Gemini 3.1 Pro Preview: Tier 1 Orchestrator model for complex reasoning.
- Gemini 2.5 Flash: High-performance, low-latency model for Tier 2 Tech Lead, Tier 3 Workers, and Tier 4 QA.
- DeepSeek-V3: Tier 3 Worker model optimized for code implementation.
- DeepSeek-R1: Specialized reasoning model for complex logical chains and "thinking" traces.
Configuration & Tooling
-
ai_style_formatter.py: Custom Python formatter specifically designed to enforce 1-space indentation and ultra-compact whitespace to minimize token consumption.
-
src/paths.py: Centralized module for path resolution, allowing directory paths (logs, conductor, scripts) to be configured via
config.tomlor environment variables, eliminating hardcoded filesystem dependencies. -
tree-sitter / AST Parsing: For deterministic AST parsing and automated generation of curated "Skeleton Views" and "Targeted Views" (extracting specific functions and their dependencies). Features an integrated AST cache with mtime-based invalidation to minimize re-parsing overhead.
-
pydantic / dataclasses: For defining strict state schemas (Tracks, Tickets) used in linear orchestration.
-
tomli-w: For writing TOML configuration files.
-
tomllib: For native TOML parsing (Python 3.11+).
-
LogRegistry & LogPruner: Custom components for session metadata persistence and automated filesystem cleanup within the
logs/sessions/taxonomy. -
psutil: For system and process monitoring (CPU/Memory telemetry).
-
uv: An extremely fast Python package and project manager.
-
pytest: For unit and integration testing, leveraging custom fixtures for live GUI verification.
-
Taxonomy & Artifacts: Enforces a clean root by organizing core implementation into a
src/directory, and redirecting session logs and artifacts to configurable directories (defaulting tologs/sessions/andscripts/generated/). Temporary test data and test logs are siloed intests/artifacts/andtests/logs/. -
ApiHookClient: A dedicated IPC client for automated GUI interaction and state inspection.
-
mma-exec / mma.ps1: Python-based execution engine and PowerShell wrapper for managing the 4-Tier MMA hierarchy and automated documentation mapping.
-
dag_engine.py: A native Python utility implementing
TrackDAGandExecutionEnginefor dependency resolution, cycle detection, transitive blocking propagation, and programmable task execution loops. Refined to decouple status management from dependency resolution to support external pool control. -
multi_agent_conductor.py: Orchestrates the concurrent execution of implementation tracks using a non-blocking
ConductorEngineand a thread-safeWorkerPool. Employs configurable concurrency limits and thread-local context isolation to manage multi-agent state. -
Thread-Local Context Isolation: Utilizes
threading.local()for managing per-thread AI client context (e.g., source tier tagging), ensuring thread safety during concurrent multi-agent execution. -
Asynchronous Tool Execution Engine: Refactored MCP tool dispatch and AI client loops to use
asyncio.gatherandasyncio.to_thread, enabling parallel execution of independent tool calls within a single AI turn to reduce latency.
Architectural Patterns
- Event-Driven Metrics: Uses a custom
EventEmitterto decouple API lifecycle events from UI rendering, improving performance and responsiveness. - Synchronous Event Queue: Employs a
SyncEventQueuebased onqueue.Queueto manage communication between the UI and backend agents, maintaining responsiveness through a threaded execution model. - Synchronous IPC Approval Flow: A specialized bridge mechanism that allows headless AI providers (like Gemini CLI) to synchronously request and receive human approval for tool calls via the GUI's REST API hooks.
- High-Fidelity Selectable Labels: Implements a pattern for making read-only UI text selectable by wrapping
imgui.input_textwithimgui.InputTextFlags_.read_only. Includes a specialized_render_selectable_labelhelper that resets frame backgrounds, borders, and padding to mimic standard labels while enabling OS-level clipboard support (Ctrl+C). - Hybrid Markdown Rendering: Employs a custom
MarkdownRendererthat orchestratesimgui_markdownfor standard text and headers while intercepting code blocks to render them via cachedImGuiColorTextEditinstances. This ensures high-performance rich text rendering with robust syntax highlighting and stateful text selection. - Faux-Shader Visual Effects: Utilizes an optimized
ImDrawList-based batching technique to simulate advanced visual effects such as soft shadows, acrylic glass overlays, and CRT scanline overlays without the overhead of heavy GPU-resident shaders or external OpenGL dependencies. Includes support for dynamic status flickering and alert pulsing integrated into the NERV theme. - Interface-Driven Development (IDD): Enforces a "Stub-and-Resolve" pattern where cross-module dependencies are resolved by generating signatures/contracts before implementation.