{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=karan68/invisible-diff@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/karan68/invisible-diff@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/karan68/invisible-diff@0.1.0","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/karan68/invisible-diff@0.1.0 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Reviews only added Git source lines for directional controls, invisible identifier characters, normalization collisions, and high-confidence mixed-script lookalikes. Returns CLEAN, REVIEW, BLOCK, or INCOMPLETE with escaped path-line evidence. Run with no arguments for a deterministic demo.","distribution":{"digest":"sha256:6b9df007b41042323fab7a102930cc7f57658e289a73e0705b361f03c86b4d8e","mediaType":"application/vnd.modiqo.rote-flow","size":20302,"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/karan68/invisible-diff@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/karan68/invisible-diff@0.1.0","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/karan68/invisible-diff@0.1.0.json"},"name":"invisible-diff","owner":{"kind":"user","slug":"karan68"},"parameters":[{"default":"demo","description":"demo uses bundled evidence; staged scans the index; working-tree includes tracked and untracked changes; range compares two local refs","input":{"allowCustom":false,"choices":[{"label":"demo","value":"demo"},{"label":"staged","value":"staged"},{"label":"working-tree","value":"working-tree"},{"label":"range","value":"range"}],"label":"Mode"},"name":"mode","required":false,"type":"string","validValues":["demo","staged","working-tree","range"]},{"description":"Absolute local Git repository path; required outside demo mode","input":{"allowCustom":true,"choices":[],"label":"Repo path"},"name":"repo_path","required":false,"type":"string"},{"description":"Local base commit or ref; required only in range mode","input":{"allowCustom":true,"choices":[],"label":"Base ref"},"name":"base_ref","required":false,"type":"string"},{"default":"HEAD","description":"Local head commit or ref resolved before scanning","input":{"allowCustom":true,"choices":[],"label":"Head ref"},"name":"head_ref","required":false,"type":"string"},{"default":25,"description":"Maximum findings rendered and returned, from 1 through 50; verdict counts use the full set","input":{"allowCustom":true,"choices":[],"label":"Max findings"},"name":"max_findings","required":false,"type":"integer"}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/karan68/invisible-diff@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/karan68/invisible-diff@0.1.0","headlessCommandTemplate":"rote play run https://play.modiqo.ai/karan68/invisible-diff@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.78.0"},"publishedAt":"2026-09-02T17:13:26.145576+00:00","reference":"karan68/invisible-diff@0.1.0","requirements":{"adapters":[],"browser":{"dependencies":[],"runtime":false,"signIn":false},"localTools":["python3","git"],"roteCli":{"minimumVersion":"0.62.0"},"sessions":false},"resolution":"pinned","schema":"rote.play.v1","stats":{"downloads":2,"installs":0},"steps":{"count":8,"names":["adjudicate","collect_changes","finalize","prepare_scan","scan_confusables","scan_controls","scan_normalization","verify_source"]},"title":"invisible-diff","type":"play","version":"0.1.0","visibility":"public"}