How we build
Architecture, source, and design decisions.
A curated look at how SignalFoundry and MarketCompass are actually built — real design docs and real source files, not marketing copy.
Architecture & decisions
- ADR-001: Use FastAPI for the API Layer
- ADR-002: Confidence-Based YAML Routing (Rule/Pattern-Based, Not Embedding/LLM-Based)
- ADR-003: Separate Skills Layer from Tools Layer
- ADR-004: Model the LLM as a Platform Service, Not a Tool
- ADR-005: Centralize All Registry Configuration Under `config/`
- ADR-006: Memory Strategy — Two Tiers, Fallback-Only, User-Scoped
- ADR-007: RAG Retrieval Is Conditional (Fallback-Only) and LangChain-Based Internally
- ADR-009: Scope LangChain to Three Isolated Pockets, Never the Orchestration Framework
- ADR-010: RAG and Long-Term Memory — Storage and Embedding Technology Choices
- ADR-011: A Standalone, Opt-In Export Pipeline for the Public Website — Not a Fourth LangChain Pocket
- MarketCompass — Architecture Overview
- MarketCompass — Architecture Summary
- Routing Design — Confidence-Based YAML Routing
- Context Builder Design — Preventing Orchestrator God-Object Growth
- Domain Models Design — Internal Application Contracts
- Skills Design — Business Capability Layer
- MarketCompass — Skill Factory Design
- Tools Design — External Integration Layer (Revision 3)
- LLM Service Design — Platform Inference Layer (Revision 4)
- MarketCompass — Security Design
- Observability Design — First-Class Cross-Cutting Layer
- Evaluation Framework — Architectural Placeholder
- Memory Design — Short-Term Buffer and Long-Term Store
- RAG Design — Retrieval for the Fallback Branch
- MarketCompass — LangChain & Conditional RAG Decision (Context Summary)
- Public Export Pipeline Design
Source
- backend/src/router/router.py
- backend/src/router/config_loader.py
- backend/src/router/pattern_matcher.py
- backend/src/router/entities.py
- backend/src/agents/orchestrator.py
- backend/src/agents/context_builder.py
- backend/src/agents/base/base_agent.py
- backend/src/agents/base/agent_context.py
- backend/src/skills/base_skill.py
- backend/src/skills/factory.py
- backend/src/skills/generic_chat_skill.py
- backend/src/tools/base_tool.py
- backend/src/tools/registry_loader.py
- backend/src/services/llm_service.py
- backend/src/llm/factory.py
- backend/src/llm/providers/base_provider.py
- backend/src/models/context.py
- backend/src/models/routing.py
- backend/src/models/skills.py
Follow the work.
Occasional updates on SignalFoundry, MarketCompass, and what we are building at CompassFoundry Labs.