{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=modiqo/friction-free-city-micro-adventure@0.0.1","method":"GET","rel":"https://rote.dev/rels/bootstrap-and-run","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"inspect":{"command":"rote play inspect https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1","effect":"read-only"},"installCliOnly":{"effect":"installs the rote CLI, nothing else","href":"https://play.modiqo.ai/install","method":"GET","rel":"https://rote.dev/rels/install-cli","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"run":{"command":"rote play run https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Builds a realistic low-friction micro-itinerary for a city from available time, budget, mobility, weather tolerance and interests. Resolves the city, reads live forecast and air quality, ranks candidate venues by geodesic travel feasibility, verifies venue pages in a browser, and reports a scheduled plan with budget totals.","distribution":{"digest":"sha256:3207493607bbb87df4c3ffdd36349597c996f31175450815ee300946956fdc62","mediaType":"application/vnd.modiqo.rote-flow","size":40172,"verifiedBy":"rote verifies the downloaded archive against this digest before it runs"},"effects":{"credentialsProvidedBy":"runner","credentialsRemainLocal":true,"declaredWrites":[],"publisherReceivesCredentials":false},"id":"https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1","inputPolicy":{"optionalWithDefault":"show_default_and_accept_override","optionalWithoutDefault":"omit_unless_supplied","required":"ask","secrets":"collect_locally_outside_conversation"},"links":{"docs":"https://rote.dev","page":"https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1.json"},"name":"friction-free-city-micro-adventure","owner":{"kind":"org","slug":"modiqo"},"parameters":[{"description":"City to explore, for example Lisbon or Amsterdam","input":{"allowCustom":true,"choices":[],"label":"City"},"name":"city","required":true,"type":"string"},{"description":"Total time available in minutes, door to door","input":{"allowCustom":true,"choices":[],"label":"Minutes"},"name":"minutes","required":true,"type":"integer"},{"default":"0","description":"Maximum spend per person, decimals allowed; 0 means no cap","input":{"allowCustom":true,"choices":[],"label":"Budget"},"name":"budget","required":false,"type":"string"},{"default":"EUR","description":"ISO currency code used for budget totals","input":{"allowCustom":true,"choices":[],"label":"Currency"},"name":"currency","required":false,"type":"string"},{"default":"walk","description":"Movement between stops - walk, wheelchair, bike or transit","input":{"allowCustom":true,"choices":[],"label":"Mobility"},"name":"mobility","required":false,"type":"string"},{"default":"medium","description":"Tolerance for rain, heat and cold - low, medium or high","input":{"allowCustom":true,"choices":[],"label":"Weather tolerance"},"name":"weather_tolerance","required":false,"type":"string"},{"description":"Comma-separated interest tags such as art,coffee,viewpoint; empty means no interest filter","input":{"allowCustom":true,"choices":[],"label":"Interests"},"name":"interests","required":false,"type":"string"},{"description":"Local start time as HH:MM; empty means the next full hour in the city","input":{"allowCustom":true,"choices":[],"label":"Start time"},"name":"start_time","required":false,"type":"string"},{"description":"Local date as YYYY-MM-DD; empty means today in the city timezone","input":{"allowCustom":true,"choices":[],"label":"Date"},"name":"date","required":false,"type":"string"},{"default":4,"description":"Maximum number of stops in the itinerary","input":{"allowCustom":true,"choices":[],"label":"Max stops"},"name":"max_stops","required":false,"type":"integer"},{"default":2,"description":"How many venue pages to verify in the browser, 0 to 3","input":{"allowCustom":true,"choices":[],"label":"Verify limit"},"name":"verify_limit","required":false,"type":"integer"},{"description":"Absolute path to a venue catalogue JSON; empty uses the packaged catalogue","input":{"allowCustom":true,"choices":[],"label":"Catalog"},"name":"catalog","required":false,"type":"string"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1 --json","effect":"read-only"},"step":1,"type":"inspect_local_readiness"},{"references":["/parameters"],"step":2,"type":"collect_parameters"},{"references":["/parameters","/requirements","/effects"],"step":3,"type":"review"},{"consentBoundary":"the user approves the exact play and parameter values","references":["/parameters","/requirements","/effects"],"step":4,"type":"obtain_run_consent"},{"action":{"command":"rote play run https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1","headlessCommandTemplate":"rote play run https://play.modiqo.ai/modiqo/friction-free-city-micro-adventure@0.0.1 <name=value...> --yes"},"preservesAcquisitionBoundaries":["adapter_selection","oauth_dcr","google_discovery","static_token_setup","runtime_security_checks"],"requiresConsent":true,"step":5,"type":"run"}],"producedBy":{"roteVersion":"0.69.1"},"publishedAt":"2026-08-19T12:22:30.118338+00:00","reference":"modiqo/friction-free-city-micro-adventure@0.0.1","requirements":{"adapters":[{"bindingStatus":"resolved","credentialDemand":{"requirements":[],"status":"not_required"},"displayName":"Open-Meteo","fingerprint":"mcp_2YgsU84PjXRHyP7ALsx5a5QE2FBy","id":"open-meteo","purpose":"open-meteo adapter","requirement":"modiqo/open-meteo@1.0.0","version":"1.0.0"},{"bindingStatus":"resolved","credentialDemand":{"requirements":[],"status":"not_required"},"displayName":"open-meteo-air-quality","fingerprint":"mcp_3tECNj8HnPSaQVYNV1G9NsGjtGvG","id":"open-meteo-air-quality","purpose":"open-meteo-air-quality adapter","requirement":"modiqo/open-meteo-air-quality@1.0.0","version":"1.0.0"},{"bindingStatus":"resolved","credentialDemand":{"requirements":[],"status":"not_required"},"displayName":"open-meteo-elevation","fingerprint":"mcp_2mVDJWmFUDeY87GWyaGA1LNQ77d9","id":"open-meteo-elevation","purpose":"open-meteo-elevation adapter","requirement":"modiqo/open-meteo-elevation@1.0.0","version":"1.0.0"},{"bindingStatus":"resolved","credentialDemand":{"requirements":[],"status":"not_required"},"displayName":"open-meteo-geocoding","fingerprint":"mcp_3JXYNSxiPQYoAEy37jwsDonpenSW","id":"open-meteo-geocoding","purpose":"open-meteo-geocoding adapter","requirement":"modiqo/open-meteo-geocoding@1.0.0","version":"1.0.0"}],"browser":{"dependencies":[],"runtime":true,"signIn":false},"localTools":["deno","node","@playwright/mcp","python3","node"],"roteCli":{"minimumVersion":"0.62.0"},"sessions":true},"resolution":"pinned","schema":"rote.play.v1","stats":{"downloads":3,"installs":0},"steps":{"count":18,"names":["air_quality","elevations","forecast","plan","reachable","resolve_city","verify1_headings","verify1_links","verify1_open","verify1_wait","verify2_headings","verify2_links","verify2_open","verify2_wait","verify3_headings","verify3_links","verify3_open","verify3_wait"]},"title":"friction-free-city-micro-adventure","type":"play","version":"0.0.1","visibility":"public"}