Skip to content

RBS Ecosystem Capability Map

Hidden and underdocumented capabilities discovered during deep audit — April 9, 2026. Many of these features are built, deployed, and running — but not surfaced in product marketing, not wired to UI, or not receiving data from all relevant sources.


Discovery Method

This document captures features found via:

  • Branch audit across all 22 repos
  • TODO/FIXME mining across the codebase
  • Vision-vs-reality comparison (spec docs vs. actual routes/functions)
  • Integration gap analysis (events with no receivers, endpoints with no callers)

Status Key

SymbolMeaning
✅ LiveBuilt, deployed, receiving real data
🟡 PartialBuilt but limited data, admin-only, or UI not exposed
🔴 StubCode exists, returns mock/placeholder data
⚠️ GapDefined in spec/events.json but not yet implemented

AI & Intelligence Layer (7 capabilities)

1. CaminoAgent — 40+ Tool AI Engine

App: Camino | Status: 🟡 Partial (admin-only)

Camino runs a full agentic loop with 40+ tools covering: lead qualification, campaign creation, pricing optimization, landing page A/B testing, social media scheduling, WhatsApp message dispatch, OAuth token refresh, and more. The agent powers the daily dispatcher's AI sub-jobs. Admin-only UI; not exposed to tenants.

Gap: Tenants cannot invoke the agent directly. No tenant-facing "AI Assistant" surface in Camino CRM.


2. Deal Architect — 10-Step Deal Algorithm

App: Camino | Status: 🟡 Partial (admin-only)

Full deal-structuring AI: analyzes prospect profile, recommends product bundle, generates pricing, produces deal memo. Used internally for managed service prospects (Panache, Moken Matcha). Accessible only through admin panel.

Gap: Not exposed in Patadas marketplace where deals are originated.


3. Colectiva Brain — Briefing Generator

App: Colectiva | Status: ✅ Live (UI live, cross-app data ~100% S45)

Daily briefing engine generates financial intelligence reports: revenue trends, anomalies, churn signals, opportunity flags. The /api/cron/daily-brain cron runs; results stored in workspaces/{id}/brain_briefings. The /intelligence page (fully live) shows the latest briefing with health score + recommendations, 3-briefing history trend, and a "Generate" button (/api/brain/test).

Brain now ingests cross-app events: Comal order.completed, Caracol sale.completed (both paths), La Hoja sale.completed, Plenura appointment.completed (S45), Servilleta task.completed (S45) — ~100% of ecosystem revenue visible.


4. Oracle Insights — AI Pricing Intelligence

App: Camino | Status: 🟡 Partial (API-only)

Geo-aware pricing oracle returns optimal price points per market based on demand signals, competitor data, and conversion history. 19/19 apps priced and registered. 3 live A/B experiments. Accessible only via internal API; no tenant-facing dashboard.

Gap: Tenants cannot see pricing recommendations or experiment results for their own plans.


5. AI Router — Multi-Provider LLM Proxy

App: Camino | Status: ✅ Live

Internal proxy that routes AI requests to the appropriate model (Claude, GPT-4, Gemini) based on cost/quality/latency policy. Used by CaminoAgent, Colectiva Brain, and Agora ghost timer HITL. Not exposed externally.


6. Constanza Fiscal Optimizer — AI Hiring Logic

App: Constanza | Status: ✅ Live (implemented S45)

AI-powered fiscal regime advisor that recommends whether a RESICO PF provider should incorporate (become PM). Uses real SAT RESICO bracket rates (1–2.5% on gross revenue, 5 tiers from FISCAL_LIMITS_2025) vs Persona Moral 30% on resultado fiscal. Outputs: recommendation (stay_resico / consider_incorporating / must_incorporate), urgency level, break-even revenue scan, projected year-end utilization, and actionable reasoning strings.

FiscalOptimizerAI.getHiringRecommendation()fiscal-optimizer-ai.service.ts (Constanza commit c89a956).


