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
| Symbol | Meaning |
|---|---|
| ✅ Live | Built, deployed, receiving real data |
| 🟡 Partial | Built but limited data, admin-only, or UI not exposed |
| 🔴 Stub | Code exists, returns mock/placeholder data |
| ⚠️ Gap | Defined 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.jsoncron →GET /api/healthevery 30 min (commit d391d01) - La Hoja:
vercel.jsoncron →GET /api/cron/dispatcherevery 30 min; GET handler added acceptingAuthorization: Bearer CRON_SECRET(commit fab723d) - Servilleta: already had
expire-tasksandcheck-subscriptionsinvercel.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
| # | Capability | App | Status | Revenue Impact |
|---|---|---|---|---|
| 1 | CaminoAgent (40+ tools) | Camino | 🟡 Admin-only | High — powers daily automation |
| 2 | Deal Architect | Camino | 🟡 Admin-only | High — managed service closer |
| 3 | Colectiva Brain | Colectiva | ✅ Live (S45) | Medium — churn prevention |
| 4 | Oracle Insights | Camino | 🟡 API-only | High — pricing optimization live |
| 5 | AI Router | Camino | ✅ Live | Low — infrastructure |
| 6 | Fiscal Optimizer AI | Constanza | ✅ Live (S45) | Medium — upsell trigger |
| 7 | Ghost Timer HITL | Agora | ✅ Live | High — billing accuracy |
| 8 | Workflow Engine | Camino | 🟡 No UI | High — automation unlocked |
| 9 | Trial→Upgrade Loop | Camino | 🟡 Untested | 🔴 CRITICAL — $0 SaaS revenue |
| 10 | Ecosocialismo distributions | Colectiva | ✅ Live | Medium — investor experience |
| 11 | Campaign auto-enrollment | Camino | ✅ Live | Medium — conversion rates |
| 12 | Recurring delivery gen | Baúl | ✅ Live | High — Panache operations |
| 13 | Patadas→Agora contracts | Patadas | ✅ Live (S42) | High — marketplace friction |
| 14 | Caracol→Colectiva revenue | Caracol | ✅ Live (S42) | High — revenue not captured |
| 15 | Timesheet analytics | Patadas/Colectiva | 🟡 Analytics only (S44) | High — escrow still manual |
| 16 | Project completion analytics | Patadas/Colectiva | 🟡 Analytics only (S44) | High — escrow still manual |
| 17 | Brain cross-app data | Colectiva | 🟡 ~80% (S45) | Medium — La Hoja gap remaining |
| 18 | RFC validation (live) | Constanza | 🔴 Stub | Low — UX polish |
| 19 | SMS/Push/WhatsApp dispatch | Camino | 🔴 Stub | Medium — engagement |
| 20 | MercadoPago re-enable | Colectiva | ✅ Live (S33) | High — payment coverage |
| 21 | Self-serve SaaS revenue | Ecosystem | ⚠️ Gap | 🔴 CRITICAL — $0 digital |
| 22 | Deal billing pipeline | Patadas+Camino | ⚠️ Gap | High — managed service billing |
| 23 | Referral attribution | Patadas+Camino | ✅ Live (S43) | Medium — growth tracking |
| 24 | CPI blockchain anchoring | Colectiva | ✅ Live | Medium — investor trust |
| 25 | Colectiva heartbeat fan-out | Colectiva | ✅ Live | High — 3 apps depend on it |
| 26 | Delivery tracking tokens | Baúl | ✅ Live | High — B2B demo value |
Prioritized Action Queue
Based on revenue impact and implementation state:
- Test trial→upgrade loop end-to-end — flip
SOFT_ENFORCE=falsein staging, run a full trial signup → expiry → upgrade → tier unlock flow. Blocks all SaaS revenue. (Brillo-blocked) Re-enable MercadoPago— ✅ Fixed S33 (env var\nsuffix bug)Wire Patadas→Agora contract generation— ✅ Done S42 (match acceptance → Agora ecosystem/projects)Wire Caracol→Colectiva for— ✅ Done S42 (both POS and invoicing paths)sale.completedAdd fallback vercel.json crons to Agora, La Hoja, Servilleta— ✅ Done S45 (Agora + La Hoja; Servilleta already had crons)Activate Colectiva Brain UI— ✅ Done (UI live at /intelligence; data from all apps S45)Implement— ✅ Done S44timesheet.approved+project.completedhandlers in Colectiva