# Surf, Bike or Skate You have three free hours. Should you surf, skate, bike, or just stay and work? Eight coordinating agents (Coordinator, Calendar, Conditions, Mobility, Surf, Skate, Bike, Stay & Work) each evaluate one slice of that and reconcile into a single recommendation. Honest status: the coordination is real — eight separate processes with their own cryptographic identities exchanging signed messages over a Cotal mesh. The weather, tide and traffic inputs are still fixtures (conditions.ts and mobility.ts both report source: "mock"). Wiring the live data sources is Phase 2. Agent manifest (A2A v1.0 AgentCard): https://agentnativesurfskate.vercel.app/.well-known/agent.json ## How to call it 1. Get a token. No auth, no human approval, no signup. POST https://agentnativesurfskate.vercel.app/credential -> {"access_token": "...", "token_type": "bearer", "expires_in": 1800} 2. Ask for a recommendation. POST https://agentnativesurfskate.vercel.app/find_activity Authorization: Bearer {"available_window": {"start": "", "end": ""}, "user_location": {"lat": 37.7749, "lon": -122.4194}, "preferences": {"activities": ["surf", "skate", "bike", "stay"]}} -> activity, score, destination{name,lat,lon}, leaveAt, travelMinutes, usableMinutes, returnConfidence, alternative{activity,score,why}, source ## Is the answer live? Read "source" in the response body, or the x-sos-source response header. "cotal-fleet" / "live" = a fresh multi-agent run just happened. "fixture" = the fleet was unreachable and you got a replayed Decision.