{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=robpumpaf/hackernews-top-stories-local-digest@0.1.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/robpumpaf/hackernews-top-stories-local-digest@0.1.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/robpumpaf/hackernews-top-stories-local-digest@0.1.0","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/robpumpaf/hackernews-top-stories-local-digest@0.1.0 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Reads the Hacker News front page in a headless browser, fetches each top story's article with curl, and produces per-story summaries plus a themes-of-the-day synthesis using a local LM Studio model. Client-rendered pages are reported as unfetchable rather than guessed at.","distribution":{"digest":"sha256:925a5e09cb18b3e68f113a155f8d2eb1cb29ebbb9e1629332820f3a712e9a41d","mediaType":"application/vnd.modiqo.rote-flow","size":6455,"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/robpumpaf/hackernews-top-stories-local-digest@0.1.0","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/robpumpaf/hackernews-top-stories-local-digest@0.1.0","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/robpumpaf/hackernews-top-stories-local-digest@0.1.0.json"},"name":"hackernews-top-stories-local-digest","owner":{"kind":"user","slug":"robpumpaf"},"parameters":[{"default":5,"description":"How many top stories to digest. Counts only stories whose title links off-site.","input":{"allowCustom":true,"choices":[],"label":"Limit"},"name":"limit","required":false,"type":"integer"},{"default":"google/gemma-4-12b","description":"LM Studio model id, as reported by GET /v1/models on the local server.","input":{"allowCustom":true,"choices":[],"label":"Model"},"name":"model","required":false,"type":"string"},{"default":4000,"description":"Per-article cap on extracted characters sent to the local model.","input":{"allowCustom":true,"choices":[],"label":"Max chars"},"name":"max_chars","required":false,"type":"integer"},{"default":"https://news.ycombinator.com/","description":"Front page to read. Also accepts /best, /newest, or a /front?day=YYYY-MM-DD archive page.","input":{"allowCustom":true,"choices":[],"label":"Hn url"},"name":"hn_url","required":false,"type":"string"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/robpumpaf/hackernews-top-stories-local-digest@0.1.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/robpumpaf/hackernews-top-stories-local-digest@0.1.0","headlessCommandTemplate":"rote play run https://play.modiqo.ai/robpumpaf/hackernews-top-stories-local-digest@0.1.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.66.1"},"publishedAt":"2026-08-12T20:28:59.26584+00:00","reference":"robpumpaf/hackernews-top-stories-local-digest@0.1.0","requirements":{"adapters":[{"bindingStatus":"resolved","credentialDemand":{"requirements":[],"status":"not_required"},"displayName":"lmstudio","fingerprint":"mcp_2Xmj5v7hxDfD6Vx1Tx2kbMLfNLht","id":"lmstudio","purpose":"lmstudio adapter","requirement":"robpumpaf/lmstudio@1.0.0","version":"1.0.0"}],"browser":{"dependencies":[],"runtime":true,"signIn":false},"localTools":["deno","node","@playwright/mcp","python3","curl"],"roteCli":{"minimumVersion":"0.62.0"},"sessions":true},"resolution":"pinned","schema":"rote.play.v1","stats":{"downloads":4,"installs":0},"steps":{"count":6,"names":["fetch_articles","open_page","settle","story_links","summarize","themes"]},"title":"hackernews-top-stories-local-digest","type":"play","version":"0.1.0","visibility":"public"}