{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=dezloper/tokens-saved@0.1.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/dezloper/tokens-saved@0.1.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/dezloper/tokens-saved@0.1.1","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/dezloper/tokens-saved@0.1.1 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Shows real, measured token numbers -- never a fabricated \"tokens saved\" figure. Two hard facts: (1) prompt-cache savings across every real Claude Code session on this machine -- cache_read_input_tokens is tokens that were served from cache instead of freshly reprocessed, a directly measured number, no guessing; (2) the real token cost of what every rote play-run workspace's own steps processed internally (from rote's own archive, read via the duckdb Python package against the parquet files directly -- no DuckDB CLI required), broken down per play with call/run counts so it is never mistaken for a single-run cost. On top of those two measured facts it shows a live compression example: how many raw tokens THIS play's own steps just processed, versus how few tokens its own final human-readable report actually costs to read -- a genuine, reproducible, measured ratio computed fresh every run, not a historical claim. An AI narrates what the numbers mean in plain words, but is explicitly told never to invent or esti","distribution":{"digest":"sha256:749df2af7a751f927d071c7a7b17c4eeb0966dd67256ea4428b82810244a6ea0","mediaType":"application/vnd.modiqo.rote-flow","size":10512,"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/dezloper/tokens-saved@0.1.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/dezloper/tokens-saved@0.1.1","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/dezloper/tokens-saved@0.1.1.json"},"name":"tokens-saved","owner":{"kind":"user","slug":"dezloper"},"parameters":[{"default":"120","description":"Wall-clock budget for the assistant to narrate the already-measured numbers.","input":{"allowCustom":true,"choices":[],"label":"Timeout seconds"},"name":"timeout_seconds","required":false,"type":"string"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/dezloper/tokens-saved@0.1.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/dezloper/tokens-saved@0.1.1","headlessCommandTemplate":"rote play run https://play.modiqo.ai/dezloper/tokens-saved@0.1.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.79.0"},"publishedAt":"2026-09-04T10:28:27.12018+00:00","reference":"dezloper/tokens-saved@0.1.1","requirements":{"adapters":[],"browser":{"dependencies":[],"runtime":false,"signIn":false},"localTools":["python3"],"roteCli":{"minimumVersion":"0.62.0"},"sessions":false},"resolution":"pinned","schema":"rote.play.v1","stats":{"downloads":1,"installs":0},"steps":{"count":4,"names":["measure_cache_savings","measure_play_archive_cost","narrate","survey_assistant"]},"title":"tokens-saved","type":"play","version":"0.1.1","visibility":"public"}