Architecture
How it works
A working instance of the Ship Revenue framework. Eight diagrams: the loop primitive, the system at a glance, the chains in flight, and how operators change it.
1.Loop anatomy
Every loop carries the same six components. Config holds the levers — thresholds, rules, weights — versioned at the source. Logic is the code that runs. Inputs trigger it; outputs are state changes and downstream events. Metrics watch what comes out; feedback closes the cycle back to config. A loop with all six is a first-class primitive. Without any one, it's something less.
2.System at a glance
Three interfaces, one platform. The CRM is where field reps work. Claude (via three MCP servers) is where anyone queries or edits the system in natural language. A static BI surface handles dashboards and ad-hoc SQL. Behind those interfaces: an API layer, a workflow engine, a Python compute service for strategic modeling, and external services for enrichment and AI.
3.Planning chain: Design → Deploy
Strategy and execution, side by side. Design owns the strategic shape — capacity, productivity, ramp curves, roster, annual targets. A scenario is a complete, sharable plan; promoting one is a one-line change and the rest of the system reads from it. Deploy materializes the active scenario into the CRM's territory hierarchy and reconciles user + account assignments, with an AI agent fallback for ambiguous geography.
Design — capacity model + scenarios
Deploy — territory materialization
4.Demand chain in flight
When a lead is created in the CRM: Qualify enriches via a third-party data provider, scores against a versioned config, then hands off to the territory-aware Route engine. Engage composes a personalized email sequence and lands a task on the lead record with a preview for the rep.
5.Route resolution
The shared rule evaluator. Rules in versioned YAML are walked in priority order; the first match dispatches to a handler that resolves to a CRM owner. The diagram shows the shape of what's possible — any number of rules of any type can compose. One engine powers live lead routing, batch account assignment, and dry-run simulation.
6.Acquisition chain in flight
When a lead converts to an opportunity, Pursue selects a deal play and creates milestone tasks with staggered due dates. The play picks up where Engage left off — research brief and prior sequence travel forward with the deal.
7.Signal-driven outbound
A different ingress to the same chains. Target accounts are scanned on a rolling cadence by an AI signal scanner (one account per tick). Detected signals — funding, hiring, leadership moves, tech changes, product launches, partnerships, acquisitions — flow through Generate for matching and scoring, then to Engage for signal-aware outreach.
8.Operator interface: how the system gets changed
Operators don't edit YAML or touch the database directly — they talk to the system through three MCP servers wired up by a single command-line install. Read-side analytics live in the analytics MCP under row-level security. Loop-side workflows (edit config, approve sequences, query account or person state) flow through the workflow MCP. Generic CRM writes go through the CRM MCP under per-user OAuth — the operator's identity is preserved in the audit trail. Adding a new MCP server is one entry in a versioned registry; no republish, no installer churn.