{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=himanshu-jha/first-visit-cost@0.2.0","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/himanshu-jha/first-visit-cost@0.2.0","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/himanshu-jha/first-visit-cost@0.2.0","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/himanshu-jha/first-visit-cost@0.2.0 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Tells you what a stranger downloads, and how long they wait before your page is usable, measured from the built files rather than guessed. On its first real run it found a 1.3 MB PNG sitting beside a 42 KB WebP of the exact same 1448 by 1086 pixels, which is the kind of finding it exists for: the smaller file is already in the build, so the saving is measured rather than estimated. Four probes run as parallel DAG steps over your build output. A byte census gzips every text file for real instead of assuming a compression ratio, because that ratio varies by an order of magnitude between minified JavaScript and an already-compressed font. Image headers are decoded to intrinsic pixel size and compared against the display size the HTML declares. The render-blocking chain is walked to its depth in serialized round trips, since on a high-latency link the number of trips costs more than the bytes. Every third-party origin that has to answer before your page can paint is listed. One join turns all four into a first-pa","distribution":{"digest":"sha256:c17a2620ba63b8f0191a338dffba26b6e88b7bf5d6f738a078c67c15ae20a2f4","mediaType":"application/vnd.modiqo.rote-flow","size":569501,"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/himanshu-jha/first-visit-cost@0.2.0","inputPolicy":{"optionalWithDefault":"show_default_and_accept_override","optionalWithoutDefault":"omit_unless_supplied","required":"ask","secrets":"collect_locally_outside_conversation"},"license":"MIT","links":{"docs":"https://rote.dev","page":"https://play.modiqo.ai/himanshu-jha/first-visit-cost@0.2.0","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/himanshu-jha/first-visit-cost@0.2.0.json"},"name":"first-visit-cost","owner":{"kind":"org","slug":"himanshu-jha"},"parameters":[{"description":"Absolute path to the project or to its build output. Leave it out and the most recently built page under your usual project directories is weighed, with the report naming which one it chose; when this machine has no build at all, the bundled demo build is weighed and the report says so in its first line. A relative path is never right here: steps run in the play run workspace, not your shell, so it resolves somewhere you did not mean.","example":"/Users/you/project","input":{"allowCustom":true,"choices":[],"label":"Path"},"name":"path","required":false,"type":"string"},{"default":"fast-3g","description":"Which network to price the visit on: slow-3g, fast-3g, 4g or cable. The throughput and latency behind each are printed in the report, because they are a stated model rather than a measurement.","example":"fast-3g","input":{"allowCustom":true,"choices":[],"label":"Connection"},"name":"connection","required":false,"type":"string"},{"default":"0","description":"Flag when measured reachable bytes exceed this many kilobytes. Zero disables the comparison. An incomplete below-budget reading is never reported as a pass.","example":"500","input":{"allowCustom":true,"choices":[],"label":"Budget kb"},"name":"budget_kb","required":false,"type":"string"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/himanshu-jha/first-visit-cost@0.2.0 --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/himanshu-jha/first-visit-cost@0.2.0","headlessCommandTemplate":"rote play run https://play.modiqo.ai/himanshu-jha/first-visit-cost@0.2.0 <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.78.0"},"publishedAt":"2026-09-04T13:46:28.706028+00:00","reference":"himanshu-jha/first-visit-cost@0.2.0","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":2,"installs":0},"steps":{"count":6,"names":["blocking","budget","images","origins","validate","weigh"]},"title":"first-visit-cost","type":"play","version":"0.2.0","visibility":"public"}