Develop and extend the WARNERCO Robotics Schematica system - an agentic RAG application with FastAPI, FastMCP, LangGraph orchestration, and 3-tier memory (JSON/Chroma/Azure AI Search). Use when working on the schematica backend, adding schematics, modifying the LangGraph flow, updating dashboards, or deploying to Azure.
Agentic robot schematics system with semantic memory and retrieval-augmented generation.
┌─────────────────────────────────────────────────────────────┐
│ FastAPI + FastMCP │
├─────────────────────────────────────────────────────────────┤
│ LangGraph Flow (9-node Hybrid RAG) │
│ parse_intent -> query_graph -> inject_scratchpad -> retrieve│
│ -> compress -> reason -> respond │
├─────────────────────────────────────────────────────────────┤
│ Hybrid Memory Layer │
│ +-------------------+ +-------------------+ +-----------+│
│ | Vector Store | | Graph Store | | Scratchpad|│
│ | JSON->Chroma-> | | SQLite + NetworkX | | In-memory |│
│ | Azure AI Search | | (Knowledge Graph) | | (Session) |│
│ +-------------------+ +-------------------+ +-----------+│
└─────────────────────────────────────────────────────────────┘
src/warnerco/backend/
├── app/
│ ├── main.py # FastAPI application
│ ├── config.py # Settings and environment
│ ├── models.py # Pydantic schemas
│ ├── routes.py # API endpoints
│ ├── mcp_tools.py # FastMCP tool definitions
│ ├── adapters/ # Memory backend implementations
│ │ ├── json_store.py
│ │ ├── chroma_store.py
│ │ ├── azure_search_store.py
│ │ ├── graph_store.py
│ │ └── scratchpad_store.py
│ └── langgraph/
│ └── flow.py # 9-node hybrid RAG orchestration
├── data/
│ ├── schematics/ # JSON source of truth
│ └── chroma/ # Vector embeddings
├── static/dash/ # SPA dashboards
└── .env # Configuration
cd src/warnerco/backend
# Local development
uv sync
uv run uvicorn app.main:app --reload --port 8000
# Index schematics into Chroma
uv run python -c "from app.adapters.chroma_store import ChromaMemoryStore; import asyncio; asyncio.run(ChromaMemoryStore().index_all())"
# MCP stdio server (for Claude Desktop)
uv run warnerco-mcp
Set MEMORY_BACKEND in .env:
| Backend | Use Case | Config |
|---------|----------|--------|
| json | Fastest startup, keyword search | Default |
| chroma | Local semantic search | Recommended for dev |
| azure_search | Enterprise deployment | Requires Azure resources |
| Tool | Description |
|------|-------------|
| warn_list_robots | List schematics with filters |
| warn_get_robot | Get schematic by ID |
| warn_semantic_search | Natural language search |
| warn_memory_stats | Backend statistics |
| warn_add_relationship | Create graph triplet (subject, predicate, object) |
| warn_graph_neighbors | Get connected entities |
| warn_graph_path | Find shortest path between entities |
| warn_graph_stats | Graph node/edge statistics |
| warn_scratchpad_write | Store session observation |
| warn_scratchpad_read | Retrieve session entries |
| warn_scratchpad_clear | Clear session entries |
| warn_scratchpad_stats | Token budget statistics |
9-node hybrid retrieval-augmented generation:
anthropic SDK preferred, then Azure OpenAI, then OpenAI)Edit data/schematics/schematics.json:
{
"id": "WRN-00026",
"model": "WC-900",
"name": "New Robot Name",
"component": "component description",
"version": "v1.0",
"summary": "Technical summary...",
"category": "sensors",
"status": "active",
"tags": ["tag1", "tag2"],
"specifications": {
"spec_key": "spec_value"
},
"url": "https://schematics.warnerco.io/..."
}
Then re-index: uv run python -c "...index_all()"
/dash/schematics/) - Search, filter, view robot data/dash/memory/) - Educational RAG visualizationSee references/azure-deployment.md for:
| Method | Path | Description |
|--------|------|-------------|
| GET | /api/robots | List schematics |
| GET | /api/robots/{id} | Get by ID |
| POST | /api/search | Semantic search |
| GET | /api/memory/stats | Backend stats |
| GET | /docs | OpenAPI docs |
Search for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer