An agentic automation framework orchestrating specialized AI personas—Sherlock, Mycroft, Watson, and more—for high-fidelity software engineering, powered by a persistent Graph RAG semantic memory for deep project context.
This repository acts as the Strategic Hub, currently assigned to the Flask Blogs Mono-Repo (integrated as a git submodule).
The framework employs a hierarchy of specialized personas, each a master of their craft:
- 🕵️♂️ Sherlock (Product Owner): The detective who uncovers requirements and analyzes GitHub issues.
- 🧠 Mycroft (Architect): The elder brother who maps dependencies, performs audits, and designs the technical blueprints.
- 🩺 Watson (The Coder): The steadfast implementer who translates designs into clean, "Speaking Code."
- 👮♂️ Lestrade (Test Designer): The Inspector who ensures every change is verified with a comprehensive test plan.
- 🐕 The Hounds (QA/Reviewers): The relentless trackers who verify that the final implementation matches the vision.
Myosotis is the framework's semantic memory service, providing persistent context across sessions via a specialized Model Context Protocol (MCP) server and a robust Command Line Interface (CLI). It serves as the Graph RAG backbone, enabling agents to understand complex relationships across the entire codebase.
- Vector-Based Semantic Search: Uses
sentence-transformersto index and retrieve memories based on meaning rather than just keywords. - Knowledge Graph: Maintains relationships between technical decisions, requirements, and implementation details.
- MCP Integration: Enables agents to autonomously query (
search_memory) and store (add_memory) context directly through their toolsets. - Role-Based Memory: Filters and biases results based on the agent's persona (
architect,developer,tester, etc.).
Once installed via the internal install.py script, the myosotis command provides:
myosotis search "query": Perform deep semantic retrieval across projects.myosotis add --text "fact": Store new architectural or project-specific knowledge.myosotis compact: Automatically merge high-similarity clusters to reduce noise and "forget" redundant data.myosotis stats: Monitor the growth and health of the Knowledge Graph.
If you have just cloned this repository, you must summon the Managed Submodules:
git submodule update --init --recursiveNavigate to the root of this repository and start your Gemini session. The CLI will automatically load the project intelligence from the .gemini/ archives.
To prevent a "Three Pipe Problem" with submodules, we recommend these global or project-local configurations:
# Automatically update submodules after a pull—no manual labor required.
git config submodule.recurse true
# Ensure no clues (submodule commits) are left behind before pushing the main case.
git config push.recurseSubmodules check
# View the actual history of changes in submodules during a 'git diff'.
git config diff.submodule log
# Keep a summary of submodule status in your 'git status' reports.
git config status.submoduleSummary true.gemini/: The Brain. Contains the agents, specialized Skills (SEO, QA, Refactoring), and the Operational Protocols.myosotis/: The Memory. The core Graph RAG semantic memory service and MCP server.flask_blogs/: The Case. The integrated project currently under investigation.
To ensure a smooth, high-fidelity experience, the framework is configured to use an Alternate Screen Buffer with Incremental Rendering. This eliminates terminal flickering during live updates.
When this mode is active, your terminal's native scrollbar is disabled. Use these keyboard shortcuts to navigate the session history:
Shift + Up / Down: Scroll line by line.Page Up / Page Down: Scroll by one full page.Ctrl + Home / End: Jump to the very beginning or end of the chat.
These settings are managed in .gemini/settings.json:
"ui": {
"useAlternateBuffer": true,
"incrementalRendering": true
}If you prefer to use your terminal's native scrollbar, set useAlternateBuffer to false (though this may cause flickering during status updates).
"Mediocrity knows nothing higher than itself; but talent instantly recognizes genius." — This framework is licensed under the MIT License.