Skip to content

Repository files navigation

🕵️‍♂️ The Baker Street Agent Framework: A Case of Digital Intelligence

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 Great Detectives (Our Agents)

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.

🧠 The Collective Memory: Myosotis (Graph RAG)

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.

🏛️ Architecture & Capabilities

  • Vector-Based Semantic Search: Uses sentence-transformers to 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.).

🛠️ Key CLI Commands

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.

🚀 The Game is Afoot: Getting Started

1. Assemble the Team

If you have just cloned this repository, you must summon the Managed Submodules:

git submodule update --init --recursive

2. Enter the Study

Navigate to the root of this repository and start your Gemini session. The CLI will automatically load the project intelligence from the .gemini/ archives.


🛠️ Detective's Toolbox: Recommended Git Settings

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

📂 The Case Files (Structure)

  • .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.

🖥️ UI & Troubleshooting: Flickering & Scrolling

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.

🖱️ Scrolling in the Alternate Buffer

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.

⚙️ UI Configuration

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).

📜 Legal Notice

"Mediocrity knows nothing higher than itself; but talent instantly recognizes genius." — This framework is licensed under the MIT License.

About

An agentic automation framework orchestrating specialized AI personas—Sherlock, Mycroft, Watson, and more—for a high-fidelity software engineering, powered by a persistent Graph RAG semantic memory for deep project context.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages