forked from Rockachopa/Timmy-time-dashboard
## Thinking Engine Tests (#1314) - New: tests/timmy/test_thinking_engine.py — 117 tests across 21 test classes - Covers ThinkingEngine core + all 4 mixin classes: - engine.py: init, idle detection, store/retrieve, pruning, dedup, continuity, context assembly, novel thought generation, think_once, journal, broadcast - _distillation.py: should_distill, build_distill_prompt, parse_facts_response, filter_and_store_facts, maybe_distill - _issue_filing.py: references_real_files, get_recent_thoughts_for_issues, build_issue_classify_prompt, parse_issue_items, file_single_issue - _seeds_mixin.py: pick_seed_type, gather_seed, all seed sources, check_workspace - _snapshot.py: system snapshot, memory context, update_memory - _db.py: get_conn, row_to_thought, Thought dataclass - seeds.py: constants, prompt template, think tag regex - Targets 80%+ coverage of engine.py's 430 lines ## Stack Manifest (#986) - New: docs/stack_manifest.json — 8 categories, 40+ tools with pinned versions - LLM Inference, Coding Agents, Image Gen, Music/Voice, Orchestration, Nostr+Lightning+Bitcoin, Memory/KG, Streaming/Content - Schema: {tool, version, role, install_command, license, status} - New: src/timmy/stack_manifest.py — query_stack() runtime tool - Category and tool filtering (case-insensitive, partial match) - Manifest caching, graceful error handling - New: tests/timmy/test_stack_manifest.py — 24 tests - Registered query_stack in tool registry + tool catalog - Total: 141 new tests, all passing
348 lines
12 KiB
JSON
348 lines
12 KiB
JSON
{
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"title": "Timmy Sovereign Tech Stack Manifest",
|
|
"description": "Machine-readable catalog of every tool in the sovereign stack. Queryable by Timmy at runtime via query_stack().",
|
|
"version": "1.0.0",
|
|
"generated": "2026-03-24",
|
|
"source_issue": "#986",
|
|
"parent_issue": "#982",
|
|
"categories": [
|
|
{
|
|
"id": "llm_inference",
|
|
"name": "Local LLM Inference",
|
|
"description": "On-device language model serving — no cloud required",
|
|
"tools": [
|
|
{
|
|
"tool": "vllm-mlx",
|
|
"version": "latest",
|
|
"role": "High-throughput LLM inference on Apple Silicon via MLX backend",
|
|
"install_command": "pip install vllm-mlx",
|
|
"license": "Apache-2.0",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "Ollama",
|
|
"version": "0.18.2",
|
|
"role": "Primary local LLM runtime — serves Qwen3, Llama, DeepSeek models",
|
|
"install_command": "curl -fsSL https://ollama.com/install.sh | sh",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "mlx-lm",
|
|
"version": "0.31.1",
|
|
"role": "Apple MLX native language model inference and fine-tuning",
|
|
"install_command": "pip install mlx-lm==0.31.1",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "exo",
|
|
"version": "1.0-EA",
|
|
"role": "Distributed LLM inference across heterogeneous devices",
|
|
"install_command": "pip install exo",
|
|
"license": "GPL-3.0",
|
|
"status": "experimental"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "coding_agents",
|
|
"name": "AI Coding Agents",
|
|
"description": "Autonomous code generation, review, and self-modification",
|
|
"tools": [
|
|
{
|
|
"tool": "Goose",
|
|
"version": "1.20.1",
|
|
"role": "AI coding agent for autonomous code generation and refactoring",
|
|
"install_command": "brew install block/goose/goose",
|
|
"license": "Apache-2.0",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "OpenHands",
|
|
"version": "1.5.0",
|
|
"role": "Open-source AI software engineer for complex multi-file changes",
|
|
"install_command": "pip install openhands==1.5.0",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "Aider",
|
|
"version": "latest",
|
|
"role": "AI pair programmer using local Ollama models (qwen3, deepseek-coder)",
|
|
"install_command": "pip install aider-chat",
|
|
"license": "Apache-2.0",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "mini-swe-agent",
|
|
"version": "2.0",
|
|
"role": "Lightweight software engineering agent for targeted fixes",
|
|
"install_command": "pip install mini-swe-agent",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "Forgejo",
|
|
"version": "14.0.3",
|
|
"role": "Self-hosted Git forge (Gitea fork) — sovereign code hosting",
|
|
"install_command": "docker pull forgejo/forgejo:14.0.3",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "image_generation",
|
|
"name": "Image Generation",
|
|
"description": "Local image synthesis — avatars, art, visual content",
|
|
"tools": [
|
|
{
|
|
"tool": "ComfyUI",
|
|
"version": "0.17.2",
|
|
"role": "Node-based image generation pipeline with FLUX model support",
|
|
"install_command": "git clone https://github.com/comfyanonymous/ComfyUI && pip install -r requirements.txt",
|
|
"license": "GPL-3.0",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "Draw Things",
|
|
"version": "latest",
|
|
"role": "macOS-native image generation app with Metal acceleration",
|
|
"install_command": "mas install 6450292044",
|
|
"license": "Proprietary (free)",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "FLUX.1 Dev GGUF Q8",
|
|
"version": "1.0",
|
|
"role": "Quantized FLUX.1 model for high-quality local image generation",
|
|
"install_command": "ollama pull flux.1-dev-q8",
|
|
"license": "FLUX.1-dev-non-commercial",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "FLUX.2 Klein",
|
|
"version": "2.0",
|
|
"role": "Fast lightweight FLUX model for rapid image prototyping",
|
|
"install_command": "comfyui-manager install flux2-klein",
|
|
"license": "Apache-2.0",
|
|
"status": "active"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "music_voice",
|
|
"name": "Music and Voice",
|
|
"description": "Audio synthesis — music generation, text-to-speech, voice cloning",
|
|
"tools": [
|
|
{
|
|
"tool": "ACE-Step",
|
|
"version": "1.5",
|
|
"role": "Local music generation — 30s loops in under 60s on Apple Silicon",
|
|
"install_command": "pip install ace-step==1.5",
|
|
"license": "Apache-2.0",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "mlx-audio",
|
|
"version": "0.4.1",
|
|
"role": "Apple MLX native audio processing and text-to-speech",
|
|
"install_command": "pip install mlx-audio==0.4.1",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "Piper TTS",
|
|
"version": "1.4.1",
|
|
"role": "Fast local neural text-to-speech with multiple voice models",
|
|
"install_command": "pip install piper-tts==1.4.1",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "GPT-SoVITS",
|
|
"version": "v2pro",
|
|
"role": "Voice cloning and singing voice synthesis from few-shot samples",
|
|
"install_command": "git clone https://github.com/RVC-Boss/GPT-SoVITS && pip install -r requirements.txt",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "agent_orchestration",
|
|
"name": "Agent Orchestration",
|
|
"description": "Multi-agent coordination, MCP servers, workflow engines",
|
|
"tools": [
|
|
{
|
|
"tool": "FastMCP",
|
|
"version": "3.1.1",
|
|
"role": "Model Context Protocol server framework — tool registration for agents",
|
|
"install_command": "pip install fastmcp==3.1.1",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "PocketFlow",
|
|
"version": "latest",
|
|
"role": "Lightweight agent workflow engine for multi-step task orchestration",
|
|
"install_command": "pip install pocketflow",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "CrewAI",
|
|
"version": "1.11.0",
|
|
"role": "Multi-agent collaboration framework for complex task decomposition",
|
|
"install_command": "pip install crewai==1.11.0",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "Agno",
|
|
"version": "2.5.10",
|
|
"role": "Core agent framework powering Timmy — tool registration, conversation management",
|
|
"install_command": "pip install agno==2.5.10",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "nostr_lightning_bitcoin",
|
|
"name": "Nostr + Lightning + Bitcoin",
|
|
"description": "Sovereign identity, censorship-resistant communication, and value transfer",
|
|
"tools": [
|
|
{
|
|
"tool": "nostr-sdk",
|
|
"version": "0.44.2",
|
|
"role": "Python SDK for Nostr protocol — sovereign decentralized identity",
|
|
"install_command": "pip install nostr-sdk==0.44.2",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "nostrdvm",
|
|
"version": "latest",
|
|
"role": "Nostr Data Vending Machine — publish AI services on Nostr marketplace",
|
|
"install_command": "pip install nostrdvm",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "LND",
|
|
"version": "0.20.1",
|
|
"role": "Lightning Network Daemon — sovereign Bitcoin payment channel management",
|
|
"install_command": "brew install lnd",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "LN agent-tools",
|
|
"version": "latest",
|
|
"role": "Lightning Network integration tools for AI agents — invoice creation, payment",
|
|
"install_command": "pip install ln-agent-tools",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "LNbits",
|
|
"version": "1.4",
|
|
"role": "Lightning Network wallet and extensions platform — API-first payments",
|
|
"install_command": "docker pull lnbits/lnbits:1.4",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "Cashu",
|
|
"version": "0.17.0",
|
|
"role": "Ecash protocol for private Lightning-backed digital cash",
|
|
"install_command": "pip install cashu==0.17.0",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "memory_knowledge_graphs",
|
|
"name": "Memory and Knowledge Graphs",
|
|
"description": "Persistent memory, vector search, knowledge graph construction",
|
|
"tools": [
|
|
{
|
|
"tool": "Graphiti",
|
|
"version": "0.28.2",
|
|
"role": "Episodic memory via temporal knowledge graphs — remember conversations",
|
|
"install_command": "pip install graphiti==0.28.2",
|
|
"license": "Apache-2.0",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "Neo4j",
|
|
"version": "2026.02",
|
|
"role": "Graph database backend for knowledge graph storage and traversal",
|
|
"install_command": "docker pull neo4j:2026.02",
|
|
"license": "GPL-3.0 (Community)",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "ChromaDB",
|
|
"version": "1.5.5",
|
|
"role": "Local vector database for semantic search over embeddings",
|
|
"install_command": "pip install chromadb==1.5.5",
|
|
"license": "Apache-2.0",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "Mem0",
|
|
"version": "1.0.5",
|
|
"role": "Self-improving memory layer for AI agents — fact extraction and recall",
|
|
"install_command": "pip install mem0ai==1.0.5",
|
|
"license": "Apache-2.0",
|
|
"status": "active"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "streaming_content",
|
|
"name": "Streaming and Content",
|
|
"description": "Video streaming, recording, editing, and content production",
|
|
"tools": [
|
|
{
|
|
"tool": "MediaMTX",
|
|
"version": "1.16.3",
|
|
"role": "RTSP/RTMP/HLS media server for streaming game footage and AI output",
|
|
"install_command": "docker pull bluenviron/mediamtx:1.16.3",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "OBS",
|
|
"version": "32.0.4",
|
|
"role": "Open Broadcaster Software — screen capture, scene composition, streaming",
|
|
"install_command": "brew install --cask obs",
|
|
"license": "GPL-2.0",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "obsws-python",
|
|
"version": "latest",
|
|
"role": "Python client for OBS WebSocket — programmatic recording and scene control",
|
|
"install_command": "pip install obsws-python",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
},
|
|
{
|
|
"tool": "MoviePy",
|
|
"version": "2.1.2",
|
|
"role": "Python video editing — clip assembly, overlay, sub-5-min episode production",
|
|
"install_command": "pip install moviepy==2.1.2",
|
|
"license": "MIT",
|
|
"status": "active"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|