{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=aryangorde/reviewer-finder@0.1.10","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/aryangorde/reviewer-finder@0.1.10","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/aryangorde/reviewer-finder@0.1.10","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/aryangorde/reviewer-finder@0.1.10 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Assigning a reviewer is a guess unless you know who has touched the code. GitHub will not tell you: a pull request lists who was requested, never whether they edited these files, and CODEOWNERS answers a different question: who owns a path by policy, not who still has context. The obvious substitute, ranking by commit count on the changed files, is worse than nothing: on a recent kubernetes pull request the top three committers were a CI bot, the author, and another bot. This play drops lockfiles and generated paths so dependency bumps stop impersonating expertise, then ranks people by how much of THIS change they touched, not their commits anywhere. Bots are excluded, and name-heuristic drops are listed so a misjudged human stays visible. Cold expertise is flagged with its age, single-owner files as bus-factor risk, and requested reviewers are compared against what they touched — never called wrong. It reads commit authorship only, cannot follow renames, and says so. Read-only, no API key beyond gh.","distribution":{"digest":"sha256:8ba4917ff43527a6d268ac7cbc211c62fb4ffbdf43070db5f76fcfec013e6b99","mediaType":"application/vnd.modiqo.rote-flow","size":10954,"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/aryangorde/reviewer-finder@0.1.10","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/aryangorde/reviewer-finder@0.1.10","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/aryangorde/reviewer-finder@0.1.10.json"},"name":"reviewer-finder","owner":{"kind":"user","slug":"aryangorde"},"parameters":[{"description":"Repository as owner/name, or a pull request URL, which carries the number with it","example":"kubernetes/kubernetes","input":{"allowCustom":true,"choices":[],"label":"Repo"},"name":"repo","required":true,"type":"string"},{"default":0,"description":"Pull request number; omit only when repo already carries one","input":{"allowCustom":true,"choices":[],"label":"Pr"},"name":"pr","required":false,"type":"number"},{"default":30,"description":"Commits sampled per changed file","input":{"allowCustom":true,"choices":[],"label":"History"},"name":"history","required":false,"type":"number"},{"default":40,"description":"Cap on how many changed files are sampled","input":{"allowCustom":true,"choices":[],"label":"Max files"},"name":"max_files","required":false,"type":"number"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/aryangorde/reviewer-finder@0.1.10 --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/aryangorde/reviewer-finder@0.1.10","headlessCommandTemplate":"rote play run https://play.modiqo.ai/aryangorde/reviewer-finder@0.1.10 <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-04T14:23:22.458121+00:00","reference":"aryangorde/reviewer-finder@0.1.10","requirements":{"adapters":[],"browser":{"dependencies":[],"runtime":false,"signIn":false},"localTools":["gh","bash","sleep","sh","sed"],"roteCli":{"minimumVersion":"0.62.0"},"sessions":false},"resolution":"pinned","schema":"rote.play.v1","stats":{"downloads":2,"installs":0},"steps":{"count":5,"names":["changed_paths","norm_pr","norm_repo","path_history","pull_request"]},"title":"reviewer-finder","type":"play","version":"0.1.10","visibility":"public"}