{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=sai0000/wsl-toolchain-doctor@0.2.2","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/sai0000/wsl-toolchain-doctor@0.2.2","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/sai0000/wsl-toolchain-doctor@0.2.2","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/sai0000/wsl-toolchain-doctor@0.2.2 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Answers one question on a WSL machine: which of the commands you type are not the program you think they are. Windows directories are appended to the Linux PATH by default and interop makes Windows executables reachable, so three unrelated failures look identical in a terminal and only one of them is shadowing. A command can resolve to an extensionless Windows shim and run as a Windows program with Windows path semantics, which is why docker with a bind mount hands a Windows client a Linux path it cannot see. A command can fail to resolve at all while its .exe sits on PATH, so the shell reports command not found about a tool that is plainly installed. Or it can be a symlink into /mnt/wsl left by a Docker Desktop style integration, which fills that path only while it is running: the directory listing shows the tool, running it finds nothing, and a Windows copy further down PATH silently takes over. Separating those three is the point, because the fix for each is different. It names the exact winning path and w","distribution":{"digest":"sha256:aa6c473343921cf5f96928970e4f7384d89547717ad2970264e744e0267889e7","mediaType":"application/vnd.modiqo.rote-flow","size":15407,"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/sai0000/wsl-toolchain-doctor@0.2.2","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/sai0000/wsl-toolchain-doctor@0.2.2","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/sai0000/wsl-toolchain-doctor@0.2.2.json"},"name":"wsl-toolchain-doctor","owner":{"kind":"user","slug":"sai0000"},"parameters":[{"description":"Optional comma-separated extra command names to check, for example poetry,rbenv,deno. The built-in watchlist already covers the common toolchain.","input":{"allowCustom":true,"choices":[],"label":"Commands"},"name":"commands","required":false,"type":"string"},{"description":"A PATH string to inspect instead of this shell's own. Paste the PATH from a login shell, an editor terminal, or a CI runner to ask the question about that environment rather than this one.","input":{"allowCustom":true,"choices":[],"label":"Path override"},"name":"path_override","required":false,"type":"string"},{"default":"text","description":"text for the human briefing, json for a machine-readable report suitable for piping into other tooling.","input":{"allowCustom":false,"choices":[{"label":"text","value":"text"},{"label":"json","value":"json"}],"label":"Format"},"name":"format","required":false,"type":"string","validValues":["text","json"]},{"default":"info","description":"Lowest severity to report. Counts always cover every severity, so filtering never makes an unchecked machine look clean.","input":{"allowCustom":false,"choices":[{"label":"high","value":"high"},{"label":"medium","value":"medium"},{"label":"low","value":"low"},{"label":"info","value":"info"}],"label":"Min severity"},"name":"min_severity","required":false,"type":"string","validValues":["high","medium","low","info"]}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/sai0000/wsl-toolchain-doctor@0.2.2 --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/sai0000/wsl-toolchain-doctor@0.2.2","headlessCommandTemplate":"rote play run https://play.modiqo.ai/sai0000/wsl-toolchain-doctor@0.2.2 <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-04T15:59:20.641609+00:00","reference":"sai0000/wsl-toolchain-doctor@0.2.2","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":3,"installs":0},"steps":{"count":4,"names":["detect_platform","read_configuration","render_briefing","resolve_commands"]},"title":"wsl-toolchain-doctor","type":"play","version":"0.2.2","visibility":"public"}