7. Agora Ghost Timer HITL — AI Time Tracking

App: Agora | Status: ✅ Live

Background AI that detects billable activity (browser tab changes, document edits, client communications), generates time entry suggestions, and presents them for one-click approval (Human-in-the-Loop). Sends activity.logged events to Camino CRM. Mature feature, 28 routes, full ecosystem integration.


Automation & Workflow Layer (5 capabilities)

8. Workflow Approval Engine

App: Camino | Status: 🟡 Partial (no UI)

Generic event-driven workflow engine: define trigger → condition → action chains. Used internally for Brain-approved marketing actions (process-approved-actions cron in Colectiva). No tenant-facing workflow builder exists yet.

Gap: Patadas TODO: // TODO: wire Patadas matching → contract generation via Agora — this is the first natural use case for a tenant-visible workflow.


9. Trial → Upgrade Loop

App: Camino | Status: 🟡 Partial (built, never end-to-end tested)

Complete trial management flow: expire-trials cron marks overdue trials, trial-expiry-reminders sends staged emails (7d/3d/1d/expired), usage-alerts fires at 80%+100% of tier limits, upsell-alerts cross-sells missing apps. SOFT_ENFORCE=true means usage limits are flagged but not blocked.

Gap: The full loop (trial → email → upgrade click → Colectiva charge → subscription.activated webhook → tier unlock) has never been tested end-to-end. SOFT_ENFORCE=true means the enforcement path is untested.


10. Ecosocialismo — Silent Daily Distributions

App: Colectiva | Status: ✅ Live (fully wired — stale gap entry)

Distributions fire on 1st of month. distribution.completed sent to Camino via notifyDistributionCompleted(). Camino handleDistributionCompleted upserts investor lead, logs CRM activity, and sends investor_distribution_received email (gross/ISR/net breakdown, portfolio link). Template in email-templates.ts:1142. Confirmed complete — no gap.


11. Campaign Auto-Enrollment

App: Camino | Status: ✅ Live

Daily cron (campaigns/enroll) auto-enrolls CRM leads into drip campaigns based on behavioral rules (visited pricing page, started trial, idle for X days). Fully operational but enrollment criteria are hardcoded — no UI to define custom rules.


12. Recurring Delivery Generation

App: Baúl | Status: ✅ Live (weekdays 06:00 CDMX)

generate-routes cron reads recurring_schedules table and auto-creates delivery_orders for each client subscription. Drivers see new orders in the dispatch board without manual entry. First production use case: Panache Logistics.


Integration Gaps (8 documented)

13. Patadas → Agora Contract Generation

Status: ✅ Live (S42)

Match acceptance calls POST /api/ecosystem/projects on Agora — auto-provisions "RBS Patadas Marketplace" singleton firm, upserts client by email, creates matter idempotent by matchId in metadata. Billing type maps time_materials→hourly, else flat. Same HMAC-SHA256 signing pattern.


14. Caracol → Colectiva sale.completed

Status: ✅ Live (S42)

createSaleWithInventory() (invoicing path) now fires sendSaleCompleted() fire-and-forget after COGS emission. POS path was already wired. Both Caracol sale paths now feed Colectiva Brain.


15. timesheet.approved — Analytics wired

Status: 🟡 Partial (S44)

Patadas POST /api/timesheets/[timesheetId]/approve verifies ownership, approves all time_entries, emits timesheet.approved to Colectiva. Colectiva handler writes to ecosystem_payment_events and increments ecosystem_daily_summaries (marketplace_revenue_usd, platform_fees_usd, timesheet_count) — triggers Brain recompute. Escrow release / wallet credit intentionally deferred (money movement).


16. project.completed — Analytics wired

Status: 🟡 Partial (S44)

Same pattern as #15. Patadas POST /api/projects/[projectId]/complete sets status=completed + completed_at, emits project.completed. Colectiva handler writes project_completed type to ecosystem_payment_events, increments project_count in daily summaries, triggers Brain. Escrow/invoice/closure still manual.


17. Colectiva Brain Data Isolation

Status: 🟡 Partial (improved S42–S45)

order.completed from Comal feeds Brain (S42). Caracol sale.completed from both paths (S42). Plenura appointment.completed (S45) — fires from completeBooking(), updates ecosystem_daily_summaries + appointment_count. Servilleta task.completed (S45) — fires from /api/tasks/[id]/complete, updates ecosystem_sales + marketplace_revenue. Still missing: La Hoja sales events. Brain now sees ~80% of ecosystem revenue.


18. SAT RFC Validation — Mocked

App: Constanza + Caracol | Status: 🔴 Stub

RFC format validation runs regex only. No live SAT LCO (Lista de Contribuyentes Obligados) check. An invalid RFC passes validation if it matches the pattern. Stamping will catch it, but the UX error happens late (after form submission).


19. Camino Notifications — SMS/Push/WhatsApp Stubs

App: Camino | Status: 🔴 Stub

Notification dispatch for SMS (Twilio), Push (FCM), and WhatsApp (360dialog) channels exist as function shells with channel routing logic. WhatsApp templates are defined. But the actual delivery calls return mock success. Only email (Resend) is live.

Partial exception: Baúl WhatsApp templates are configured and wired through Colectiva — this path is real.


20. MercadoPago — Fixed

App: Colectiva | Status: ✅ Live (fixed S33)

Root cause was \n suffix on MERCADOPAGO_ACCESS_TOKEN from 2026-03-28 env migration (echo not printf). Fixed in session 33 (commits 01db29a, b4ac950) — token and public key re-set via printf. All 3 env vars confirmed set in Vercel as of 2026-04-10.


Revenue Gaps (3 documented)

21. $0 Digital Subscription Revenue

Status: ⚠️ Gap (Q1 2026 target missed)

Phase 4 target (self-serve digital subscriptions) was to generate revenue by Q1 2026. Trial → upgrade loop is built but untested. No tenants have completed the self-serve flow. All current revenue is from manually provisioned managed service clients.


22. Deal Billing Gap

Apps: Patadas, Camino, Agora | Status: ⚠️ Gap

Managed service deals (Panache, Moken Matcha, Tierras de Uva) are tracked in CRM but cannot be billed through the platform's own payment infrastructure. There is no deal.invoice_generated event. Invoices are created manually outside the system.

Tracked in memory: project_deal_billing_gap.md


23. Patadas Referral → Conversion Attribution

Status: ✅ Live (S43)

emitProductReferrals() in Patadas matchingEngine fires referral.created to Camino for each product match. Camino stores in patadas_referrals table (migration 20260410200000). correlatePatadasReferral() correlates on subscription.activated — updates all matching pending referrals for that email+app to converted. Needs: supabase db push on Camino + CAMINO_WEBHOOK_SECRET set in Patadas Vercel.


Infrastructure Capabilities (3)

24. Colectiva CPI Blockchain Anchoring

App: Colectiva | Status: ✅ Live

CPI certificates are anchored to Polygon mainnet via CPIRegistry smart contract. cpi.anchored events fire with block number and explorer URL. This is active for Rito's investor CPI offerings. The blockchain infrastructure is live — not widely known.


25. Colectiva Ecosystem Heartbeat — Dependency Manager

App: Colectiva | Status: ✅ Live (SPOF partially mitigated S45)

Every 30 minutes, Colectiva's QStash job fans out to 3 apps. Fallback crons added in S45:

  • Agora: vercel.json cron → GET /api/health every 30 min (commit d391d01)
  • La Hoja: vercel.json cron → GET /api/cron/dispatcher every 30 min; GET handler added accepting Authorization: Bearer CRON_SECRET (commit fab723d)
  • Servilleta: already had expire-tasks and check-subscriptions in vercel.json — no gap

A Colectiva outage no longer silently kills La Hoja or Agora background jobs.


26. Baúl Delivery Tracking Token System

App: Baúl | Status: ✅ Live (just shipped)

Every delivery order gets a TRK-XXXXXXXXXXXX token on insert (DB trigger). Public endpoint /api/tracking/[token] returns real-time status, driver name, ETA. No auth required. Clients can track without logging in. First B2B last-mile app feature ready for Panache demo.


Summary Table

#CapabilityAppStatusRevenue Impact
1CaminoAgent (40+ tools)Camino🟡 Admin-onlyHigh — powers daily automation
2Deal ArchitectCamino🟡 Admin-onlyHigh — managed service closer
3Colectiva BrainColectiva✅ Live (S45)Medium — churn prevention
4Oracle InsightsCamino🟡 API-onlyHigh — pricing optimization live
5AI RouterCamino✅ LiveLow — infrastructure
6Fiscal Optimizer AIConstanza✅ Live (S45)Medium — upsell trigger
7Ghost Timer HITLAgora✅ LiveHigh — billing accuracy
8Workflow EngineCamino🟡 No UIHigh — automation unlocked
9Trial→Upgrade LoopCamino🟡 Untested🔴 CRITICAL — $0 SaaS revenue
10Ecosocialismo distributionsColectiva✅ LiveMedium — investor experience
11Campaign auto-enrollmentCamino✅ LiveMedium — conversion rates
12Recurring delivery genBaúl✅ LiveHigh — Panache operations
13Patadas→Agora contractsPatadas✅ Live (S42)High — marketplace friction
14Caracol→Colectiva revenueCaracol✅ Live (S42)High — revenue not captured
15Timesheet analyticsPatadas/Colectiva🟡 Analytics only (S44)High — escrow still manual
16Project completion analyticsPatadas/Colectiva🟡 Analytics only (S44)High — escrow still manual
17Brain cross-app dataColectiva🟡 ~80% (S45)Medium — La Hoja gap remaining
18RFC validation (live)Constanza🔴 StubLow — UX polish
19SMS/Push/WhatsApp dispatchCamino🔴 StubMedium — engagement
20MercadoPago re-enableColectiva✅ Live (S33)High — payment coverage
21Self-serve SaaS revenueEcosystem⚠️ Gap🔴 CRITICAL — $0 digital
22Deal billing pipelinePatadas+Camino⚠️ GapHigh — managed service billing
23Referral attributionPatadas+Camino✅ Live (S43)Medium — growth tracking
24CPI blockchain anchoringColectiva✅ LiveMedium — investor trust
25Colectiva heartbeat fan-outColectiva✅ LiveHigh — 3 apps depend on it
26Delivery tracking tokensBaúl✅ LiveHigh — B2B demo value

Prioritized Action Queue

Based on revenue impact and implementation state:

  1. Test trial→upgrade loop end-to-end — flip SOFT_ENFORCE=false in staging, run a full trial signup → expiry → upgrade → tier unlock flow. Blocks all SaaS revenue. (Brillo-blocked)
  2. Re-enable MercadoPago — ✅ Fixed S33 (env var \n suffix bug)
  3. Wire Patadas→Agora contract generation — ✅ Done S42 (match acceptance → Agora ecosystem/projects)
  4. Wire Caracol→Colectiva for sale.completed — ✅ Done S42 (both POS and invoicing paths)
  5. Add fallback vercel.json crons to Agora, La Hoja, Servilleta — ✅ Done S45 (Agora + La Hoja; Servilleta already had crons)
  6. Activate Colectiva Brain UI — ✅ Done (UI live at /intelligence; data from all apps S45)
  7. Implement timesheet.approved + project.completed handlers in Colectiva — ✅ Done S44

Red Broom Software Ecosystem